151 kx // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
151 kx // Copyright (C) 2016 ARM Ltd.
151 kx
151 kx /dts-v1/;
151 kx #include "sun50i-h5.dtsi"
151 kx #include "sun50i-h5-cpu-opp-1.4ghz.dtsi"
151 kx
151 kx #include <dt-bindings/gpio/gpio.h>
151 kx #include <dt-bindings/input/input.h>
151 kx #include <dt-bindings/pinctrl/sun4i-a10.h>
151 kx
151 kx / {
151 kx model = "Repka-Pi3-H5";
151 kx repka-freq = "1.4 GHz";
151 kx repka-pinout = "5";
156 kx compatible = "rbs,repka-pi3", "allwinner,sun50i-h5";
151 kx
151 kx reg_vcc3v3: vcc3v3 {
151 kx compatible = "regulator-fixed";
151 kx regulator-name = "vcc3v3";
151 kx regulator-min-microvolt = <3300000>;
151 kx regulator-max-microvolt = <3300000>;
151 kx };
151 kx
151 kx aliases {
151 kx ethernet0 = &emac;
151 kx serial0 = &uart0;
151 kx serial1 = &uart1;
151 kx spi0 = &spi0;
151 kx spi1 = &spi1;
151 kx };
151 kx
151 kx chosen {
151 kx stdout-path = "serial0:115200n8";
151 kx };
151 kx
151 kx connector {
151 kx compatible = "hdmi-connector";
151 kx type = "a";
151 kx
151 kx port {
151 kx hdmi_con_in: endpoint {
151 kx remote-endpoint = <&hdmi_out_con>;
151 kx };
151 kx };
151 kx };
151 kx
151 kx ext_osc32k: ext_osc32k_clk {
151 kx #clock-cells = <0>;
151 kx compatible = "fixed-clock";
151 kx clock-frequency = <32768>;
151 kx clock-output-names = "ext_osc32k";
151 kx };
151 kx
151 kx leds {
151 kx compatible = "gpio-leds";
151 kx
151 kx status {
151 kx label = "rbs:red:status";
151 kx gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
151 kx linux,default-trigger = "heartbeat";
151 kx };
151 kx };
151 kx
151 kx wifi_pwrseq: wifi_pwrseq {
151 kx compatible = "mmc-pwrseq-simple";
151 kx reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>;
151 kx post-power-on-delay-ms = <200>;
151 kx };
151 kx
151 kx };
151 kx
151 kx &codec {
151 kx allwinner,audio-routing =
151 kx "Line Out", "LINEOUT",
151 kx "MIC1", "Mic",
151 kx "Mic", "MBIAS";
151 kx status = "okay";
151 kx };
151 kx
151 kx &cpu0 {
151 kx cpu-supply = <®_dcdc2>;
151 kx };
151 kx
151 kx &cpu1 {
151 kx cpu-supply = <®_dcdc2>;
151 kx };
151 kx
151 kx &cpu2 {
151 kx cpu-supply = <®_dcdc2>;
151 kx };
151 kx
151 kx &cpu3 {
151 kx cpu-supply = <®_dcdc2>;
151 kx };
151 kx
151 kx &de {
151 kx status = "okay";
151 kx };
151 kx
151 kx &ehci0 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &ehci1 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &ehci2 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &ehci3 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &emac {
151 kx phy-handle = <&int_mii_phy>;
151 kx phy-mode = "mii";
151 kx allwinner,leds-active-low;
151 kx status = "okay";
151 kx };
151 kx
151 kx &hdmi {
151 kx status = "okay";
151 kx };
151 kx
151 kx &hdmi_out {
151 kx hdmi_out_con: endpoint {
151 kx remote-endpoint = <&hdmi_con_in>;
151 kx };
151 kx };
151 kx
156 kx &i2s2 {
156 kx status = "okay";
156 kx };
156 kx
156 kx &sound_hdmi {
156 kx status = "okay";
156 kx };
156 kx
151 kx &ir {
151 kx pinctrl-names = "default";
151 kx pinctrl-0 = <&r_ir_rx_pin>;
151 kx status = "disabled";
151 kx };
151 kx
151 kx &rtc {
151 kx clocks = <&ext_osc32k>;
151 kx };
151 kx
151 kx &mmc0 {
151 kx vmmc-supply = <®_vcc3v3>;
151 kx bus-width = <4>;
151 kx cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
151 kx status = "okay";
151 kx };
151 kx
151 kx &mmc1 {
151 kx vmmc-supply = <®_vcc3v3>;
151 kx mmc-pwrseq = <&wifi_pwrseq>;
151 kx bus-width = <4>;
151 kx non-removable;
151 kx status = "okay";
151 kx
151 kx brcmf: wifi@1 {
151 kx reg = <1>;
151 kx compatible = "brcm,bcm4329-fmac";
151 kx interrupt-parent = <&r_pio>;
151 kx interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
151 kx interrupt-names = "host-wake";
151 kx };
151 kx
151 kx };
151 kx
151 kx &mmc2 {
151 kx pinctrl-names = "default";
151 kx pinctrl-0 = <&mmc2_8bit_pins>;
151 kx vmmc-supply = <®_vcc3v3>;
151 kx bus-width = <8>;
151 kx non-removable;
151 kx cap-mmc-hw-reset;
151 kx status = "disabled";
151 kx };
151 kx
151 kx &ohci0 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &ohci1 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &ohci2 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &ohci3 {
151 kx status = "okay";
151 kx };
151 kx
151 kx &i2c1 {
151 kx status = "disabled"; /* PA19,PA18 */
151 kx };
151 kx
151 kx &i2c0 {
151 kx status = "okay"; /* PA11, PA12 */
151 kx };
151 kx
151 kx &r_i2c {
151 kx status = "okay";
151 kx
151 kx axp22x: pmic@34 {
151 kx compatible = "x-powers,axp221";
151 kx reg = <0x34>;
151 kx interrupt-parent = <&r_intc>;
151 kx interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
151 kx };
151 kx };
151 kx
151 kx #include "axp22x.dtsi"
151 kx
151 kx &ac_power_supply {
151 kx status = "okay";
151 kx };
151 kx
151 kx ®_aldo2 { /* VCC-PG 1.8 */
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <1800000>;
151 kx regulator-max-microvolt = <1800000>;
151 kx regulator-name = "vcc-pg";
151 kx };
151 kx
151 kx ®_aldo3 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <3300000>;
151 kx regulator-max-microvolt = <3300000>;
151 kx regulator-name = "vcc-pll-avcc";
151 kx };
151 kx
151 kx ®_dc1sw {
151 kx regulator-name = "vcc-phy";
151 kx };
151 kx
151 kx ®_dcdc1 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <3300000>;
151 kx regulator-max-microvolt = <3300000>;
151 kx regulator-name = "vcc-3v3";
151 kx };
151 kx
151 kx ®_dcdc2 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <1000000>;
151 kx regulator-max-microvolt = <1360000>;
151 kx regulator-name = "vdd-cpux-a";
151 kx };
151 kx
151 kx ®_dcdc3 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <1000000>;
151 kx regulator-max-microvolt = <1360000>;
151 kx regulator-name = "vdd-cpux-b";
151 kx };
151 kx
151 kx /* DCDC3 is polyphased with DCDC2 */
151 kx
151 kx /*
151 kx * The DRAM chips used by rbs-h5 boards are DDR3 -compatibl
151 kx *
151 kx */
151 kx ®_dcdc5 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <1500000>;
151 kx regulator-max-microvolt = <1500000>;
151 kx regulator-name = "vcc-dram";
151 kx };
151 kx
151 kx ®_dldo1 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <3300000>;
151 kx regulator-max-microvolt = <3300000>;
151 kx regulator-name = "vcc-wifi-1";
151 kx };
151 kx
151 kx ®_dldo2 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <3300000>;
151 kx regulator-max-microvolt = <3300000>;
151 kx regulator-name = "vcc-wifi-2";
151 kx };
151 kx
151 kx ®_dldo3 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <3300000>;
151 kx regulator-max-microvolt = <3300000>;
151 kx regulator-name = "vcc-wifi-3";
151 kx };
151 kx
151 kx ®_dldo4 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <3300000>;
151 kx regulator-max-microvolt = <3300000>;
151 kx regulator-name = "vcc-wifi-4";
151 kx };
151 kx /* VCC-wifi-IO 1.8 */
151 kx ®_eldo1 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <1800000>;
151 kx regulator-max-microvolt = <1800000>;
151 kx regulator-name = "vcc-wifi-io-1";
151 kx };
151 kx
151 kx ®_eldo2 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <1800000>;
151 kx regulator-max-microvolt = <1800000>;
151 kx regulator-name = "vcc-wifi-io-2";
151 kx };
151 kx
151 kx ®_eldo3 {
151 kx regulator-always-on;
151 kx regulator-min-microvolt = <1800000>;
151 kx regulator-max-microvolt = <1800000>;
151 kx regulator-name = "vcc-wifi-io-3";
151 kx };
151 kx
151 kx
151 kx ®_rtc_ldo {
151 kx regulator-name = "vcc-rtc";
151 kx };
151 kx
151 kx &spi0 {
151 kx pinctrl-names = "default", "default";
151 kx pinctrl-1 = <&spi0_cs1>;
151 kx cs-gpios = <0>, <&pio 0 3 0>; /* PA3 */
151 kx
151 kx status = "okay";
151 kx spidev@0 {
151 kx compatible = "rohm,dh2228fv";
151 kx status = "okay";
151 kx reg = <0>;
151 kx spi-max-frequency = <1000000>;
151 kx };
151 kx spidev@1 {
151 kx compatible = "rohm,dh2228fv";
151 kx status = "okay";
151 kx reg = <1>;
151 kx spi-max-frequency = <1000000>;
151 kx };
151 kx };
151 kx
151 kx &spi1 {
151 kx pinctrl-names = "default", "default";
151 kx
151 kx status = "okay";
151 kx spidev@0 {
151 kx compatible = "rohm,dh2228fv";
151 kx status = "okay";
151 kx reg = <0>;
151 kx spi-max-frequency = <1000000>;
151 kx };
151 kx };
151 kx
151 kx &pio {
151 kx spi0_cs1: spi0_cs1 {
151 kx pins = "PA3";
151 kx function = "gpio_out";
151 kx output-high;
151 kx };
151 kx };
151 kx
151 kx
151 kx &r_pwm {
151 kx status = "okay";
151 kx };
151 kx
151 kx /* to debag serial */
151 kx &uart0 {
151 kx pinctrl-names = "default";
151 kx pinctrl-0 = <&uart0_pa_pins>;
151 kx status = "okay";
151 kx };
151 kx
151 kx /* to bt-wifi module */
151 kx &uart1 {
151 kx pinctrl-names = "default";
151 kx pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
151 kx uart-has-rtscts;
151 kx status = "okay";
151 kx
156 kx bluetooth {
156 kx compatible = "brcm,bcm43438-bt";
156 kx clocks = <&rtc 1>;
156 kx clock-names = "lpo";
156 kx device-wakeup-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 AP-WAKE-BT */
156 kx host-wakeup-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 BT-WAKE-AP */
156 kx shutdown-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 BT-RST-N */
156 kx max-speed = <1500000>;
156 kx };
151 kx };
151 kx
151 kx &uart2 {
151 kx pinctrl-names = "default";
151 kx pinctrl-0 = <&uart2_pins>, <&uart2_rts_cts_pins>;
151 kx status = "disabled";
151 kx };
151 kx
151 kx &r_uart {
151 kx pinctrl-names = "default";
151 kx pinctrl-0 = <&r_uart_pins>;
151 kx status = "disabled";
151 kx };
151 kx
151 kx &usb_otg {
151 kx dr_mode = "host";
151 kx status = "okay";
151 kx };
151 kx
151 kx &usbphy {
151 kx status = "okay";
151 kx };
151 kx
151 kx