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 232345b744SMarcus Cooper connector { 242345b744SMarcus Cooper compatible = "hdmi-connector"; 252345b744SMarcus Cooper type = "a"; 262345b744SMarcus Cooper ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 272345b744SMarcus Cooper 282345b744SMarcus Cooper port { 292345b744SMarcus Cooper hdmi_con_in: endpoint { 302345b744SMarcus Cooper remote-endpoint = <&hdmi_out_con>; 312345b744SMarcus Cooper }; 322345b744SMarcus Cooper }; 332345b744SMarcus Cooper }; 342345b744SMarcus Cooper 3532507b86SJernej Skrabec ext_osc32k: ext_osc32k_clk { 3632507b86SJernej Skrabec #clock-cells = <0>; 3732507b86SJernej Skrabec compatible = "fixed-clock"; 3832507b86SJernej Skrabec clock-frequency = <32768>; 3932507b86SJernej Skrabec clock-output-names = "ext_osc32k"; 4032507b86SJernej Skrabec }; 4132507b86SJernej Skrabec 421e33e0dbSChen-Yu Tsai leds { 431e33e0dbSChen-Yu Tsai compatible = "gpio-leds"; 441e33e0dbSChen-Yu Tsai 451e33e0dbSChen-Yu Tsai power { 461e33e0dbSChen-Yu Tsai label = "orangepi:red:power"; 471e33e0dbSChen-Yu Tsai gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 481e33e0dbSChen-Yu Tsai default-state = "on"; 491e33e0dbSChen-Yu Tsai }; 501e33e0dbSChen-Yu Tsai 511e33e0dbSChen-Yu Tsai status { 521e33e0dbSChen-Yu Tsai label = "orangepi:green:status"; 531e33e0dbSChen-Yu Tsai gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ 541e33e0dbSChen-Yu Tsai }; 551e33e0dbSChen-Yu Tsai }; 561e33e0dbSChen-Yu Tsai 57919d2514SChen-Yu Tsai reg_vcc5v: vcc5v { 58919d2514SChen-Yu Tsai /* board wide 5V supply directly from the DC jack */ 59919d2514SChen-Yu Tsai compatible = "regulator-fixed"; 60919d2514SChen-Yu Tsai regulator-name = "vcc-5v"; 61919d2514SChen-Yu Tsai regulator-min-microvolt = <5000000>; 62919d2514SChen-Yu Tsai regulator-max-microvolt = <5000000>; 63919d2514SChen-Yu Tsai regulator-always-on; 64919d2514SChen-Yu Tsai }; 65f0c083b8SJagan Teki}; 66f0c083b8SJagan Teki 672345b744SMarcus Cooper&de { 682345b744SMarcus Cooper status = "okay"; 692345b744SMarcus Cooper}; 702345b744SMarcus Cooper 719b8d1ccdSChen-Yu Tsai&ehci0 { 729b8d1ccdSChen-Yu Tsai status = "okay"; 739b8d1ccdSChen-Yu Tsai}; 749b8d1ccdSChen-Yu Tsai 759b8d1ccdSChen-Yu Tsai&ehci3 { 769b8d1ccdSChen-Yu Tsai status = "okay"; 779b8d1ccdSChen-Yu Tsai}; 789b8d1ccdSChen-Yu Tsai 798abc4c4aSClément Péron&gpu { 808abc4c4aSClément Péron mali-supply = <®_dcdcc>; 818abc4c4aSClément Péron status = "okay"; 828abc4c4aSClément Péron}; 838abc4c4aSClément Péron 842345b744SMarcus Cooper&hdmi { 852345b744SMarcus Cooper status = "okay"; 862345b744SMarcus Cooper}; 872345b744SMarcus Cooper 882345b744SMarcus Cooper&hdmi_out { 892345b744SMarcus Cooper hdmi_out_con: endpoint { 902345b744SMarcus Cooper remote-endpoint = <&hdmi_con_in>; 912345b744SMarcus Cooper }; 922345b744SMarcus Cooper}; 932345b744SMarcus Cooper 94f0c083b8SJagan Teki&mmc0 { 95f0c083b8SJagan Teki vmmc-supply = <®_cldo1>; 96f0c083b8SJagan Teki cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 97f0c083b8SJagan Teki bus-width = <4>; 98f0c083b8SJagan Teki status = "okay"; 99f0c083b8SJagan Teki}; 100f0c083b8SJagan Teki 1019b8d1ccdSChen-Yu Tsai&ohci0 { 1029b8d1ccdSChen-Yu Tsai status = "okay"; 1039b8d1ccdSChen-Yu Tsai}; 1049b8d1ccdSChen-Yu Tsai 1059b8d1ccdSChen-Yu Tsai&ohci3 { 1069b8d1ccdSChen-Yu Tsai status = "okay"; 1079b8d1ccdSChen-Yu Tsai}; 1089b8d1ccdSChen-Yu Tsai 109f0c083b8SJagan Teki&r_i2c { 110f0c083b8SJagan Teki status = "okay"; 111f0c083b8SJagan Teki 112f0c083b8SJagan Teki axp805: pmic@36 { 113f0c083b8SJagan Teki compatible = "x-powers,axp805", "x-powers,axp806"; 114f0c083b8SJagan Teki reg = <0x36>; 115f0c083b8SJagan Teki interrupt-parent = <&r_intc>; 116f0c083b8SJagan Teki interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 117f0c083b8SJagan Teki interrupt-controller; 118f0c083b8SJagan Teki #interrupt-cells = <1>; 119f0c083b8SJagan Teki x-powers,self-working-mode; 120919d2514SChen-Yu Tsai vina-supply = <®_vcc5v>; 121919d2514SChen-Yu Tsai vinb-supply = <®_vcc5v>; 122919d2514SChen-Yu Tsai vinc-supply = <®_vcc5v>; 123919d2514SChen-Yu Tsai vind-supply = <®_vcc5v>; 124919d2514SChen-Yu Tsai vine-supply = <®_vcc5v>; 125919d2514SChen-Yu Tsai aldoin-supply = <®_vcc5v>; 126919d2514SChen-Yu Tsai bldoin-supply = <®_vcc5v>; 127919d2514SChen-Yu Tsai cldoin-supply = <®_vcc5v>; 128f0c083b8SJagan Teki 129f0c083b8SJagan Teki regulators { 130f0c083b8SJagan Teki reg_aldo1: aldo1 { 131f0c083b8SJagan Teki regulator-always-on; 132f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 133f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 134f0c083b8SJagan Teki regulator-name = "vcc-pl"; 135f0c083b8SJagan Teki }; 136f0c083b8SJagan Teki 137f0c083b8SJagan Teki reg_aldo2: aldo2 { 138f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 139f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 140f0c083b8SJagan Teki regulator-name = "vcc-ac200"; 141f0c083b8SJagan Teki }; 142f0c083b8SJagan Teki 143f0c083b8SJagan Teki reg_aldo3: aldo3 { 144f0c083b8SJagan Teki regulator-always-on; 145f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 146f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 147f0c083b8SJagan Teki regulator-name = "vcc25-dram"; 148f0c083b8SJagan Teki }; 149f0c083b8SJagan Teki 150f0c083b8SJagan Teki reg_bldo1: bldo1 { 151f0c083b8SJagan Teki regulator-always-on; 152f0c083b8SJagan Teki regulator-min-microvolt = <1800000>; 153f0c083b8SJagan Teki regulator-max-microvolt = <1800000>; 154f0c083b8SJagan Teki regulator-name = "vcc-bias-pll"; 155f0c083b8SJagan Teki }; 156f0c083b8SJagan Teki 157f0c083b8SJagan Teki reg_bldo2: bldo2 { 158f0c083b8SJagan Teki regulator-always-on; 159f0c083b8SJagan Teki regulator-min-microvolt = <1800000>; 160f0c083b8SJagan Teki regulator-max-microvolt = <1800000>; 161f0c083b8SJagan Teki regulator-name = "vcc-efuse-pcie-hdmi-io"; 162f0c083b8SJagan Teki }; 163f0c083b8SJagan Teki 164f0c083b8SJagan Teki reg_bldo3: bldo3 { 165f0c083b8SJagan Teki regulator-always-on; 166f0c083b8SJagan Teki regulator-min-microvolt = <1800000>; 167f0c083b8SJagan Teki regulator-max-microvolt = <1800000>; 168f0c083b8SJagan Teki regulator-name = "vcc-dcxoio"; 169f0c083b8SJagan Teki }; 170f0c083b8SJagan Teki 171f0c083b8SJagan Teki bldo4 { 172f0c083b8SJagan Teki /* unused */ 173f0c083b8SJagan Teki }; 174f0c083b8SJagan Teki 175f0c083b8SJagan Teki reg_cldo1: cldo1 { 176f0c083b8SJagan Teki regulator-always-on; 177f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 178f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 179f0c083b8SJagan Teki regulator-name = "vcc-3v3"; 180f0c083b8SJagan Teki }; 181f0c083b8SJagan Teki 182f0c083b8SJagan Teki reg_cldo2: cldo2 { 183f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 184f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 185f0c083b8SJagan Teki regulator-name = "vcc-wifi-1"; 186f0c083b8SJagan Teki }; 187f0c083b8SJagan Teki 188f0c083b8SJagan Teki reg_cldo3: cldo3 { 189f0c083b8SJagan Teki regulator-min-microvolt = <3300000>; 190f0c083b8SJagan Teki regulator-max-microvolt = <3300000>; 191f0c083b8SJagan Teki regulator-name = "vcc-wifi-2"; 192f0c083b8SJagan Teki }; 193f0c083b8SJagan Teki 194f0c083b8SJagan Teki reg_dcdca: dcdca { 195f0c083b8SJagan Teki regulator-always-on; 196f0c083b8SJagan Teki regulator-min-microvolt = <810000>; 197f0c083b8SJagan Teki regulator-max-microvolt = <1080000>; 198f0c083b8SJagan Teki regulator-name = "vdd-cpu"; 199f0c083b8SJagan Teki }; 200f0c083b8SJagan Teki 201f0c083b8SJagan Teki reg_dcdcc: dcdcc { 2028abc4c4aSClément Péron regulator-enable-ramp-delay = <32000>; 203f0c083b8SJagan Teki regulator-min-microvolt = <810000>; 204f0c083b8SJagan Teki regulator-max-microvolt = <1080000>; 205f0c083b8SJagan Teki regulator-name = "vdd-gpu"; 206f0c083b8SJagan Teki }; 207f0c083b8SJagan Teki 208f0c083b8SJagan Teki reg_dcdcd: dcdcd { 209f0c083b8SJagan Teki regulator-always-on; 210f0c083b8SJagan Teki regulator-min-microvolt = <960000>; 211f0c083b8SJagan Teki regulator-max-microvolt = <960000>; 212f0c083b8SJagan Teki regulator-name = "vdd-sys"; 213f0c083b8SJagan Teki }; 214f0c083b8SJagan Teki 215f0c083b8SJagan Teki reg_dcdce: dcdce { 216f0c083b8SJagan Teki regulator-always-on; 217f0c083b8SJagan Teki regulator-min-microvolt = <1200000>; 218f0c083b8SJagan Teki regulator-max-microvolt = <1200000>; 219f0c083b8SJagan Teki regulator-name = "vcc-dram"; 220f0c083b8SJagan Teki }; 221f0c083b8SJagan Teki 222f0c083b8SJagan Teki sw { 223f0c083b8SJagan Teki /* unused */ 224f0c083b8SJagan Teki }; 225f0c083b8SJagan Teki }; 226f0c083b8SJagan Teki }; 227f0c083b8SJagan Teki}; 228f0c083b8SJagan Teki 22986be7408SClément Péron&r_ir { 23086be7408SClément Péron status = "okay"; 23186be7408SClément Péron}; 23286be7408SClément Péron 23332507b86SJernej Skrabec&rtc { 23432507b86SJernej Skrabec clocks = <&ext_osc32k>; 23532507b86SJernej Skrabec}; 23632507b86SJernej Skrabec 237f0c083b8SJagan Teki&uart0 { 238f0c083b8SJagan Teki pinctrl-names = "default"; 239f0c083b8SJagan Teki pinctrl-0 = <&uart0_ph_pins>; 240f0c083b8SJagan Teki status = "okay"; 241f0c083b8SJagan Teki}; 2429b8d1ccdSChen-Yu Tsai 2439b8d1ccdSChen-Yu Tsai&usb2otg { 2449b8d1ccdSChen-Yu Tsai dr_mode = "otg"; 2459b8d1ccdSChen-Yu Tsai status = "okay"; 2469b8d1ccdSChen-Yu Tsai}; 2479b8d1ccdSChen-Yu Tsai 2489b8d1ccdSChen-Yu Tsai&usb2phy { 2499b8d1ccdSChen-Yu Tsai usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */ 2509b8d1ccdSChen-Yu Tsai usb0_vbus-supply = <®_vcc5v>; 2519b8d1ccdSChen-Yu Tsai usb3_vbus-supply = <®_vcc5v>; 2529b8d1ccdSChen-Yu Tsai status = "okay"; 2539b8d1ccdSChen-Yu Tsai}; 254