1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring// Copyright (C) 2019 Chen-Yu Tsai <wens@csie.org> 3*724ba675SRob Herring 4*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 5*724ba675SRob Herring#include <dt-bindings/input/input.h> 6*724ba675SRob Herring 7*724ba675SRob Herring/ { 8*724ba675SRob Herring aliases { 9*724ba675SRob Herring serial0 = &uart0; 10*724ba675SRob Herring spi0 = &spi0; 11*724ba675SRob Herring }; 12*724ba675SRob Herring 13*724ba675SRob Herring chosen { 14*724ba675SRob Herring stdout-path = "serial0:115200n8"; 15*724ba675SRob Herring }; 16*724ba675SRob Herring 17*724ba675SRob Herring connector { 18*724ba675SRob Herring compatible = "hdmi-connector"; 19*724ba675SRob Herring type = "d"; 20*724ba675SRob Herring 21*724ba675SRob Herring port { 22*724ba675SRob Herring hdmi_con_in: endpoint { 23*724ba675SRob Herring remote-endpoint = <&hdmi_out_con>; 24*724ba675SRob Herring }; 25*724ba675SRob Herring }; 26*724ba675SRob Herring }; 27*724ba675SRob Herring 28*724ba675SRob Herring leds { 29*724ba675SRob Herring compatible = "gpio-leds"; 30*724ba675SRob Herring 31*724ba675SRob Herring status_led { 32*724ba675SRob Herring label = "librecomputer:blue:status"; 33*724ba675SRob Herring gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ 34*724ba675SRob Herring }; 35*724ba675SRob Herring }; 36*724ba675SRob Herring 37*724ba675SRob Herring reg_vcc3v3: vcc3v3 { 38*724ba675SRob Herring compatible = "regulator-fixed"; 39*724ba675SRob Herring regulator-name = "vcc3v3"; 40*724ba675SRob Herring regulator-min-microvolt = <3300000>; 41*724ba675SRob Herring regulator-max-microvolt = <3300000>; 42*724ba675SRob Herring regulator-always-on; 43*724ba675SRob Herring regulator-boot-on; 44*724ba675SRob Herring vin-supply = <®_vcc5v0>; 45*724ba675SRob Herring }; 46*724ba675SRob Herring 47*724ba675SRob Herring /* This represents the board's 5V input */ 48*724ba675SRob Herring reg_vcc5v0: vcc5v0 { 49*724ba675SRob Herring compatible = "regulator-fixed"; 50*724ba675SRob Herring regulator-name = "vcc5v0"; 51*724ba675SRob Herring regulator-min-microvolt = <5000000>; 52*724ba675SRob Herring regulator-max-microvolt = <5000000>; 53*724ba675SRob Herring regulator-always-on; 54*724ba675SRob Herring regulator-boot-on; 55*724ba675SRob Herring }; 56*724ba675SRob Herring 57*724ba675SRob Herring reg_vcc_dram: vcc-dram { 58*724ba675SRob Herring compatible = "regulator-fixed"; 59*724ba675SRob Herring regulator-name = "vcc-dram"; 60*724ba675SRob Herring regulator-min-microvolt = <1500000>; 61*724ba675SRob Herring regulator-max-microvolt = <1500000>; 62*724ba675SRob Herring regulator-always-on; 63*724ba675SRob Herring regulator-boot-on; 64*724ba675SRob Herring vin-supply = <®_vcc5v0>; 65*724ba675SRob Herring gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ 66*724ba675SRob Herring enable-active-high; 67*724ba675SRob Herring }; 68*724ba675SRob Herring 69*724ba675SRob Herring reg_vcc_io: vcc-io { 70*724ba675SRob Herring compatible = "regulator-fixed"; 71*724ba675SRob Herring regulator-name = "vcc-io"; 72*724ba675SRob Herring /* This is simply a MOSFET switch */ 73*724ba675SRob Herring regulator-always-on; 74*724ba675SRob Herring regulator-boot-on; 75*724ba675SRob Herring vin-supply = <®_vcc3v3>; 76*724ba675SRob Herring gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ 77*724ba675SRob Herring }; 78*724ba675SRob Herring 79*724ba675SRob Herring reg_vcc_usbwifi: vcc-usbwifi { 80*724ba675SRob Herring compatible = "regulator-fixed"; 81*724ba675SRob Herring regulator-name = "vcc-usbwifi"; 82*724ba675SRob Herring regulator-min-microvolt = <3300000>; 83*724ba675SRob Herring regulator-max-microvolt = <3300000>; 84*724ba675SRob Herring vin-supply = <®_vcc5v0>; 85*724ba675SRob Herring gpio = <&pio 6 4 GPIO_ACTIVE_HIGH>; /* PG4 */ 86*724ba675SRob Herring enable-active-high; 87*724ba675SRob Herring }; 88*724ba675SRob Herring 89*724ba675SRob Herring reg_vdd_cpux: vdd-cpux { 90*724ba675SRob Herring compatible = "regulator-fixed"; 91*724ba675SRob Herring regulator-name = "vdd-cpux"; 92*724ba675SRob Herring regulator-min-microvolt = <1100000>; 93*724ba675SRob Herring regulator-max-microvolt = <1100000>; 94*724ba675SRob Herring regulator-always-on; 95*724ba675SRob Herring regulator-boot-on; 96*724ba675SRob Herring vin-supply = <®_vcc5v0>; 97*724ba675SRob Herring gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ 98*724ba675SRob Herring enable-active-high; 99*724ba675SRob Herring }; 100*724ba675SRob Herring}; 101*724ba675SRob Herring 102*724ba675SRob Herring&cpu0 { 103*724ba675SRob Herring cpu-supply = <®_vdd_cpux>; 104*724ba675SRob Herring}; 105*724ba675SRob Herring 106*724ba675SRob Herring&cpu1 { 107*724ba675SRob Herring cpu-supply = <®_vdd_cpux>; 108*724ba675SRob Herring}; 109*724ba675SRob Herring 110*724ba675SRob Herring&cpu2 { 111*724ba675SRob Herring cpu-supply = <®_vdd_cpux>; 112*724ba675SRob Herring}; 113*724ba675SRob Herring 114*724ba675SRob Herring&cpu3 { 115*724ba675SRob Herring cpu-supply = <®_vdd_cpux>; 116*724ba675SRob Herring}; 117*724ba675SRob Herring 118*724ba675SRob Herring&de { 119*724ba675SRob Herring status = "okay"; 120*724ba675SRob Herring}; 121*724ba675SRob Herring 122*724ba675SRob Herring&ehci1 { 123*724ba675SRob Herring status = "okay"; 124*724ba675SRob Herring}; 125*724ba675SRob Herring 126*724ba675SRob Herring&hdmi { 127*724ba675SRob Herring status = "okay"; 128*724ba675SRob Herring}; 129*724ba675SRob Herring 130*724ba675SRob Herring&hdmi_out { 131*724ba675SRob Herring hdmi_out_con: endpoint { 132*724ba675SRob Herring remote-endpoint = <&hdmi_con_in>; 133*724ba675SRob Herring }; 134*724ba675SRob Herring}; 135*724ba675SRob Herring 136*724ba675SRob Herring&mmc0 { 137*724ba675SRob Herring vmmc-supply = <®_vcc_io>; 138*724ba675SRob Herring bus-width = <4>; 139*724ba675SRob Herring cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 140*724ba675SRob Herring status = "okay"; 141*724ba675SRob Herring}; 142*724ba675SRob Herring 143*724ba675SRob Herring&pio { 144*724ba675SRob Herring vcc-pa-supply = <®_vcc_io>; 145*724ba675SRob Herring vcc-pc-supply = <®_vcc_io>; 146*724ba675SRob Herring vcc-pd-supply = <®_vcc_io>; 147*724ba675SRob Herring vcc-pe-supply = <®_vcc_io>; 148*724ba675SRob Herring vcc-pf-supply = <®_vcc_io>; 149*724ba675SRob Herring vcc-pg-supply = <®_vcc_io>; 150*724ba675SRob Herring}; 151*724ba675SRob Herring 152*724ba675SRob Herring&r_pio { 153*724ba675SRob Herring vcc-pl-supply = <®_vcc3v3>; 154*724ba675SRob Herring}; 155*724ba675SRob Herring 156*724ba675SRob Herring&spi0 { 157*724ba675SRob Herring status = "okay"; 158*724ba675SRob Herring 159*724ba675SRob Herring flash@0 { 160*724ba675SRob Herring compatible = "jedec,spi-nor"; 161*724ba675SRob Herring reg = <0>; 162*724ba675SRob Herring spi-max-frequency = <50000000>; 163*724ba675SRob Herring }; 164*724ba675SRob Herring}; 165*724ba675SRob Herring 166*724ba675SRob Herring&uart0 { 167*724ba675SRob Herring pinctrl-names = "default"; 168*724ba675SRob Herring pinctrl-0 = <&uart0_pa_pins>; 169*724ba675SRob Herring status = "okay"; 170*724ba675SRob Herring}; 171*724ba675SRob Herring 172*724ba675SRob Herring&usb_otg { 173*724ba675SRob Herring dr_mode = "peripheral"; 174*724ba675SRob Herring status = "okay"; 175*724ba675SRob Herring}; 176*724ba675SRob Herring 177*724ba675SRob Herring&usbphy { 178*724ba675SRob Herring usb1_vbus-supply = <®_vcc_usbwifi>; 179*724ba675SRob Herring status = "okay"; 180*724ba675SRob Herring}; 181