1// SPDX-License-Identifier: GPL-2.0 OR MIT 2/* 3 * Copyright 2015 Endless Mobile, Inc. 4 * Author: Carlo Caione <carlo@endlessm.com> 5 */ 6 7/dts-v1/; 8#include "meson8b.dtsi" 9#include <dt-bindings/gpio/gpio.h> 10 11/ { 12 model = "Hardkernel ODROID-C1"; 13 compatible = "hardkernel,odroid-c1", "amlogic,meson8b"; 14 15 aliases { 16 serial0 = &uart_AO; 17 mmc0 = &sd_card_slot; 18 mmc1 = &sdhc; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 memory { 26 device_type = "memory"; 27 reg = <0x40000000 0x40000000>; 28 }; 29 30 emmc_pwrseq: emmc-pwrseq { 31 compatible = "mmc-pwrseq-emmc"; 32 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 33 }; 34 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 }; 44 45 p5v0: regulator-p5v0 { 46 compatible = "regulator-fixed"; 47 48 regulator-name = "P5V0"; 49 regulator-min-microvolt = <5000000>; 50 regulator-max-microvolt = <5000000>; 51 }; 52 53 tflash_vdd: regulator-tflash_vdd { 54 /* 55 * signal name from schematics: TFLASH_VDD_EN 56 */ 57 compatible = "regulator-fixed"; 58 59 regulator-name = "TFLASH_VDD"; 60 regulator-min-microvolt = <3300000>; 61 regulator-max-microvolt = <3300000>; 62 63 vin-supply = <&vcc_3v3>; 64 65 gpio = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH>; 66 enable-active-high; 67 }; 68 69 tf_io: gpio-regulator-tf_io { 70 compatible = "regulator-gpio"; 71 72 regulator-name = "TF_IO"; 73 regulator-min-microvolt = <1800000>; 74 regulator-max-microvolt = <3300000>; 75 76 vin-supply = <&vcc_3v3>; 77 78 /* 79 * signal name from schematics: TF_3V3N_1V8_EN 80 */ 81 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; 82 gpios-states = <0>; 83 84 states = <3300000 0 85 1800000 1>; 86 }; 87 88 iio-hwmon { 89 compatible = "iio-hwmon"; 90 io-channels = <&saradc 8>; 91 }; 92 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 }; 100 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"; 108 109 regulator-name = "VCC1V8"; 110 regulator-min-microvolt = <1800000>; 111 regulator-max-microvolt = <1800000>; 112 113 vin-supply = <&p5v0>; 114 }; 115 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"; 123 124 regulator-name = "VCC3V3"; 125 regulator-min-microvolt = <3300000>; 126 regulator-max-microvolt = <3300000>; 127 128 vin-supply = <&p5v0>; 129 }; 130 131 vcck: regulator-vcck { 132 /* Monolithic Power Systems MP2161 */ 133 compatible = "pwm-regulator"; 134 135 regulator-name = "VCCK"; 136 regulator-min-microvolt = <860000>; 137 regulator-max-microvolt = <1140000>; 138 139 pwm-supply = <&p5v0>; 140 141 pwms = <&pwm_cd 0 12218 0>; 142 pwm-dutycycle-range = <91 0>; 143 144 regulator-boot-on; 145 regulator-always-on; 146 }; 147 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"; 155 156 regulator-name = "DDR_VDDC"; 157 regulator-min-microvolt = <1500000>; 158 regulator-max-microvolt = <1500000>; 159 160 vin-supply = <&p5v0>; 161 }; 162 163 vddee: regulator-vddee { 164 /* Monolithic Power Systems MP2161 */ 165 compatible = "pwm-regulator"; 166 167 regulator-name = "VDDEE"; 168 regulator-min-microvolt = <860000>; 169 regulator-max-microvolt = <1140000>; 170 171 pwm-supply = <&p5v0>; 172 173 pwms = <&pwm_cd 1 12218 0>; 174 pwm-dutycycle-range = <91 0>; 175 176 regulator-boot-on; 177 regulator-always-on; 178 }; 179 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"; 186 187 regulator-name = "VDD_RTC"; 188 regulator-min-microvolt = <900000>; 189 regulator-max-microvolt = <900000>; 190 191 vin-supply = <&vcc_3v3>; 192 }; 193}; 194 195&cpu0 { 196 cpu-supply = <&vcck>; 197}; 198 199&efuse { 200 ethernet_mac_address: mac@1b4 { 201 reg = <0x1b4 0x6>; 202 }; 203}; 204 205ðmac { 206 status = "okay"; 207 208 pinctrl-0 = <ð_rgmii_pins>; 209 pinctrl-names = "default"; 210 211 phy-handle = <ð_phy>; 212 phy-mode = "rgmii-id"; 213 214 nvmem-cells = <ðernet_mac_address>; 215 nvmem-cell-names = "mac-address"; 216 217 mdio { 218 compatible = "snps,dwmac-mdio"; 219 #address-cells = <1>; 220 #size-cells = <0>; 221 222 /* Realtek RTL8211F (0x001cc916) */ 223 eth_phy: ethernet-phy@0 { 224 reg = <0>; 225 226 reset-assert-us = <10000>; 227 reset-deassert-us = <80000>; 228 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; 229 230 interrupt-parent = <&gpio_intc>; 231 /* GPIOH_3 */ 232 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 233 }; 234 }; 235}; 236 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"; 279}; 280 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", "", ""; 289 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 }; 302}; 303 304&ir_receiver { 305 status = "okay"; 306 pinctrl-0 = <&ir_recv_pins>; 307 pinctrl-names = "default"; 308}; 309 310&mali { 311 mali-supply = <&vddee>; 312}; 313 314&saradc { 315 status = "okay"; 316 vref-supply = <&vcc_1v8>; 317}; 318 319&sdhc { 320 status = "okay"; 321 322 pinctrl-0 = <&sdxc_c_pins>; 323 pinctrl-names = "default"; 324 325 bus-width = <8>; 326 max-frequency = <100000000>; 327 328 disable-wp; 329 cap-mmc-highspeed; 330 mmc-hs200-1_8v; 331 no-sdio; 332 333 mmc-pwrseq = <&emmc_pwrseq>; 334 335 vmmc-supply = <&vcc_3v3>; 336 vqmmc-supply = <&vcc_1v8>; 337}; 338 339&sdio { 340 status = "okay"; 341 342 pinctrl-0 = <&sd_b_pins>; 343 pinctrl-names = "default"; 344 345 /* SD card */ 346 sd_card_slot: slot@1 { 347 compatible = "mmc-slot"; 348 reg = <1>; 349 status = "okay"; 350 351 bus-width = <4>; 352 no-sdio; 353 cap-mmc-highspeed; 354 cap-sd-highspeed; 355 disable-wp; 356 357 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 358 359 vmmc-supply = <&tflash_vdd>; 360 vqmmc-supply = <&tf_io>; 361 }; 362}; 363 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"; 370}; 371 372&rtc { 373 /* needs to be enabled manually when a battery is connected */ 374 clocks = <&rtc32k_xtal>; 375 vdd-supply = <&vdd_rtc>; 376}; 377 378&uart_AO { 379 status = "okay"; 380 pinctrl-0 = <&uart_ao_a_pins>; 381 pinctrl-names = "default"; 382}; 383 384&usb1_phy { 385 status = "okay"; 386}; 387 388&usb1 { 389 status = "okay"; 390}; 391