diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts index b78941d29..1184a6380 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts @@ -6,6 +6,7 @@ /dts-v1/; #include "sun50i-h616.dtsi" +#include "sun50i-h616-cpu-opp.dtsi" #include #include @@ -18,26 +19,37 @@ aliases { ethernet0 = &emac0; serial0 = &uart0; + serial5 = &uart5; }; chosen { stdout-path = "serial0:115200n8"; }; - leds { + connector { + compatible = "hdmi-connector"; + type = "d"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + + leds: leds { compatible = "gpio-leds"; - led-0 { - function = LED_FUNCTION_POWER; - color = ; + led-red { + label = "red_led"; gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */ - default-state = "on"; + linux,default-trigger = "none"; }; - led-1 { - function = LED_FUNCTION_STATUS; - color = ; + led-green { + label = "green_led"; gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */ + linux,default-trigger = "heartbeat"; }; }; @@ -60,15 +72,54 @@ gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */ status = "okay"; }; + + reg_vcc33_wifi: vcc33-wifi { + /* Always on 3.3V regulator for WiFi and BT */ + compatible = "regulator-fixed"; + regulator-name = "vcc33-wifi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + vin-supply = <®_vcc5v>; + }; + + reg_vcc_wifi_io: vcc-wifi-io { + /* Always on 1.8V/300mA regulator for WiFi and BT IO */ + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi-io"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + vin-supply = <®_vcc33_wifi>; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rtc 1>; + clock-names = "osc32k-out"; + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ + post-power-on-delay-ms = <200>; + }; }; -&ehci1 { +&de { status = "okay"; }; +&hdmi { + hvcc-supply = <®_bldo1>; + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + &gpu { mali-supply = <®_dcdcc>; - status = "okay"; + status = "disabled"; }; &emac0 { @@ -93,10 +144,17 @@ vmmc-supply = <®_dcdce>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ bus-width = <4>; + max-frequency = <50000000>; status = "okay"; }; -&ohci1 { +&mmc1 { + vmmc-supply = <®_vcc33_wifi>; + vqmmc-supply = <®_vcc_wifi_io>; + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + mmc-ddr-1_8v; status = "okay"; }; @@ -183,14 +241,14 @@ reg_dcdcc: dcdcc { regulator-always-on; regulator-min-microvolt = <810000>; - regulator-max-microvolt = <990000>; + regulator-max-microvolt = <1100000>; regulator-name = "vdd-gpu-sys"; }; reg_dcdcd: dcdcd { regulator-always-on; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <1500000>; + regulator-min-microvolt = <1400000>; + regulator-max-microvolt = <1400000>; regulator-name = "vdd-dram"; }; @@ -216,20 +274,6 @@ vcc-pi-supply = <®_aldo1>; }; -&spi0 { - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>; - - flash@0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <40000000>; - }; -}; - &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_ph_pins>; @@ -256,3 +300,133 @@ usb1_vbus-supply = <®_usb1_vbus>; status = "okay"; }; + +&ehci0 { + status = "disabled"; +}; + +&ehci1 { + status = "okay"; +}; + +&ehci2 { + status = "okay"; +}; + +&ehci3 { + status = "okay"; +}; + +&ohci0 { + status = "disabled"; +}; + +&ohci1 { + status = "okay"; +}; + +&ohci2 { + status = "okay"; +}; + +&ohci3 { + status = "okay"; +}; + +&ir { + pinctrl-names = "default"; + pinctrl-0 = <&ir_rx_pin>; + status = "okay"; +}; + +&i2c1 { + status = "disabled"; +}; + +&i2c2 { + status = "disabled"; +}; + +&i2c3 { + status = "disabled"; +}; + +&i2c4 { + status = "disabled"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_ph_pins>; + status = "disabled"; +}; + +&uart5 { + pinctrl-names = "default"; + pinctrl-0 = <&uart5_ph_pins>; + status = "disabled"; +}; + +&spi0 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>; + + spidev@0 { + status = "disabled"; + compatible = "rohm,dh2228fv"; + reg = <0>; + spi-max-frequency = <1000000>; + }; + + flash@0 { + status = "okay"; + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + }; +}; + +&spi1 { + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&spi1_pins>, <&spi1_cs1_pin>; + + spidev@1 { + compatible = "rohm,dh2228fv"; + status = "disabled"; + reg = <1>; + spi-max-frequency = <1000000>; + }; +}; + +&codec { + allwinner,audio-routing = + "Line Out", "LINEOUT"; + status = "okay"; +}; + +&ahub_dam_plat { + status = "okay"; +}; + +&ahub_dam_mach { + status = "okay"; +}; + +&ahub1_plat { + status = "okay"; +}; + +&ahub1_mach { + status = "okay"; +}; + +&cpu0 { + cpu-supply = <®_dcdca>; + status = "okay"; +};