1d99a02bcSKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2d99a02bcSKlaus Goger/* 3d99a02bcSKlaus Goger * Copyright (c) 2018 Theobroma Systems Design und Consulting GmbH 4d99a02bcSKlaus Goger */ 5d99a02bcSKlaus Goger 6d99a02bcSKlaus Goger/dts-v1/; 7d99a02bcSKlaus Goger#include "rk3368.dtsi" 8d99a02bcSKlaus Goger 9d99a02bcSKlaus Goger/ { 10751a78a8SHeiko Stuebner aliases { 11751a78a8SHeiko Stuebner mmc0 = &emmc; 12751a78a8SHeiko Stuebner }; 13751a78a8SHeiko Stuebner 14d99a02bcSKlaus Goger chosen { 15d99a02bcSKlaus Goger stdout-path = "serial0:115200n8"; 16d99a02bcSKlaus Goger }; 17d99a02bcSKlaus Goger 18d99a02bcSKlaus Goger ext_gmac: gmac-clk { 19d99a02bcSKlaus Goger compatible = "fixed-clock"; 20d99a02bcSKlaus Goger clock-frequency = <125000000>; 21d99a02bcSKlaus Goger clock-output-names = "ext_gmac"; 22d99a02bcSKlaus Goger #clock-cells = <0>; 23d99a02bcSKlaus Goger }; 24d99a02bcSKlaus Goger 25d99a02bcSKlaus Goger i2cmux1 { 26d99a02bcSKlaus Goger compatible = "i2c-mux-gpio"; 27d99a02bcSKlaus Goger #address-cells = <1>; 28d99a02bcSKlaus Goger #size-cells = <0>; 29d99a02bcSKlaus Goger i2c-parent = <&i2c1>; 30d99a02bcSKlaus Goger mux-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>; 31d99a02bcSKlaus Goger 32*5a73d7caSJakob Unterwurzacher /* Q7_GP0_I2C */ 33*5a73d7caSJakob Unterwurzacher i2c_gp0: i2c@0 { 34d99a02bcSKlaus Goger reg = <0>; 35d99a02bcSKlaus Goger #address-cells = <1>; 36d99a02bcSKlaus Goger #size-cells = <0>; 37d99a02bcSKlaus Goger }; 38d99a02bcSKlaus Goger 39d99a02bcSKlaus Goger /* Q7_SMB */ 40*5a73d7caSJakob Unterwurzacher i2c_smb: i2c@1 { 41d99a02bcSKlaus Goger reg = <1>; 42d99a02bcSKlaus Goger #address-cells = <1>; 43d99a02bcSKlaus Goger #size-cells = <0>; 44d99a02bcSKlaus Goger }; 45d99a02bcSKlaus Goger }; 46d99a02bcSKlaus Goger 47d99a02bcSKlaus Goger i2cmux2 { 48d99a02bcSKlaus Goger compatible = "i2c-mux-gpio"; 49d99a02bcSKlaus Goger #address-cells = <1>; 50d99a02bcSKlaus Goger #size-cells = <0>; 51d99a02bcSKlaus Goger i2c-parent = <&i2c2>; 52d99a02bcSKlaus Goger mux-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>; 53d99a02bcSKlaus Goger 54d99a02bcSKlaus Goger /* Q7_LVDS_BLC_I2C */ 55*5a73d7caSJakob Unterwurzacher i2c_lvds_blc: i2c@0 { 56d99a02bcSKlaus Goger reg = <0>; 57d99a02bcSKlaus Goger #address-cells = <1>; 58d99a02bcSKlaus Goger #size-cells = <0>; 59d99a02bcSKlaus Goger 60d99a02bcSKlaus Goger fan: fan@18 { 61d99a02bcSKlaus Goger compatible = "ti,amc6821"; 62d99a02bcSKlaus Goger reg = <0x18>; 63d99a02bcSKlaus Goger #cooling-cells = <2>; 64d99a02bcSKlaus Goger }; 65d99a02bcSKlaus Goger 66d99a02bcSKlaus Goger rtc_twi: rtc@6f { 67d99a02bcSKlaus Goger compatible = "isil,isl1208"; 68d99a02bcSKlaus Goger reg = <0x6f>; 69d99a02bcSKlaus Goger }; 70d99a02bcSKlaus Goger }; 71d99a02bcSKlaus Goger 72*5a73d7caSJakob Unterwurzacher /* Q7_GP2_I2C = LVDS_DID_CLK/DAT */ 73*5a73d7caSJakob Unterwurzacher i2c_gp2: i2c@1 { 74d99a02bcSKlaus Goger reg = <1>; 75d99a02bcSKlaus Goger #address-cells = <1>; 76d99a02bcSKlaus Goger #size-cells = <0>; 77d99a02bcSKlaus Goger }; 78d99a02bcSKlaus Goger }; 79d99a02bcSKlaus Goger 80d99a02bcSKlaus Goger leds { 81d99a02bcSKlaus Goger compatible = "gpio-leds"; 82d99a02bcSKlaus Goger pinctrl-names = "default"; 836dd5e12cSJohan Jonker pinctrl-0 = <&module_led_pins>; 84d99a02bcSKlaus Goger 856dd5e12cSJohan Jonker module_led1: led-1 { 86d99a02bcSKlaus Goger label = "module_led1"; 87d99a02bcSKlaus Goger gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>; 88d99a02bcSKlaus Goger linux,default-trigger = "heartbeat"; 89d99a02bcSKlaus Goger panic-indicator; 90d99a02bcSKlaus Goger }; 91d99a02bcSKlaus Goger 926dd5e12cSJohan Jonker module_led2: led-2 { 93d99a02bcSKlaus Goger label = "module_led2"; 94d99a02bcSKlaus Goger gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; 95d99a02bcSKlaus Goger default-state = "off"; 96d99a02bcSKlaus Goger }; 97d99a02bcSKlaus Goger }; 98d99a02bcSKlaus Goger 99d99a02bcSKlaus Goger vcc_sys: vcc-sys-regulator { 100d99a02bcSKlaus Goger compatible = "regulator-fixed"; 101d99a02bcSKlaus Goger regulator-name = "vcc_sys"; 102d99a02bcSKlaus Goger regulator-min-microvolt = <5000000>; 103d99a02bcSKlaus Goger regulator-max-microvolt = <5000000>; 104d99a02bcSKlaus Goger regulator-always-on; 105d99a02bcSKlaus Goger regulator-boot-on; 106d99a02bcSKlaus Goger }; 107d99a02bcSKlaus Goger}; 108d99a02bcSKlaus Goger 109d99a02bcSKlaus Goger&cpu_l0 { 110d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 111d99a02bcSKlaus Goger}; 112d99a02bcSKlaus Goger 113d99a02bcSKlaus Goger&cpu_l1 { 114d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 115d99a02bcSKlaus Goger}; 116d99a02bcSKlaus Goger 117d99a02bcSKlaus Goger&cpu_l2 { 118d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 119d99a02bcSKlaus Goger}; 120d99a02bcSKlaus Goger 121d99a02bcSKlaus Goger&cpu_l3 { 122d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 123d99a02bcSKlaus Goger}; 124d99a02bcSKlaus Goger 125d99a02bcSKlaus Goger&cpu_b0 { 126d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 127d99a02bcSKlaus Goger}; 128d99a02bcSKlaus Goger 129d99a02bcSKlaus Goger&cpu_b1 { 130d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 131d99a02bcSKlaus Goger}; 132d99a02bcSKlaus Goger 133d99a02bcSKlaus Goger&cpu_b2 { 134d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 135d99a02bcSKlaus Goger}; 136d99a02bcSKlaus Goger 137d99a02bcSKlaus Goger&cpu_b3 { 138d99a02bcSKlaus Goger cpu-supply = <&vdd_cpu>; 139d99a02bcSKlaus Goger}; 140d99a02bcSKlaus Goger 141d99a02bcSKlaus Goger&emmc { 142d99a02bcSKlaus Goger bus-width = <8>; 143d99a02bcSKlaus Goger clock-frequency = <150000000>; 144d99a02bcSKlaus Goger mmc-hs200-1_8v; 145d99a02bcSKlaus Goger non-removable; 146d99a02bcSKlaus Goger vmmc-supply = <&vcc33_io>; 1473bd7f3efSJakob Unterwurzacher vqmmc-supply = <&vcc_18>; 148d99a02bcSKlaus Goger pinctrl-names = "default"; 149d99a02bcSKlaus Goger pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>; 150d99a02bcSKlaus Goger status = "okay"; 151d99a02bcSKlaus Goger}; 152d99a02bcSKlaus Goger 153d99a02bcSKlaus Goger&gmac { 154d99a02bcSKlaus Goger assigned-clocks = <&cru SCLK_MAC>; 155d99a02bcSKlaus Goger assigned-clock-parents = <&ext_gmac>; 156d99a02bcSKlaus Goger clock_in_out = "input"; 157d99a02bcSKlaus Goger phy-supply = <&vcc33_io>; 158d99a02bcSKlaus Goger phy-mode = "rgmii"; 159d99a02bcSKlaus Goger pinctrl-names = "default"; 160d99a02bcSKlaus Goger pinctrl-0 = <&rgmii_pins>; 161d99a02bcSKlaus Goger snps,reset-active-low; 162d99a02bcSKlaus Goger snps,reset-delays-us = <0 10000 50000>; 1632300e6daSHeiko Stuebner snps,reset-gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; 164d99a02bcSKlaus Goger tx_delay = <0x10>; 165d99a02bcSKlaus Goger rx_delay = <0x10>; 166d99a02bcSKlaus Goger status = "okay"; 167d99a02bcSKlaus Goger}; 168d99a02bcSKlaus Goger 169d99a02bcSKlaus Goger&i2c0 { 170d99a02bcSKlaus Goger status = "okay"; 171d99a02bcSKlaus Goger 172d99a02bcSKlaus Goger rk808: pmic@1b { 173d99a02bcSKlaus Goger compatible = "rockchip,rk808"; 174d99a02bcSKlaus Goger reg = <0x1b>; 175d99a02bcSKlaus Goger interrupt-parent = <&gpio0>; 176d99a02bcSKlaus Goger interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>; 177d99a02bcSKlaus Goger clock-output-names = "xin32k", "rk808-clkout2"; 178d99a02bcSKlaus Goger #clock-cells = <1>; 179d99a02bcSKlaus Goger pinctrl-names = "default"; 180d99a02bcSKlaus Goger pinctrl-0 = <&pmic_int_l>, <&pmic_sleep>; 181d99a02bcSKlaus Goger rockchip,system-power-controller; 182d99a02bcSKlaus Goger vcc1-supply = <&vcc_sys>; 183d99a02bcSKlaus Goger vcc2-supply = <&vcc_sys>; 184d99a02bcSKlaus Goger vcc3-supply = <&vcc_sys>; 185d99a02bcSKlaus Goger vcc4-supply = <&vcc_sys>; 186d99a02bcSKlaus Goger vcc6-supply = <&vcc_sys>; 187d99a02bcSKlaus Goger vcc7-supply = <&vcc_sys>; 188d99a02bcSKlaus Goger vcc8-supply = <&vcc_sys>; 189d99a02bcSKlaus Goger vcc9-supply = <&vcc_sys>; 190d99a02bcSKlaus Goger vcc10-supply = <&vcc_sys>; 191d99a02bcSKlaus Goger vcc11-supply = <&vcc_sys>; 192d99a02bcSKlaus Goger vcc12-supply = <&vcc_sys>; 193d99a02bcSKlaus Goger 194d99a02bcSKlaus Goger regulators { 195d99a02bcSKlaus Goger vdd_cpu: DCDC_REG1 { 196d99a02bcSKlaus Goger regulator-name = "vdd_cpu"; 197d99a02bcSKlaus Goger regulator-min-microvolt = <700000>; 198d99a02bcSKlaus Goger regulator-max-microvolt = <1500000>; 199d99a02bcSKlaus Goger regulator-always-on; 200d99a02bcSKlaus Goger regulator-boot-on; 201d99a02bcSKlaus Goger }; 202d99a02bcSKlaus Goger 203d99a02bcSKlaus Goger vdd_log: DCDC_REG2 { 204d99a02bcSKlaus Goger regulator-name = "vdd_log"; 205d99a02bcSKlaus Goger regulator-min-microvolt = <700000>; 206d99a02bcSKlaus Goger regulator-max-microvolt = <1500000>; 207d99a02bcSKlaus Goger regulator-always-on; 208d99a02bcSKlaus Goger regulator-boot-on; 209d99a02bcSKlaus Goger }; 210d99a02bcSKlaus Goger 211d99a02bcSKlaus Goger vcc_ddr: DCDC_REG3 { 212d99a02bcSKlaus Goger regulator-name = "vcc_ddr"; 213d99a02bcSKlaus Goger regulator-always-on; 214d99a02bcSKlaus Goger regulator-boot-on; 215d99a02bcSKlaus Goger }; 216d99a02bcSKlaus Goger 217d99a02bcSKlaus Goger vcc33_io: DCDC_REG4 { 218d99a02bcSKlaus Goger regulator-name = "vcc33_io"; 219d99a02bcSKlaus Goger regulator-min-microvolt = <3300000>; 220d99a02bcSKlaus Goger regulator-max-microvolt = <3300000>; 221d99a02bcSKlaus Goger regulator-always-on; 222d99a02bcSKlaus Goger regulator-boot-on; 223d99a02bcSKlaus Goger }; 224d99a02bcSKlaus Goger 225d99a02bcSKlaus Goger vcc33_video: LDO_REG2 { 226d99a02bcSKlaus Goger regulator-name = "vcc33_video"; 227d99a02bcSKlaus Goger regulator-min-microvolt = <3300000>; 228d99a02bcSKlaus Goger regulator-max-microvolt = <3300000>; 229d99a02bcSKlaus Goger regulator-always-on; 230d99a02bcSKlaus Goger regulator-boot-on; 231d99a02bcSKlaus Goger }; 232d99a02bcSKlaus Goger 233d99a02bcSKlaus Goger vdd10_pll: LDO_REG3 { 234d99a02bcSKlaus Goger regulator-name = "vdd10_pll"; 235d99a02bcSKlaus Goger regulator-min-microvolt = <1000000>; 236d99a02bcSKlaus Goger regulator-max-microvolt = <1000000>; 237d99a02bcSKlaus Goger regulator-always-on; 238d99a02bcSKlaus Goger regulator-boot-on; 239d99a02bcSKlaus Goger }; 240d99a02bcSKlaus Goger 241d99a02bcSKlaus Goger vdd10_video: LDO_REG6 { 242d99a02bcSKlaus Goger regulator-name = "vdd10_video"; 243d99a02bcSKlaus Goger regulator-min-microvolt = <1000000>; 244d99a02bcSKlaus Goger regulator-max-microvolt = <1000000>; 245d99a02bcSKlaus Goger regulator-always-on; 246d99a02bcSKlaus Goger regulator-boot-on; 247d99a02bcSKlaus Goger }; 248d99a02bcSKlaus Goger 2493bd7f3efSJakob Unterwurzacher vcc_18: LDO_REG7 { 2503bd7f3efSJakob Unterwurzacher regulator-always-on; 2513bd7f3efSJakob Unterwurzacher regulator-boot-on; 2523bd7f3efSJakob Unterwurzacher regulator-min-microvolt = <1800000>; 2533bd7f3efSJakob Unterwurzacher regulator-max-microvolt = <1800000>; 2543bd7f3efSJakob Unterwurzacher regulator-name = "vcc_18"; 2553bd7f3efSJakob Unterwurzacher }; 2563bd7f3efSJakob Unterwurzacher 257d99a02bcSKlaus Goger vcc18_video: LDO_REG8 { 258d99a02bcSKlaus Goger regulator-name = "vcc18_video"; 259d99a02bcSKlaus Goger regulator-min-microvolt = <1800000>; 260d99a02bcSKlaus Goger regulator-max-microvolt = <1800000>; 261d99a02bcSKlaus Goger regulator-always-on; 262d99a02bcSKlaus Goger regulator-boot-on; 263d99a02bcSKlaus Goger }; 264d99a02bcSKlaus Goger }; 265d99a02bcSKlaus Goger }; 266d99a02bcSKlaus Goger}; 267d99a02bcSKlaus Goger 268d99a02bcSKlaus Goger&i2c1 { 269d99a02bcSKlaus Goger status = "okay"; 270d99a02bcSKlaus Goger}; 271d99a02bcSKlaus Goger 272d99a02bcSKlaus Goger&i2c2 { 273d99a02bcSKlaus Goger status = "okay"; 274d99a02bcSKlaus Goger}; 275d99a02bcSKlaus Goger 2760ed6b51dSJakob Unterwurzacher/* The RK3368-uQ7 "Lion" has most IO voltages hardwired to 3.3V. */ 2770ed6b51dSJakob Unterwurzacher&io_domains { 2780ed6b51dSJakob Unterwurzacher audio-supply = <&vcc33_io>; 2790ed6b51dSJakob Unterwurzacher dvp-supply = <&vcc33_io>; 2800ed6b51dSJakob Unterwurzacher flash0-supply = <&vcc_18>; 2810ed6b51dSJakob Unterwurzacher gpio30-supply = <&vcc33_io>; 2820ed6b51dSJakob Unterwurzacher gpio1830-supply = <&vcc33_io>; 2830ed6b51dSJakob Unterwurzacher sdcard-supply = <&vcc33_io>; 2840ed6b51dSJakob Unterwurzacher wifi-supply = <&vcc33_io>; 2850ed6b51dSJakob Unterwurzacher status = "okay"; 2860ed6b51dSJakob Unterwurzacher}; 2870ed6b51dSJakob Unterwurzacher 288d99a02bcSKlaus Goger&pinctrl { 289d99a02bcSKlaus Goger leds { 2906dd5e12cSJohan Jonker module_led_pins: module-led-pins { 291d99a02bcSKlaus Goger rockchip,pins = 292d64420e8SHeiko Stuebner <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>, 293d64420e8SHeiko Stuebner <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 294d99a02bcSKlaus Goger }; 295d99a02bcSKlaus Goger }; 296d99a02bcSKlaus Goger pmic { 297d99a02bcSKlaus Goger pmic_int_l: pmic-int-l { 298d64420e8SHeiko Stuebner rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 299d99a02bcSKlaus Goger }; 300d99a02bcSKlaus Goger 301d99a02bcSKlaus Goger pmic_sleep: pmic-sleep { 302d64420e8SHeiko Stuebner rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>; 303d99a02bcSKlaus Goger }; 304d99a02bcSKlaus Goger }; 305d99a02bcSKlaus Goger}; 306d99a02bcSKlaus Goger 3070ed6b51dSJakob Unterwurzacher&pmu_io_domains { 3080ed6b51dSJakob Unterwurzacher pmu-supply = <&vcc33_io>; 3090ed6b51dSJakob Unterwurzacher vop-supply = <&vcc33_io>; 3100ed6b51dSJakob Unterwurzacher status = "okay"; 3110ed6b51dSJakob Unterwurzacher}; 3120ed6b51dSJakob Unterwurzacher 313d99a02bcSKlaus Goger&spi1 { 314d99a02bcSKlaus Goger status = "okay"; 315d99a02bcSKlaus Goger 316d99a02bcSKlaus Goger norflash: flash@0 { 317d99a02bcSKlaus Goger compatible = "jedec,spi-nor"; 318d99a02bcSKlaus Goger reg = <0>; 319d99a02bcSKlaus Goger spi-max-frequency = <50000000>; 320d99a02bcSKlaus Goger }; 321d99a02bcSKlaus Goger}; 322d99a02bcSKlaus Goger 323d99a02bcSKlaus Goger&uart1 { 324d99a02bcSKlaus Goger status = "okay"; 325d99a02bcSKlaus Goger}; 326d99a02bcSKlaus Goger 327d99a02bcSKlaus Goger&uart3 { 328d99a02bcSKlaus Goger status = "okay"; 329d99a02bcSKlaus Goger}; 330d99a02bcSKlaus Goger 331d99a02bcSKlaus Goger&usb_host0_ehci { 332d99a02bcSKlaus Goger status = "okay"; 333d99a02bcSKlaus Goger}; 334d99a02bcSKlaus Goger 335d99a02bcSKlaus Goger&wdt { 336d99a02bcSKlaus Goger status = "okay"; 337d99a02bcSKlaus Goger}; 338