1012af553SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (C) 2018 Amarula Solutions 3cabbaed7SClément Péron// Author: Jagan Teki <jagan@amarulasolutions.com> 4f0c083b8SJagan Teki 5f0c083b8SJagan Teki/dts-v1/; 6f0c083b8SJagan Teki 7f0c083b8SJagan Teki#include "sun50i-h6.dtsi" 8f0c083b8SJagan Teki 9f0c083b8SJagan Teki#include <dt-bindings/gpio/gpio.h> 10f0c083b8SJagan Teki 11f0c083b8SJagan Teki/ { 12f0c083b8SJagan Teki model = "OrangePi One Plus"; 13f0c083b8SJagan Teki compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6"; 14f0c083b8SJagan Teki 15f0c083b8SJagan Teki aliases { 16f0c083b8SJagan Teki serial0 = &uart0; 17f0c083b8SJagan Teki }; 18f0c083b8SJagan Teki 19f0c083b8SJagan Teki chosen { 20f0c083b8SJagan Teki stdout-path = "serial0:115200n8"; 21f0c083b8SJagan Teki }; 22919d2514SChen-Yu Tsai 2332507b86SJernej Skrabec ext_osc32k: ext_osc32k_clk { 2432507b86SJernej Skrabec #clock-cells = <0>; 2532507b86SJernej Skrabec compatible = "fixed-clock"; 2632507b86SJernej Skrabec clock-frequency = <32768>; 2732507b86SJernej Skrabec clock-output-names = "ext_osc32k"; 2832507b86SJernej Skrabec }; 2932507b86SJernej Skrabec 301e33e0dbSChen-Yu Tsai leds { 311e33e0dbSChen-Yu Tsai compatible = "gpio-leds"; 321e33e0dbSChen-Yu Tsai 331e33e0dbSChen-Yu Tsai power { 341e33e0dbSChen-Yu Tsai label = "orangepi:red:power"; 351e33e0dbSChen-Yu Tsai gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 361e33e0dbSChen-Yu Tsai default-state = "on"; 371e33e0dbSChen-Yu Tsai }; 381e33e0dbSChen-Yu Tsai 391e33e0dbSChen-Yu Tsai status { 401e33e0dbSChen-Yu Tsai label = "orangepi:green:status"; 411e33e0dbSChen-Yu Tsai gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ 421e33e0dbSChen-Yu Tsai }; 431e33e0dbSChen-Yu Tsai }; 441e33e0dbSChen-Yu Tsai 45919d2514SChen-Yu Tsai reg_vcc5v: vcc5v { 46919d2514SChen-Yu Tsai /* board wide 5V supply directly from the DC jack */ 47919d2514SChen-Yu Tsai compatible = "regulator-fixed"; 48919d2514SChen-Yu Tsai regulator-name = "vcc-5v"; 49919d2514SChen-Yu Tsai regulator-min-microvolt = <5000000>; 50919d2514SChen-Yu Tsai regulator-max-microvolt = <5000000>; 51919d2514SChen-Yu Tsai regulator-always-on; 52919d2514SChen-Yu Tsai }; 53f0c083b8SJagan Teki}; 54f0c083b8SJagan Teki 559b8d1ccdSChen-Yu Tsai&ehci0 { 569b8d1ccdSChen-Yu Tsai status = "okay"; 579b8d1ccdSChen-Yu Tsai}; 589b8d1ccdSChen-Yu Tsai 599b8d1ccdSChen-Yu Tsai&ehci3 { 609b8d1ccdSChen-Yu Tsai status = "okay"; 619b8d1ccdSChen-Yu Tsai}; 629b8d1ccdSChen-Yu Tsai 638abc4c4aSClément Péron&gpu { 648abc4c4aSClément Péron mali-supply = <®_dcdcc>; 658abc4c4aSClément Péron status = "okay"; 668abc4c4aSClément Péron}; 678abc4c4aSClément Péron 68f0c083b8SJagan Teki&mmc0 { 69f0c083b8SJagan Teki vmmc-supply = <®_cldo1>; 70f0c083b8SJagan Teki cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 71f0c083b8SJagan Teki bus-width = <4>; 72f0c083b8SJagan Teki status = "okay"; 73f0c083b8SJagan Teki}; 74f0c083b8SJagan Teki 759b8d1ccdSChen-Yu Tsai&ohci0 { 769b8d1ccdSChen-Yu Tsai status = "okay"; 779b8d1ccdSChen-Yu Tsai}; 789b8d1ccdSChen-Yu Tsai 799b8d1ccdSChen-Yu Tsai&ohci3 { 809b8d1ccdSChen-Yu Tsai status = "okay"; 819b8d1ccdSChen-Yu Tsai}; 829b8d1ccdSChen-Yu Tsai 83f0c083b8SJagan Teki&r_i2c { 84f0c083b8SJagan Teki status = "okay"; 85f0c083b8SJagan Teki 86f0c083b8SJagan Teki axp805: pmic@36 { 87f0c083b8SJagan Teki compatible = "x-powers,axp805", "x-powers,axp806"; 88f0c083b8SJagan Teki reg = <0x36>; 89f0c083b8SJagan Teki interrupt-parent = <&r_intc>; 90f0c083b8SJagan Teki interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 91f0c083b8SJagan Teki interrupt-controller; 92f0c083b8SJagan Teki #interrupt-cells = <1>; 93f0c083b8SJagan Teki x-powers,self-working-mode; 94919d2514SChen-Yu Tsai vina-supply = <®_vcc5v>; 95919d2514SChen-Yu Tsai vinb-supply = <®_vcc5v>; 96919d2514SChen-Yu Tsai vinc-supply = <®_vcc5v>; 97919d2514SChen-Yu Tsai vind-supply = <®_vcc5v>; 98919d2514SChen-Yu Tsai vine-supply = <®_vcc5v>; 99919d2514SChen-Yu Tsai aldoin-supply = <®_vcc5v>; 100919d2514SChen-Yu Tsai bldoin-supply = <®_vcc5v>; 101919d2514SChen-Yu Tsai cldoin-supply = <®_vcc5v>; 102f0c083b8SJagan Teki 103f0c083b8SJagan Teki regulators { 104f0c083b8SJagan Teki reg_aldo1: aldo1 { 105f0c083b8SJagan Teki regulator-always-on; 106f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 107f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 108f0c083b8SJagan Teki regulator-name = "vcc-pl"; 109f0c083b8SJagan Teki }; 110f0c083b8SJagan Teki 111f0c083b8SJagan Teki reg_aldo2: aldo2 { 112f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 113f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 114f0c083b8SJagan Teki regulator-name = "vcc-ac200"; 115f0c083b8SJagan Teki }; 116f0c083b8SJagan Teki 117f0c083b8SJagan Teki reg_aldo3: aldo3 { 118f0c083b8SJagan Teki regulator-always-on; 119f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 120f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 121f0c083b8SJagan Teki regulator-name = "vcc25-dram"; 122f0c083b8SJagan Teki }; 123f0c083b8SJagan Teki 124f0c083b8SJagan Teki reg_bldo1: bldo1 { 125f0c083b8SJagan Teki regulator-always-on; 126f0c083b8SJagan Teki regulator-min-microvolt = <1800000>; 127f0c083b8SJagan Teki regulator-max-microvolt = <1800000>; 128f0c083b8SJagan Teki regulator-name = "vcc-bias-pll"; 129f0c083b8SJagan Teki }; 130f0c083b8SJagan Teki 131f0c083b8SJagan Teki reg_bldo2: bldo2 { 132f0c083b8SJagan Teki regulator-always-on; 133f0c083b8SJagan Teki regulator-min-microvolt = <1800000>; 134f0c083b8SJagan Teki regulator-max-microvolt = <1800000>; 135f0c083b8SJagan Teki regulator-name = "vcc-efuse-pcie-hdmi-io"; 136f0c083b8SJagan Teki }; 137f0c083b8SJagan Teki 138f0c083b8SJagan Teki reg_bldo3: bldo3 { 139f0c083b8SJagan Teki regulator-always-on; 140f0c083b8SJagan Teki regulator-min-microvolt = <1800000>; 141f0c083b8SJagan Teki regulator-max-microvolt = <1800000>; 142f0c083b8SJagan Teki regulator-name = "vcc-dcxoio"; 143f0c083b8SJagan Teki }; 144f0c083b8SJagan Teki 145f0c083b8SJagan Teki bldo4 { 146f0c083b8SJagan Teki /* unused */ 147f0c083b8SJagan Teki }; 148f0c083b8SJagan Teki 149f0c083b8SJagan Teki reg_cldo1: cldo1 { 150f0c083b8SJagan Teki regulator-always-on; 151f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 152f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 153f0c083b8SJagan Teki regulator-name = "vcc-3v3"; 154f0c083b8SJagan Teki }; 155f0c083b8SJagan Teki 156f0c083b8SJagan Teki reg_cldo2: cldo2 { 157f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 158f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 159f0c083b8SJagan Teki regulator-name = "vcc-wifi-1"; 160f0c083b8SJagan Teki }; 161f0c083b8SJagan Teki 162f0c083b8SJagan Teki reg_cldo3: cldo3 { 163f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 164f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 165f0c083b8SJagan Teki regulator-name = "vcc-wifi-2"; 166f0c083b8SJagan Teki }; 167f0c083b8SJagan Teki 168f0c083b8SJagan Teki reg_dcdca: dcdca { 169f0c083b8SJagan Teki regulator-always-on; 170f0c083b8SJagan Teki regulator-min-microvolt = <810000>; 171f0c083b8SJagan Teki regulator-max-microvolt = <1080000>; 172f0c083b8SJagan Teki regulator-name = "vdd-cpu"; 173f0c083b8SJagan Teki }; 174f0c083b8SJagan Teki 175f0c083b8SJagan Teki reg_dcdcc: dcdcc { 1768abc4c4aSClément Péron regulator-enable-ramp-delay = <32000>; 177f0c083b8SJagan Teki regulator-min-microvolt = <810000>; 178f0c083b8SJagan Teki regulator-max-microvolt = <1080000>; 179f0c083b8SJagan Teki regulator-name = "vdd-gpu"; 180f0c083b8SJagan Teki }; 181f0c083b8SJagan Teki 182f0c083b8SJagan Teki reg_dcdcd: dcdcd { 183f0c083b8SJagan Teki regulator-always-on; 184f0c083b8SJagan Teki regulator-min-microvolt = <960000>; 185f0c083b8SJagan Teki regulator-max-microvolt = <960000>; 186f0c083b8SJagan Teki regulator-name = "vdd-sys"; 187f0c083b8SJagan Teki }; 188f0c083b8SJagan Teki 189f0c083b8SJagan Teki reg_dcdce: dcdce { 190f0c083b8SJagan Teki regulator-always-on; 191f0c083b8SJagan Teki regulator-min-microvolt = <1200000>; 192f0c083b8SJagan Teki regulator-max-microvolt = <1200000>; 193f0c083b8SJagan Teki regulator-name = "vcc-dram"; 194f0c083b8SJagan Teki }; 195f0c083b8SJagan Teki 196f0c083b8SJagan Teki sw { 197f0c083b8SJagan Teki /* unused */ 198f0c083b8SJagan Teki }; 199f0c083b8SJagan Teki }; 200f0c083b8SJagan Teki }; 201f0c083b8SJagan Teki}; 202f0c083b8SJagan Teki 20386be7408SClément Péron&r_ir { 20486be7408SClément Péron status = "okay"; 20586be7408SClément Péron}; 20686be7408SClément Péron 20732507b86SJernej Skrabec&rtc { 20832507b86SJernej Skrabec clocks = <&ext_osc32k>; 20932507b86SJernej Skrabec}; 21032507b86SJernej Skrabec 211f0c083b8SJagan Teki&uart0 { 212f0c083b8SJagan Teki pinctrl-names = "default"; 213f0c083b8SJagan Teki pinctrl-0 = <&uart0_ph_pins>; 214f0c083b8SJagan Teki status = "okay"; 215f0c083b8SJagan Teki}; 2169b8d1ccdSChen-Yu Tsai 2179b8d1ccdSChen-Yu Tsai&usb2otg { 2189b8d1ccdSChen-Yu Tsai dr_mode = "otg"; 2199b8d1ccdSChen-Yu Tsai status = "okay"; 2209b8d1ccdSChen-Yu Tsai}; 2219b8d1ccdSChen-Yu Tsai 2229b8d1ccdSChen-Yu Tsai&usb2phy { 2239b8d1ccdSChen-Yu Tsai usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */ 2249b8d1ccdSChen-Yu Tsai usb0_vbus-supply = <®_vcc5v>; 2259b8d1ccdSChen-Yu Tsai usb3_vbus-supply = <®_vcc5v>; 2269b8d1ccdSChen-Yu Tsai status = "okay"; 2279b8d1ccdSChen-Yu Tsai}; 228