mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 00:48:52 +09:00
![Allen Martin](/assets/img/avatar_default.png)
Nyan-big is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard cd and wp sense are flipped, and it has a different revision of the AS3722 PMIC. This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA Tegra K1, 2GB). The display is not currently supported, so it should boot on other nyan-based Chromebooks also, but only the device tree for nyan-big is provided here. The device tree file is from Linux but with features removed which are unlikely to be supported in U-Boot soon (regulators, pinmux). Also the addresses are updated to 32-bit. Signed-off-by: Allen Martin <amartin@nvidia.com> Signed-off-by: Simon Glass <sjg@chromium.org> (rebase, change to 'nyan-big', fix pinmux that resets nyan-big)
366 lines
7.3 KiB
Plaintext
366 lines
7.3 KiB
Plaintext
/dts-v1/;
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
#include "tegra124.dtsi"
|
|
|
|
/ {
|
|
model = "Acer Chromebook 13 CB5-311";
|
|
compatible = "google,nyan-big", "nvidia,tegra124";
|
|
|
|
aliases {
|
|
console = &uarta;
|
|
i2c0 = "/i2c@7000d000";
|
|
i2c1 = "/i2c@7000c000";
|
|
i2c2 = "/i2c@7000c400";
|
|
i2c3 = "/i2c@7000c500";
|
|
i2c4 = "/i2c@7000c700";
|
|
i2c5 = "/i2c@7000d100";
|
|
rtc0 = "/i2c@0,7000d000/pmic@40";
|
|
rtc1 = "/rtc@0,7000e000";
|
|
sdhci0 = "/sdhci@700b0600";
|
|
sdhci1 = "/sdhci@700b0400";
|
|
spi0 = "/spi@7000d400";
|
|
spi1 = "/spi@7000da00";
|
|
usb0 = "/usb@7d000000";
|
|
usb1 = "/usb@7d008000";
|
|
};
|
|
|
|
memory {
|
|
reg = <0x80000000 0x80000000>;
|
|
};
|
|
|
|
serial@70006000 {
|
|
/* Debug connector on the bottom of the board near SD card. */
|
|
status = "okay";
|
|
};
|
|
|
|
pwm@7000a000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@7000c000 {
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
|
|
acodec: audio-codec@10 {
|
|
compatible = "maxim,max98090";
|
|
reg = <0x10>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
temperature-sensor@4c {
|
|
compatible = "ti,tmp451";
|
|
reg = <0x4c>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
};
|
|
|
|
i2c@7000c400 {
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
i2c@7000c500 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
tpm@20 {
|
|
compatible = "infineon,slb9645tt";
|
|
reg = <0x20>;
|
|
};
|
|
};
|
|
|
|
hdmi_ddc: i2c@7000c700 {
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
i2c@7000d000 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
pmic: pmic@40 {
|
|
compatible = "ams,as3722";
|
|
reg = <0x40>;
|
|
interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
ams,system-power-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&as3722_default>;
|
|
|
|
as3722_default: pinmux {
|
|
gpio0 {
|
|
pins = "gpio0";
|
|
function = "gpio";
|
|
bias-pull-down;
|
|
};
|
|
|
|
gpio1 {
|
|
pins = "gpio1";
|
|
function = "gpio";
|
|
bias-pull-up;
|
|
};
|
|
|
|
gpio2_4_7 {
|
|
pins = "gpio2", "gpio4", "gpio7";
|
|
function = "gpio";
|
|
bias-pull-up;
|
|
};
|
|
|
|
gpio3_6 {
|
|
pins = "gpio3", "gpio6";
|
|
bias-high-impedance;
|
|
};
|
|
|
|
gpio5 {
|
|
pins = "gpio5";
|
|
function = "clk32k-out";
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
spi@7000d400 {
|
|
status = "okay";
|
|
|
|
cros_ec: cros-ec@0 {
|
|
compatible = "google,cros-ec-spi";
|
|
spi-max-frequency = <3000000>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
|
|
reg = <0>;
|
|
|
|
google,cros-ec-spi-msg-delay = <2000>;
|
|
|
|
i2c-tunnel {
|
|
compatible = "google,cros-ec-i2c-tunnel";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
google,remote-bus = <0>;
|
|
|
|
charger: bq24735@9 {
|
|
compatible = "ti,bq24735";
|
|
reg = <0x9>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <TEGRA_GPIO(J, 0)
|
|
GPIO_ACTIVE_HIGH>;
|
|
ti,ac-detect-gpios = <&gpio
|
|
TEGRA_GPIO(J, 0)
|
|
GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
battery: sbs-battery@b {
|
|
compatible = "sbs,sbs-battery";
|
|
reg = <0xb>;
|
|
sbs,i2c-retry-count = <2>;
|
|
sbs,poll-retry-count = <10>;
|
|
power-supplies = <&charger>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
spi@7000da00 {
|
|
status = "okay";
|
|
spi-max-frequency = <25000000>;
|
|
|
|
flash@0 {
|
|
compatible = "winbond,w25q32dw";
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
pmc@7000e400 {
|
|
nvidia,invert-interrupt;
|
|
nvidia,suspend-mode = <0>;
|
|
nvidia,cpu-pwr-good-time = <500>;
|
|
nvidia,cpu-pwr-off-time = <300>;
|
|
nvidia,core-pwr-good-time = <641 3845>;
|
|
nvidia,core-pwr-off-time = <61036>;
|
|
nvidia,core-power-req-active-high;
|
|
nvidia,sys-clock-req-active-high;
|
|
};
|
|
|
|
hda@70030000 {
|
|
status = "okay";
|
|
};
|
|
|
|
sdhci@700b0000 { /* WiFi/BT on this bus */
|
|
status = "okay";
|
|
power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>;
|
|
bus-width = <4>;
|
|
no-1-8-v;
|
|
non-removable;
|
|
};
|
|
|
|
sdhci@700b0400 { /* SD Card on this bus */
|
|
status = "okay";
|
|
cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
|
|
power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
|
|
wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
|
|
bus-width = <4>;
|
|
no-1-8-v;
|
|
};
|
|
|
|
sdhci@700b0600 { /* eMMC on this bus */
|
|
status = "okay";
|
|
bus-width = <8>;
|
|
no-1-8-v;
|
|
non-removable;
|
|
};
|
|
|
|
ahub@70300000 {
|
|
i2s@70301100 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
usb@7d000000 { /* Rear external USB port. */
|
|
status = "okay";
|
|
};
|
|
|
|
usb-phy@7d000000 {
|
|
status = "okay";
|
|
};
|
|
|
|
usb@7d004000 { /* Internal webcam. */
|
|
status = "okay";
|
|
};
|
|
|
|
usb-phy@7d004000 {
|
|
status = "okay";
|
|
};
|
|
|
|
usb@7d008000 { /* Left external USB port. */
|
|
status = "okay";
|
|
};
|
|
|
|
usb-phy@7d008000 {
|
|
status = "okay";
|
|
};
|
|
|
|
backlight: backlight {
|
|
compatible = "pwm-backlight";
|
|
|
|
enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
|
|
pwms = <&pwm 1 1000000>;
|
|
|
|
default-brightness-level = <224>;
|
|
brightness-levels =
|
|
< 0 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 94 95
|
|
96 97 98 99 100 101 102 103
|
|
104 105 106 107 108 109 110 111
|
|
112 113 114 115 116 117 118 119
|
|
120 121 122 123 124 125 126 127
|
|
128 129 130 131 132 133 134 135
|
|
136 137 138 139 140 141 142 143
|
|
144 145 146 147 148 149 150 151
|
|
152 153 154 155 156 157 158 159
|
|
160 161 162 163 164 165 166 167
|
|
168 169 170 171 172 173 174 175
|
|
176 177 178 179 180 181 182 183
|
|
184 185 186 187 188 189 190 191
|
|
192 193 194 195 196 197 198 199
|
|
200 201 202 203 204 205 206 207
|
|
208 209 210 211 212 213 214 215
|
|
216 217 218 219 220 221 222 223
|
|
224 225 226 227 228 229 230 231
|
|
232 233 234 235 236 237 238 239
|
|
240 241 242 243 244 245 246 247
|
|
248 249 250 251 252 253 254 255
|
|
256>;
|
|
};
|
|
|
|
clocks {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
clk32k_in: clock@0 {
|
|
compatible = "fixed-clock";
|
|
reg = <0>;
|
|
#clock-cells = <0>;
|
|
clock-frequency = <32768>;
|
|
};
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
lid {
|
|
label = "Lid";
|
|
gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
|
|
linux,input-type = <5>;
|
|
linux,code = <KEY_RESERVED>;
|
|
debounce-interval = <1>;
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
power {
|
|
label = "Power";
|
|
gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_POWER>;
|
|
debounce-interval = <30>;
|
|
gpio-key,wakeup;
|
|
};
|
|
};
|
|
|
|
panel: panel {
|
|
compatible = "auo,b133xtn01";
|
|
|
|
backlight = <&backlight>;
|
|
};
|
|
|
|
sound {
|
|
compatible = "nvidia,tegra-audio-max98090-nyan-big",
|
|
"nvidia,tegra-audio-max98090";
|
|
nvidia,model = "Acer Chromebook 13";
|
|
|
|
nvidia,audio-routing =
|
|
"Headphones", "HPR",
|
|
"Headphones", "HPL",
|
|
"Speakers", "SPKR",
|
|
"Speakers", "SPKL",
|
|
"Mic Jack", "MICBIAS",
|
|
"DMICL", "Int Mic",
|
|
"DMICR", "Int Mic",
|
|
"IN34", "Mic Jack";
|
|
|
|
nvidia,i2s-controller = <&tegra_i2s1>;
|
|
nvidia,audio-codec = <&acodec>;
|
|
|
|
clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
|
|
<&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
|
|
<&tegra_car TEGRA124_CLK_EXTERN1>;
|
|
clock-names = "pll_a", "pll_a_out0", "mclk";
|
|
|
|
nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
#include "cros-ec-keyboard.dtsi"
|