1*88ea6989SSamuel Holland// SPDX-License-Identifier: (GPL-2.0+ or MIT) 2*88ea6989SSamuel Holland// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org> 3*88ea6989SSamuel Holland 4*88ea6989SSamuel Holland#include <dt-bindings/gpio/gpio.h> 5*88ea6989SSamuel Holland#include <dt-bindings/input/input.h> 6*88ea6989SSamuel Holland 7*88ea6989SSamuel Holland/dts-v1/; 8*88ea6989SSamuel Holland 9*88ea6989SSamuel Holland#include "sun20i-d1.dtsi" 10*88ea6989SSamuel Holland#include "sun20i-common-regulators.dtsi" 11*88ea6989SSamuel Holland 12*88ea6989SSamuel Holland/ { 13*88ea6989SSamuel Holland model = "Allwinner D1 Nezha"; 14*88ea6989SSamuel Holland compatible = "allwinner,d1-nezha", "allwinner,sun20i-d1"; 15*88ea6989SSamuel Holland 16*88ea6989SSamuel Holland aliases { 17*88ea6989SSamuel Holland ethernet0 = &emac; 18*88ea6989SSamuel Holland ethernet1 = &xr829; 19*88ea6989SSamuel Holland serial0 = &uart0; 20*88ea6989SSamuel Holland }; 21*88ea6989SSamuel Holland 22*88ea6989SSamuel Holland chosen { 23*88ea6989SSamuel Holland stdout-path = "serial0:115200n8"; 24*88ea6989SSamuel Holland }; 25*88ea6989SSamuel Holland 26*88ea6989SSamuel Holland reg_usbvbus: usbvbus { 27*88ea6989SSamuel Holland compatible = "regulator-fixed"; 28*88ea6989SSamuel Holland regulator-name = "usbvbus"; 29*88ea6989SSamuel Holland regulator-min-microvolt = <5000000>; 30*88ea6989SSamuel Holland regulator-max-microvolt = <5000000>; 31*88ea6989SSamuel Holland gpio = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */ 32*88ea6989SSamuel Holland enable-active-high; 33*88ea6989SSamuel Holland vin-supply = <®_vcc>; 34*88ea6989SSamuel Holland }; 35*88ea6989SSamuel Holland 36*88ea6989SSamuel Holland /* 37*88ea6989SSamuel Holland * This regulator is PWM-controlled, but the PWM controller is not 38*88ea6989SSamuel Holland * yet supported, so fix the regulator to its default voltage. 39*88ea6989SSamuel Holland */ 40*88ea6989SSamuel Holland reg_vdd_cpu: vdd-cpu { 41*88ea6989SSamuel Holland compatible = "regulator-fixed"; 42*88ea6989SSamuel Holland regulator-name = "vdd-cpu"; 43*88ea6989SSamuel Holland regulator-min-microvolt = <1100000>; 44*88ea6989SSamuel Holland regulator-max-microvolt = <1100000>; 45*88ea6989SSamuel Holland vin-supply = <®_vcc>; 46*88ea6989SSamuel Holland }; 47*88ea6989SSamuel Holland 48*88ea6989SSamuel Holland wifi_pwrseq: wifi-pwrseq { 49*88ea6989SSamuel Holland compatible = "mmc-pwrseq-simple"; 50*88ea6989SSamuel Holland reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */ 51*88ea6989SSamuel Holland }; 52*88ea6989SSamuel Holland}; 53*88ea6989SSamuel Holland 54*88ea6989SSamuel Holland&cpu0 { 55*88ea6989SSamuel Holland cpu-supply = <®_vdd_cpu>; 56*88ea6989SSamuel Holland}; 57*88ea6989SSamuel Holland 58*88ea6989SSamuel Holland&dcxo { 59*88ea6989SSamuel Holland clock-frequency = <24000000>; 60*88ea6989SSamuel Holland}; 61*88ea6989SSamuel Holland 62*88ea6989SSamuel Holland&ehci0 { 63*88ea6989SSamuel Holland status = "okay"; 64*88ea6989SSamuel Holland}; 65*88ea6989SSamuel Holland 66*88ea6989SSamuel Holland&ehci1 { 67*88ea6989SSamuel Holland status = "okay"; 68*88ea6989SSamuel Holland}; 69*88ea6989SSamuel Holland 70*88ea6989SSamuel Holland&emac { 71*88ea6989SSamuel Holland pinctrl-0 = <&rgmii_pe_pins>; 72*88ea6989SSamuel Holland pinctrl-names = "default"; 73*88ea6989SSamuel Holland phy-handle = <&ext_rgmii_phy>; 74*88ea6989SSamuel Holland phy-mode = "rgmii-id"; 75*88ea6989SSamuel Holland phy-supply = <®_vcc_3v3>; 76*88ea6989SSamuel Holland status = "okay"; 77*88ea6989SSamuel Holland}; 78*88ea6989SSamuel Holland 79*88ea6989SSamuel Holland&i2c2 { 80*88ea6989SSamuel Holland pinctrl-0 = <&i2c2_pb0_pins>; 81*88ea6989SSamuel Holland pinctrl-names = "default"; 82*88ea6989SSamuel Holland status = "okay"; 83*88ea6989SSamuel Holland 84*88ea6989SSamuel Holland pcf8574a: gpio@38 { 85*88ea6989SSamuel Holland compatible = "nxp,pcf8574a"; 86*88ea6989SSamuel Holland reg = <0x38>; 87*88ea6989SSamuel Holland interrupt-parent = <&pio>; 88*88ea6989SSamuel Holland interrupts = <1 2 IRQ_TYPE_LEVEL_LOW>; /* PB2 */ 89*88ea6989SSamuel Holland interrupt-controller; 90*88ea6989SSamuel Holland gpio-controller; 91*88ea6989SSamuel Holland #gpio-cells = <2>; 92*88ea6989SSamuel Holland #interrupt-cells = <2>; 93*88ea6989SSamuel Holland }; 94*88ea6989SSamuel Holland}; 95*88ea6989SSamuel Holland 96*88ea6989SSamuel Holland&mdio { 97*88ea6989SSamuel Holland ext_rgmii_phy: ethernet-phy@1 { 98*88ea6989SSamuel Holland compatible = "ethernet-phy-ieee802.3-c22"; 99*88ea6989SSamuel Holland reg = <1>; 100*88ea6989SSamuel Holland }; 101*88ea6989SSamuel Holland}; 102*88ea6989SSamuel Holland 103*88ea6989SSamuel Holland&mmc0 { 104*88ea6989SSamuel Holland bus-width = <4>; 105*88ea6989SSamuel Holland cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 106*88ea6989SSamuel Holland disable-wp; 107*88ea6989SSamuel Holland vmmc-supply = <®_vcc_3v3>; 108*88ea6989SSamuel Holland vqmmc-supply = <®_vcc_3v3>; 109*88ea6989SSamuel Holland pinctrl-0 = <&mmc0_pins>; 110*88ea6989SSamuel Holland pinctrl-names = "default"; 111*88ea6989SSamuel Holland status = "okay"; 112*88ea6989SSamuel Holland}; 113*88ea6989SSamuel Holland 114*88ea6989SSamuel Holland&mmc1 { 115*88ea6989SSamuel Holland bus-width = <4>; 116*88ea6989SSamuel Holland mmc-pwrseq = <&wifi_pwrseq>; 117*88ea6989SSamuel Holland non-removable; 118*88ea6989SSamuel Holland vmmc-supply = <®_vcc_3v3>; 119*88ea6989SSamuel Holland vqmmc-supply = <®_vcc_3v3>; 120*88ea6989SSamuel Holland pinctrl-0 = <&mmc1_pins>; 121*88ea6989SSamuel Holland pinctrl-names = "default"; 122*88ea6989SSamuel Holland status = "okay"; 123*88ea6989SSamuel Holland 124*88ea6989SSamuel Holland xr829: wifi@1 { 125*88ea6989SSamuel Holland reg = <1>; 126*88ea6989SSamuel Holland interrupt-parent = <&pio>; 127*88ea6989SSamuel Holland interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 */ 128*88ea6989SSamuel Holland interrupt-names = "host-wake"; 129*88ea6989SSamuel Holland }; 130*88ea6989SSamuel Holland}; 131*88ea6989SSamuel Holland 132*88ea6989SSamuel Holland&ohci0 { 133*88ea6989SSamuel Holland status = "okay"; 134*88ea6989SSamuel Holland}; 135*88ea6989SSamuel Holland 136*88ea6989SSamuel Holland&ohci1 { 137*88ea6989SSamuel Holland status = "okay"; 138*88ea6989SSamuel Holland}; 139*88ea6989SSamuel Holland 140*88ea6989SSamuel Holland&uart0 { 141*88ea6989SSamuel Holland pinctrl-0 = <&uart0_pb8_pins>; 142*88ea6989SSamuel Holland pinctrl-names = "default"; 143*88ea6989SSamuel Holland status = "okay"; 144*88ea6989SSamuel Holland}; 145*88ea6989SSamuel Holland 146*88ea6989SSamuel Holland&uart1 { 147*88ea6989SSamuel Holland uart-has-rtscts; 148*88ea6989SSamuel Holland pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>; 149*88ea6989SSamuel Holland pinctrl-names = "default"; 150*88ea6989SSamuel Holland status = "okay"; 151*88ea6989SSamuel Holland 152*88ea6989SSamuel Holland /* XR829 bluetooth is connected here */ 153*88ea6989SSamuel Holland}; 154*88ea6989SSamuel Holland 155*88ea6989SSamuel Holland&usb_otg { 156*88ea6989SSamuel Holland dr_mode = "otg"; 157*88ea6989SSamuel Holland status = "okay"; 158*88ea6989SSamuel Holland}; 159*88ea6989SSamuel Holland 160*88ea6989SSamuel Holland&usbphy { 161*88ea6989SSamuel Holland usb0_id_det-gpios = <&pio 3 21 GPIO_ACTIVE_HIGH>; /* PD21 */ 162*88ea6989SSamuel Holland usb0_vbus_det-gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */ 163*88ea6989SSamuel Holland usb0_vbus-supply = <®_usbvbus>; 164*88ea6989SSamuel Holland usb1_vbus-supply = <®_vcc>; 165*88ea6989SSamuel Holland status = "okay"; 166*88ea6989SSamuel Holland}; 167