Merge tag 'usb-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[linux/fpc-iii.git] / arch / arm / boot / dts / meson8b-odroidc1.dts
blob5963566dbcc9d53dde416418401acc74e52c2550
1 // SPDX-License-Identifier: GPL-2.0 OR MIT
2 /*
3  * Copyright 2015 Endless Mobile, Inc.
4  * Author: Carlo Caione <carlo@endlessm.com>
5  */
7 /dts-v1/;
8 #include "meson8b.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
11 / {
12         model = "Hardkernel ODROID-C1";
13         compatible = "hardkernel,odroid-c1", "amlogic,meson8b";
15         aliases {
16                 serial0 = &uart_AO;
17                 mmc0 = &sd_card_slot;
18                 mmc1 = &sdhc;
19         };
21         chosen {
22                 stdout-path = "serial0:115200n8";
23         };
25         memory {
26                 device_type = "memory";
27                 reg = <0x40000000 0x40000000>;
28         };
30         emmc_pwrseq: emmc-pwrseq {
31                 compatible = "mmc-pwrseq-emmc";
32                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
33         };
35         leds {
36                 compatible = "gpio-leds";
37                 blue {
38                         label = "c1:blue:alive";
39                         gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
40                         linux,default-trigger = "heartbeat";
41                         default-state = "off";
42                 };
43         };
45         p5v0: regulator-p5v0 {
46                 compatible = "regulator-fixed";
48                 regulator-name = "P5V0";
49                 regulator-min-microvolt = <5000000>;
50                 regulator-max-microvolt = <5000000>;
51         };
53         tflash_vdd: regulator-tflash_vdd {
54                 /*
55                  * signal name from schematics: TFLASH_VDD_EN
56                  */
57                 compatible = "regulator-fixed";
59                 regulator-name = "TFLASH_VDD";
60                 regulator-min-microvolt = <3300000>;
61                 regulator-max-microvolt = <3300000>;
63                 vin-supply = <&vcc_3v3>;
65                 gpio = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH>;
66                 enable-active-high;
67         };
69         tf_io: gpio-regulator-tf_io {
70                 compatible = "regulator-gpio";
72                 regulator-name = "TF_IO";
73                 regulator-min-microvolt = <1800000>;
74                 regulator-max-microvolt = <3300000>;
76                 vin-supply = <&vcc_3v3>;
78                 /*
79                  * signal name from schematics: TF_3V3N_1V8_EN
80                  */
81                 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
82                 gpios-states = <0>;
84                 states = <3300000 0
85                           1800000 1>;
86         };
88         iio-hwmon {
89                 compatible = "iio-hwmon";
90                 io-channels = <&saradc 8>;
91         };
93         rtc32k_xtal: rtc32k-xtal-clk {
94                 /* X3 in the schematics */
95                 compatible = "fixed-clock";
96                 clock-frequency = <32768>;
97                 clock-output-names = "RTC32K";
98                 #clock-cells = <0>;
99         };
101         vcc_1v8: regulator-vcc-1v8 {
102                 /*
103                  * RICHTEK RT9179 configured for a fixed output voltage of
104                  * 1.8V. This supplies not only VCC1V8 but also IOREF_1V8 and
105                  * VDD1V8 according to the schematics.
106                  */
107                 compatible = "regulator-fixed";
109                 regulator-name = "VCC1V8";
110                 regulator-min-microvolt = <1800000>;
111                 regulator-max-microvolt = <1800000>;
113                 vin-supply = <&p5v0>;
114         };
116         vcc_3v3: regulator-vcc-3v3 {
117                 /*
118                  * Monolithic Power Systems MP2161 configured for a fixed
119                  * output voltage of 3.3V. This supplies not only VCC3V3 but
120                  * also VDD3V3 and VDDIO_AO3V3 according to the schematics.
121                  */
122                 compatible = "regulator-fixed";
124                 regulator-name = "VCC3V3";
125                 regulator-min-microvolt = <3300000>;
126                 regulator-max-microvolt = <3300000>;
128                 vin-supply = <&p5v0>;
129         };
131         vcck: regulator-vcck {
132                 /* Monolithic Power Systems MP2161 */
133                 compatible = "pwm-regulator";
135                 regulator-name = "VCCK";
136                 regulator-min-microvolt = <860000>;
137                 regulator-max-microvolt = <1140000>;
139                 vin-supply = <&p5v0>;
141                 pwms = <&pwm_cd 0 12218 0>;
142                 pwm-dutycycle-range = <91 0>;
144                 regulator-boot-on;
145                 regulator-always-on;
146         };
148         vddc_ddr: regulator-vddc-ddr {
149                 /*
150                  * Monolithic Power Systems MP2161 configured for a fixed
151                  * output voltage of 1.5V. This supplies not only DDR_VDDC but
152                  * also DDR3_1V5 according to the schematics.
153                  */
154                 compatible = "regulator-fixed";
156                 regulator-name = "DDR_VDDC";
157                 regulator-min-microvolt = <1500000>;
158                 regulator-max-microvolt = <1500000>;
160                 vin-supply = <&p5v0>;
161         };
163         vddee: regulator-vddee {
164                 /* Monolithic Power Systems MP2161 */
165                 compatible = "pwm-regulator";
167                 regulator-name = "VDDEE";
168                 regulator-min-microvolt = <860000>;
169                 regulator-max-microvolt = <1140000>;
171                 vin-supply = <&p5v0>;
173                 pwms = <&pwm_cd 1 12218 0>;
174                 pwm-dutycycle-range = <91 0>;
176                 regulator-boot-on;
177                 regulator-always-on;
178         };
180         vdd_rtc: regulator-vdd-rtc {
181                 /*
182                  * Torex Semiconductor XC6215 configured for a fixed output of
183                  * 0.9V.
184                  */
185                 compatible = "regulator-fixed";
187                 regulator-name = "VDD_RTC";
188                 regulator-min-microvolt = <900000>;
189                 regulator-max-microvolt = <900000>;
191                 vin-supply = <&vcc_3v3>;
192         };
195 &cpu0 {
196         cpu-supply = <&vcck>;
199 &efuse {
200         ethernet_mac_address: mac@1b4 {
201                 reg = <0x1b4 0x6>;
202         };
205 &ethmac {
206         status = "okay";
208         pinctrl-0 = <&eth_rgmii_pins>;
209         pinctrl-names = "default";
211         phy-handle = <&eth_phy>;
212         phy-mode = "rgmii-id";
214         nvmem-cells = <&ethernet_mac_address>;
215         nvmem-cell-names = "mac-address";
217         mdio {
218                 compatible = "snps,dwmac-mdio";
219                 #address-cells = <1>;
220                 #size-cells = <0>;
222                 /* Realtek RTL8211F (0x001cc916) */
223                 eth_phy: ethernet-phy@0 {
224                         reg = <0>;
226                         reset-assert-us = <10000>;
227                         reset-deassert-us = <80000>;
228                         reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
230                         interrupt-parent = <&gpio_intc>;
231                         /* GPIOH_3 */
232                         interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
233                 };
234         };
237 &gpio {
238         gpio-line-names = /* Bank GPIOX */
239                           "J2 Header Pin 35", "J2 Header Pin 36",
240                           "J2 Header Pin 32", "J2 Header Pin 31",
241                           "J2 Header Pin 29", "J2 Header Pin 18",
242                           "J2 Header Pin 22", "J2 Header Pin 16",
243                           "J2 Header Pin 23", "J2 Header Pin 21",
244                           "J2 Header Pin 19", "J2 Header Pin 33",
245                           "J2 Header Pin 8", "J2 Header Pin 10",
246                           "J2 Header Pin 15", "J2 Header Pin 13",
247                           "J2 Header Pin 24", "J2 Header Pin 26",
248                           /* Bank GPIOY */
249                           "Revision (upper)", "Revision (lower)",
250                           "J2 Header Pin 7", "", "J2 Header Pin 12",
251                           "J2 Header Pin 11", "", "", "",
252                           "TFLASH_VDD_EN", "", "",
253                           /* Bank GPIODV */
254                           "VCCK_PWM (PWM_C)", "I2CA_SDA", "I2CA_SCL",
255                           "I2CB_SDA", "I2CB_SCL", "VDDEE_PWM (PWM_D)",
256                           "",
257                           /* Bank GPIOH */
258                           "HDMI_HPD", "HDMI_I2C_SDA", "HDMI_I2C_SCL",
259                           "ETH_PHY_INTR", "ETH_PHY_NRST", "ETH_TXD1",
260                           "ETH_TXD0", "ETH_TXD3", "ETH_TXD2",
261                           "ETH_RGMII_TX_CLK",
262                           /* Bank CARD */
263                           "SD_DATA1 (SDB_D1)", "SD_DATA0 (SDB_D0)",
264                           "SD_CLK",  "SD_CMD", "SD_DATA3 (SDB_D3)",
265                           "SD_DATA2 (SDB_D2)", "SD_CDN (SD_DET_N)",
266                           /* Bank BOOT */
267                           "SDC_D0 (EMMC)", "SDC_D1 (EMMC)",
268                           "SDC_D2 (EMMC)", "SDC_D3 (EMMC)",
269                           "SDC_D4 (EMMC)", "SDC_D5 (EMMC)",
270                           "SDC_D6 (EMMC)", "SDC_D7 (EMMC)",
271                           "SDC_CLK (EMMC)", "SDC_RSTn (EMMC)",
272                           "SDC_CMD (EMMC)", "BOOT_SEL", "", "", "",
273                           "", "", "", "",
274                           /* Bank DIF */
275                           "ETH_RXD1", "ETH_RXD0", "ETH_RX_DV",
276                           "RGMII_RX_CLK", "ETH_RXD3", "ETH_RXD2",
277                           "ETH_TXEN", "ETH_PHY_REF_CLK_25MOUT",
278                           "ETH_MDC", "ETH_MDIO";
281 &gpio_ao {
282         gpio-line-names = "UART TX", "UART RX", "",
283                           "TF_3V3N_1V8_EN", "USB_HUB_RST_N",
284                           "USB_OTG_PWREN", "J7 Header Pin 2",
285                           "IR_IN", "J7 Header Pin 4",
286                           "J7 Header Pin 6", "J7 Header Pin 5",
287                           "J7 Header Pin 7", "HDMI_CEC",
288                           "SYS_LED", "", "";
290         /*
291          * WARNING: The USB Hub on the Odroid-C1/C1+ needs a reset signal
292          * to be turned high in order to be detected by the USB Controller.
293          * This signal should be handled by a USB specific power sequence
294          * in order to reset the Hub when USB bus is powered down.
295          */
296         usb-hub {
297                 gpio-hog;
298                 gpios = <GPIOAO_4 GPIO_ACTIVE_HIGH>;
299                 output-high;
300                 line-name = "usb-hub-reset";
301         };
304 &ir_receiver {
305         status = "okay";
306         pinctrl-0 = <&ir_recv_pins>;
307         pinctrl-names = "default";
310 &mali {
311         mali-supply = <&vddee>;
314 &saradc {
315         status = "okay";
316         vref-supply = <&vcc_1v8>;
319 &sdhc {
320         status = "okay";
322         pinctrl-0 = <&sdxc_c_pins>;
323         pinctrl-names = "default";
325         bus-width = <8>;
326         max-frequency = <100000000>;
328         disable-wp;
329         cap-mmc-highspeed;
330         mmc-hs200-1_8v;
331         no-sdio;
333         mmc-pwrseq = <&emmc_pwrseq>;
335         vmmc-supply = <&vcc_3v3>;
336         vqmmc-supply = <&vcc_1v8>;
339 &sdio {
340         status = "okay";
342         pinctrl-0 = <&sd_b_pins>;
343         pinctrl-names = "default";
345         /* SD card */
346         sd_card_slot: slot@1 {
347                 compatible = "mmc-slot";
348                 reg = <1>;
349                 status = "okay";
351                 bus-width = <4>;
352                 no-sdio;
353                 cap-mmc-highspeed;
354                 cap-sd-highspeed;
355                 disable-wp;
357                 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
359                 vmmc-supply = <&tflash_vdd>;
360                 vqmmc-supply = <&tf_io>;
361         };
364 &pwm_cd {
365         status = "okay";
366         pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
367         pinctrl-names = "default";
368         clocks = <&xtal>, <&xtal>;
369         clock-names = "clkin0", "clkin1";
372 &rtc {
373         /* needs to be enabled manually when a battery is connected */
374         clocks = <&rtc32k_xtal>;
375         vdd-supply = <&vdd_rtc>;
378 &uart_AO {
379         status = "okay";
380         pinctrl-0 = <&uart_ao_a_pins>;
381         pinctrl-names = "default";
384 &usb1_phy {
385         status = "okay";
388 &usb1 {
389         status = "okay";