summaryrefslogtreecommitdiff
path: root/src/mainboard/google/rush/devicetree.cb
blob: 659de000fd019060e2293c0a26bd5c95f6762e5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
##
## This file is part of the coreboot project.
##
## Copyright 2015 Google Inc.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc.
##

chip soc/nvidia/tegra132
	register  "spintable_addr" = "0x80000008"

	device cpu_cluster 0 on
		device cpu 0 on end
		device cpu 1 on end
	end

	register "display_controller" = "TEGRA_ARM_DISPLAYA"
	register "xres" = "1366"
	register "yres" = "768"

	# framebuffer resolution
	register "display_xres" = "1368"
	register "display_yres" = "678"

	# bits per pixel and color depth
	register "framebuffer_bits_per_pixel" = "16"
	register "color_depth" = "6"

	register "panel_bits_per_pixel" = "18"

# How to compute these: xrandr --verbose will give you this:
#Detailed mode: Clock 285.250 MHz, 272 mm x 181 mm
#               2560 2608 2640 2720 hborder 0
#               1700 1703 1713 1749 vborder 0
#Then you can compute your values:
#H front porch = 2608 - 2560 = 48
#H sync = 2640 - 2608 = 32
#H back porch = 2720 - 2640 = 80
#V front porch = 1703 - 1700 = 3
#V sync = 1713 - 1703 = 10
#V back porch = 1749 - 1713 = 36
#href_to_sync and vref_to_sync are from the vendor
#this is just an example for a Pixel panel; other panels differ.
# Here is a peppy panel:
#  1366x768 (0x45)   76.4MHz -HSync -VSync *current +preferred
#        h: width  1366 start 1502 end 1532 total 1592
#        v: height  768 start  776 end  788 total  800
	register "href_to_sync" = "1"
	register "hfront_porch" = "136"
	register "hsync_width" = "30"
	register "hback_porch" = "60"

	register "vref_to_sync" = "1"
	register "vfront_porch" = "8"
	register "vsync_width" = "12"
	register "vback_porch" = "12"

	register "pixel_clock" = "76400000"

	register "win_opt" = "SOR_ENABLE"

	#
	# dp specific fields
	#
	register "dp.pwm" = "1"

	# various panel delay time
	register "dp.vdd_to_hpd_delay_ms" = "200"
	register "dp.hpd_unplug_min_us" = "2000"
	register "dp.hpd_plug_min_us" = "250"
	register "dp.hpd_irq_min_us" = "250"

	# link configurations
	register "dp.lane_count" = "1"
	register "dp.enhanced_framing" = "1"
	register "dp.link_bw" = "10"
	# "10" is defined as SOR_LINK_SPEED_G2_7 in sor.h

	register "dp.drive_current" = "0x40404040"
	register "dp.preemphasis" = "0x0f0f0f0f"
	register "dp.postcursor" = "0"
end