// SPDX-License-Identifier: (GPL-2.0+ or MIT) // Copyright (C) 2022 Samuel Holland #include /dts-v1/; #include "sun20i-d1.dtsi" #include "sun20i-common-regulators.dtsi" / { model = "ClockworkPi v3.14 (R-01)"; compatible = "clockwork,r-01-clockworkpi-v3.14", "allwinner,sun20i-d1"; aliases { ethernet0 = &ap6256; serial0 = &uart0; }; chosen { stdout-path = "serial0:115200n8"; }; /* * This regulator is PWM-controlled, but the PWM controller is not * yet supported, so fix the regulator to its default voltage. */ reg_vdd_cpu: vdd-cpu { compatible = "regulator-fixed"; regulator-name = "vdd-cpu"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; vin-supply = <®_vcc>; }; wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&pio 6 11 GPIO_ACTIVE_LOW>; /* PG11/GPIO3 */ }; }; &cpu0 { cpu-supply = <®_vdd_cpu>; }; &dcxo { clock-frequency = <24000000>; }; &ehci1 { status = "okay"; }; &i2c0 { pinctrl-0 = <&i2c0_pb10_pins>; pinctrl-names = "default"; status = "okay"; axp221: pmic@34 { compatible = "x-powers,axp228", "x-powers,axp221"; reg = <0x34>; interrupt-parent = <&pio>; interrupts = <4 9 IRQ_TYPE_LEVEL_LOW>; /* PE9/GPIO2 */ interrupt-controller; #interrupt-cells = <1>; ac_power_supply: ac-power { compatible = "x-powers,axp221-ac-power-supply"; }; axp_adc: adc { compatible = "x-powers,axp221-adc"; #io-channel-cells = <1>; }; battery_power_supply: battery-power { compatible = "x-powers,axp221-battery-power-supply"; }; axp_gpio: gpio { compatible = "x-powers,axp221-gpio"; gpio-controller; #gpio-cells = <2>; }; regulators { x-powers,dcdc-freq = <3000>; reg_dcdc1: dcdc1 { regulator-name = "sys-3v3"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_dcdc3: dcdc3 { regulator-name = "sys-1v8"; regulator-always-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; reg_aldo1: aldo1 { regulator-name = "aud-3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_aldo2: aldo2 { regulator-name = "disp-3v3"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_aldo3: aldo3 { regulator-name = "vdd-wifi"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; /* DLDO1 and ELDO1-3 are connected in parallel. */ reg_dldo1: dldo1 { regulator-name = "vbat-wifi-a"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; /* DLDO2-DLDO4 are connected in parallel. */ reg_dldo2: dldo2 { regulator-name = "vcc-3v3-ext-a"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_dldo3: dldo3 { regulator-name = "vcc-3v3-ext-b"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_dldo4: dldo4 { regulator-name = "vcc-3v3-ext-c"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_eldo1: eldo1 { regulator-name = "vbat-wifi-b"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_eldo2: eldo2 { regulator-name = "vbat-wifi-c"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_eldo3: eldo3 { regulator-name = "vbat-wifi-d"; regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; }; usb_power_supply: usb-power { compatible = "x-powers,axp221-usb-power-supply"; status = "disabled"; }; }; }; &mmc0 { broken-cd; bus-width = <4>; disable-wp; vmmc-supply = <®_dcdc1>; vqmmc-supply = <®_vcc_3v3>; pinctrl-0 = <&mmc0_pins>; pinctrl-names = "default"; status = "okay"; }; &mmc1 { bus-width = <4>; mmc-pwrseq = <&wifi_pwrseq>; non-removable; vmmc-supply = <®_dldo1>; vqmmc-supply = <®_aldo3>; pinctrl-0 = <&mmc1_pins>; pinctrl-names = "default"; status = "okay"; ap6256: wifi@1 { compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac"; reg = <1>; interrupt-parent = <&pio>; interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10/GPIO4 */ interrupt-names = "host-wake"; }; }; &ohci1 { status = "okay"; }; &pio { vcc-pg-supply = <®_ldoa>; }; &uart0 { pinctrl-0 = <&uart0_pb8_pins>; pinctrl-names = "default"; status = "okay"; }; &uart1 { uart-has-rtscts; pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>; pinctrl-names = "default"; status = "okay"; bluetooth { compatible = "brcm,bcm4345c5"; interrupt-parent = <&pio>; interrupts = <6 17 IRQ_TYPE_LEVEL_HIGH>; /* PG17/GPIO6 */ device-wakeup-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>; /* PG16/GPIO7 */ shutdown-gpios = <&pio 6 18 GPIO_ACTIVE_HIGH>; /* PG18/GPIO5 */ max-speed = <1500000>; vbat-supply = <®_dldo1>; vddio-supply = <®_aldo3>; }; }; &usb_otg { dr_mode = "peripheral"; status = "okay"; }; &usbphy { usb0_vbus_power-supply = <&ac_power_supply>; usb1_vbus-supply = <®_vcc>; status = "okay"; };