1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2016 Andreas Färber 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot/dts-v1/; 7c66ec88fSEmmanuel Vadot#include "rk3368.dtsi" 8c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h> 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot/ { 11c66ec88fSEmmanuel Vadot model = "GeekBox"; 12c66ec88fSEmmanuel Vadot compatible = "geekbuying,geekbox", "rockchip,rk3368"; 13c66ec88fSEmmanuel Vadot 142eb4d8dcSEmmanuel Vadot aliases { 15*8d13bc63SEmmanuel Vadot ethernet0 = &gmac; 162eb4d8dcSEmmanuel Vadot mmc0 = &emmc; 172eb4d8dcSEmmanuel Vadot }; 182eb4d8dcSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot chosen { 20c66ec88fSEmmanuel Vadot stdout-path = "serial2:115200n8"; 21c66ec88fSEmmanuel Vadot }; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot memory@0 { 24c66ec88fSEmmanuel Vadot device_type = "memory"; 25c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x80000000>; 26c66ec88fSEmmanuel Vadot }; 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot ext_gmac: gmac-clk { 29c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 30c66ec88fSEmmanuel Vadot clock-frequency = <125000000>; 31c66ec88fSEmmanuel Vadot clock-output-names = "ext_gmac"; 32c66ec88fSEmmanuel Vadot #clock-cells = <0>; 33c66ec88fSEmmanuel Vadot }; 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot ir: ir-receiver { 36c66ec88fSEmmanuel Vadot compatible = "gpio-ir-receiver"; 37c66ec88fSEmmanuel Vadot gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>; 38c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 39c66ec88fSEmmanuel Vadot pinctrl-0 = <&ir_int>; 40c66ec88fSEmmanuel Vadot }; 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot keys: gpio-keys { 43c66ec88fSEmmanuel Vadot compatible = "gpio-keys"; 44c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 45c66ec88fSEmmanuel Vadot pinctrl-0 = <&pwr_key>; 46c66ec88fSEmmanuel Vadot 47b97ee269SEmmanuel Vadot key-power { 48c66ec88fSEmmanuel Vadot gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; 49c66ec88fSEmmanuel Vadot label = "GPIO Power"; 50c66ec88fSEmmanuel Vadot linux,code = <KEY_POWER>; 51c66ec88fSEmmanuel Vadot wakeup-source; 52c66ec88fSEmmanuel Vadot }; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot leds: gpio-leds { 56c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot blue_led: led-0 { 59c66ec88fSEmmanuel Vadot gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>; 60c66ec88fSEmmanuel Vadot label = "geekbox:blue:led"; 61c66ec88fSEmmanuel Vadot default-state = "on"; 62c66ec88fSEmmanuel Vadot }; 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot red_led: led-1 { 65c66ec88fSEmmanuel Vadot gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>; 66c66ec88fSEmmanuel Vadot label = "geekbox:red:led"; 67c66ec88fSEmmanuel Vadot default-state = "off"; 68c66ec88fSEmmanuel Vadot }; 69c66ec88fSEmmanuel Vadot }; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot vcc_sys: vcc-sys-regulator { 72c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 73c66ec88fSEmmanuel Vadot regulator-name = "vcc_sys"; 74c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 75c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 76c66ec88fSEmmanuel Vadot regulator-always-on; 77c66ec88fSEmmanuel Vadot regulator-boot-on; 78c66ec88fSEmmanuel Vadot }; 79c66ec88fSEmmanuel Vadot}; 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot&emmc { 82c66ec88fSEmmanuel Vadot status = "okay"; 83c66ec88fSEmmanuel Vadot bus-width = <8>; 84c66ec88fSEmmanuel Vadot cap-mmc-highspeed; 85c66ec88fSEmmanuel Vadot clock-frequency = <150000000>; 86c66ec88fSEmmanuel Vadot non-removable; 87c66ec88fSEmmanuel Vadot vmmc-supply = <&vcc_io>; 88c66ec88fSEmmanuel Vadot vqmmc-supply = <&vcc18_flash>; 89c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 90c66ec88fSEmmanuel Vadot pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>; 91c66ec88fSEmmanuel Vadot}; 92c66ec88fSEmmanuel Vadot 93c66ec88fSEmmanuel Vadot&gmac { 94c66ec88fSEmmanuel Vadot status = "okay"; 95c66ec88fSEmmanuel Vadot phy-supply = <&vcc_lan>; 96c66ec88fSEmmanuel Vadot phy-mode = "rgmii"; 97c66ec88fSEmmanuel Vadot clock_in_out = "input"; 98c66ec88fSEmmanuel Vadot assigned-clocks = <&cru SCLK_MAC>; 99c66ec88fSEmmanuel Vadot assigned-clock-parents = <&ext_gmac>; 100c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 101c66ec88fSEmmanuel Vadot pinctrl-0 = <&rgmii_pins>; 102c66ec88fSEmmanuel Vadot tx_delay = <0x30>; 103c66ec88fSEmmanuel Vadot rx_delay = <0x10>; 104c66ec88fSEmmanuel Vadot}; 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadot&i2c0 { 107c66ec88fSEmmanuel Vadot status = "okay"; 108c66ec88fSEmmanuel Vadot 109c66ec88fSEmmanuel Vadot rk808: pmic@1b { 110c66ec88fSEmmanuel Vadot compatible = "rockchip,rk808"; 111c66ec88fSEmmanuel Vadot reg = <0x1b>; 112c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 113c66ec88fSEmmanuel Vadot pinctrl-0 = <&pmic_int>, <&pmic_sleep>; 114c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio0>; 115c66ec88fSEmmanuel Vadot interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>; 116c66ec88fSEmmanuel Vadot rockchip,system-power-controller; 117c66ec88fSEmmanuel Vadot vcc1-supply = <&vcc_sys>; 118c66ec88fSEmmanuel Vadot vcc2-supply = <&vcc_sys>; 119c66ec88fSEmmanuel Vadot vcc3-supply = <&vcc_sys>; 120c66ec88fSEmmanuel Vadot vcc4-supply = <&vcc_sys>; 121c66ec88fSEmmanuel Vadot vcc6-supply = <&vcc_sys>; 122c66ec88fSEmmanuel Vadot vcc7-supply = <&vcc_sys>; 123c66ec88fSEmmanuel Vadot vcc8-supply = <&vcc_io>; 124c66ec88fSEmmanuel Vadot vcc9-supply = <&vcc_sys>; 125c66ec88fSEmmanuel Vadot vcc10-supply = <&vcc_sys>; 126c66ec88fSEmmanuel Vadot vcc11-supply = <&vcc_sys>; 127c66ec88fSEmmanuel Vadot vcc12-supply = <&vcc_io>; 128c66ec88fSEmmanuel Vadot clock-output-names = "xin32k", "rk808-clkout2"; 129c66ec88fSEmmanuel Vadot #clock-cells = <1>; 130c66ec88fSEmmanuel Vadot 131c66ec88fSEmmanuel Vadot regulators { 132c66ec88fSEmmanuel Vadot vdd_cpu: DCDC_REG1 { 133c66ec88fSEmmanuel Vadot regulator-always-on; 134c66ec88fSEmmanuel Vadot regulator-boot-on; 135c66ec88fSEmmanuel Vadot regulator-min-microvolt = <700000>; 136c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 137c66ec88fSEmmanuel Vadot regulator-name = "vdd_cpu"; 138c66ec88fSEmmanuel Vadot }; 139c66ec88fSEmmanuel Vadot 140c66ec88fSEmmanuel Vadot vdd_log: DCDC_REG2 { 141c66ec88fSEmmanuel Vadot regulator-always-on; 142c66ec88fSEmmanuel Vadot regulator-boot-on; 143c66ec88fSEmmanuel Vadot regulator-min-microvolt = <700000>; 144c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 145c66ec88fSEmmanuel Vadot regulator-name = "vdd_log"; 146c66ec88fSEmmanuel Vadot }; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 149c66ec88fSEmmanuel Vadot regulator-always-on; 150c66ec88fSEmmanuel Vadot regulator-boot-on; 151c66ec88fSEmmanuel Vadot regulator-name = "vcc_ddr"; 152c66ec88fSEmmanuel Vadot }; 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadot vcc_io: DCDC_REG4 { 155c66ec88fSEmmanuel Vadot regulator-always-on; 156c66ec88fSEmmanuel Vadot regulator-boot-on; 157c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 158c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 159c66ec88fSEmmanuel Vadot regulator-name = "vcc_io"; 160c66ec88fSEmmanuel Vadot }; 161c66ec88fSEmmanuel Vadot 162c66ec88fSEmmanuel Vadot vcc18_flash: LDO_REG1 { 163c66ec88fSEmmanuel Vadot regulator-always-on; 164c66ec88fSEmmanuel Vadot regulator-boot-on; 165c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 166c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 167c66ec88fSEmmanuel Vadot regulator-name = "vcc18_flash"; 168c66ec88fSEmmanuel Vadot }; 169c66ec88fSEmmanuel Vadot 170c66ec88fSEmmanuel Vadot vcc33_lcd: LDO_REG2 { 171c66ec88fSEmmanuel Vadot regulator-always-on; 172c66ec88fSEmmanuel Vadot regulator-boot-on; 173c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 174c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 175c66ec88fSEmmanuel Vadot regulator-name = "vcc33_lcd"; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot 178c66ec88fSEmmanuel Vadot vdd_10: LDO_REG3 { 179c66ec88fSEmmanuel Vadot regulator-always-on; 180c66ec88fSEmmanuel Vadot regulator-boot-on; 181c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1000000>; 182c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1000000>; 183c66ec88fSEmmanuel Vadot regulator-name = "vdd_10"; 184c66ec88fSEmmanuel Vadot }; 185c66ec88fSEmmanuel Vadot 186c66ec88fSEmmanuel Vadot vcca_18: LDO_REG4 { 187c66ec88fSEmmanuel Vadot regulator-boot-on; 188c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 189c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 190c66ec88fSEmmanuel Vadot regulator-name = "vcca_18"; 191c66ec88fSEmmanuel Vadot }; 192c66ec88fSEmmanuel Vadot 193c66ec88fSEmmanuel Vadot vccio_sd: LDO_REG5 { 194c66ec88fSEmmanuel Vadot regulator-always-on; 195c66ec88fSEmmanuel Vadot regulator-boot-on; 196c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 197c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 198c66ec88fSEmmanuel Vadot regulator-name = "vccio_sd"; 199c66ec88fSEmmanuel Vadot }; 200c66ec88fSEmmanuel Vadot 201c66ec88fSEmmanuel Vadot vdd10_lcd: LDO_REG6 { 202c66ec88fSEmmanuel Vadot regulator-always-on; 203c66ec88fSEmmanuel Vadot regulator-boot-on; 204c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1000000>; 205c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1000000>; 206c66ec88fSEmmanuel Vadot regulator-name = "vdd10_lcd"; 207c66ec88fSEmmanuel Vadot }; 208c66ec88fSEmmanuel Vadot 209c66ec88fSEmmanuel Vadot vcc_18: LDO_REG7 { 210c66ec88fSEmmanuel Vadot regulator-always-on; 211c66ec88fSEmmanuel Vadot regulator-boot-on; 212c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 213c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 214c66ec88fSEmmanuel Vadot regulator-name = "vcc_18"; 215c66ec88fSEmmanuel Vadot }; 216c66ec88fSEmmanuel Vadot 217c66ec88fSEmmanuel Vadot vcc18_lcd: LDO_REG8 { 218c66ec88fSEmmanuel Vadot regulator-always-on; 219c66ec88fSEmmanuel Vadot regulator-boot-on; 220c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 221c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 222c66ec88fSEmmanuel Vadot regulator-name = "vcc18_lcd"; 223c66ec88fSEmmanuel Vadot }; 224c66ec88fSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot vcc_sd: SWITCH_REG1 { 226c66ec88fSEmmanuel Vadot regulator-name = "vcc_sd"; 227c66ec88fSEmmanuel Vadot }; 228c66ec88fSEmmanuel Vadot 229c66ec88fSEmmanuel Vadot vcc_lan: SWITCH_REG2 { 230c66ec88fSEmmanuel Vadot regulator-always-on; 231c66ec88fSEmmanuel Vadot regulator-boot-on; 232c66ec88fSEmmanuel Vadot regulator-name = "vcc_lan"; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot }; 235c66ec88fSEmmanuel Vadot }; 236c66ec88fSEmmanuel Vadot}; 237c66ec88fSEmmanuel Vadot 238c66ec88fSEmmanuel Vadot&pinctrl { 239c66ec88fSEmmanuel Vadot ir { 240c66ec88fSEmmanuel Vadot ir_int: ir-int { 241c66ec88fSEmmanuel Vadot rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 242c66ec88fSEmmanuel Vadot }; 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot 245c66ec88fSEmmanuel Vadot keys { 246c66ec88fSEmmanuel Vadot pwr_key: pwr-key { 247c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 248c66ec88fSEmmanuel Vadot }; 249c66ec88fSEmmanuel Vadot }; 250c66ec88fSEmmanuel Vadot 251c66ec88fSEmmanuel Vadot pmic { 252c66ec88fSEmmanuel Vadot pmic_sleep: pmic-sleep { 253c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>; 254c66ec88fSEmmanuel Vadot }; 255c66ec88fSEmmanuel Vadot 256c66ec88fSEmmanuel Vadot pmic_int: pmic-int { 257c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 258c66ec88fSEmmanuel Vadot }; 259c66ec88fSEmmanuel Vadot }; 260c66ec88fSEmmanuel Vadot}; 261c66ec88fSEmmanuel Vadot 262c66ec88fSEmmanuel Vadot&tsadc { 263c66ec88fSEmmanuel Vadot status = "okay"; 264c66ec88fSEmmanuel Vadot rockchip,hw-tshut-mode = <0>; /* CRU */ 265c66ec88fSEmmanuel Vadot rockchip,hw-tshut-polarity = <1>; /* high */ 266c66ec88fSEmmanuel Vadot}; 267c66ec88fSEmmanuel Vadot 268c66ec88fSEmmanuel Vadot&uart2 { 269c66ec88fSEmmanuel Vadot status = "okay"; 270c66ec88fSEmmanuel Vadot}; 271c66ec88fSEmmanuel Vadot 272c66ec88fSEmmanuel Vadot&usb_host0_ehci { 273c66ec88fSEmmanuel Vadot status = "okay"; 274c66ec88fSEmmanuel Vadot}; 275c66ec88fSEmmanuel Vadot 276c66ec88fSEmmanuel Vadot&usb_otg { 277c66ec88fSEmmanuel Vadot status = "okay"; 278c66ec88fSEmmanuel Vadot}; 279c66ec88fSEmmanuel Vadot 280c66ec88fSEmmanuel Vadot&wdt { 281c66ec88fSEmmanuel Vadot status = "okay"; 282c66ec88fSEmmanuel Vadot}; 283