riscv: dts: allwinner: Add MangoPi MQ devicetree
The MangoPi MQ is a tiny SBC built around the Allwinner D1s. Its onboard peripherals include two USB Type-C ports (1 device, 1 host) and RTL8189FTV WLAN. A MangoPi MQ-R variant of the board also exists. The MQ-R has a different form factor, but the onboard peripherals are the same. Most D1 and D1s boards use a similar power tree, with the 1.8V rail powered by the SoC's internal LDOA, analog domains powered by ALDO, and the rest of the board powered by always-on fixed regulators. To avoid duplication, factor out the regulator information that is common across boards. The board also exposes GPIO Port E via a FPC connector, which can support either a camera or an RMII Ethernet PHY. The additional regulators supply that connector. Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Acked-by: Palmer Dabbelt <palmer@rivosinc.com> Reviewed-by: Guo Ren <guoren@kernel.org> Signed-off-by: Samuel Holland <samuel@sholland.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20230126045738.47903-6-samuel@sholland.org Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
This commit is contained in:
committed by
Jernej Skrabec
parent
077e5f4f55
commit
2a93adfb09
@@ -1,4 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
subdir-y += allwinner
|
||||
subdir-y += sifive
|
||||
subdir-y += starfive
|
||||
subdir-y += canaan
|
||||
|
||||
2
arch/riscv/boot/dts/allwinner/Makefile
Normal file
2
arch/riscv/boot/dts/allwinner/Makefile
Normal file
@@ -0,0 +1,2 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun20i-d1s-mangopi-mq.dtb
|
||||
28
arch/riscv/boot/dts/allwinner/sun20i-common-regulators.dtsi
Normal file
28
arch/riscv/boot/dts/allwinner/sun20i-common-regulators.dtsi
Normal file
@@ -0,0 +1,28 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org>
|
||||
|
||||
/ {
|
||||
reg_vcc: vcc {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_vcc_3v3: vcc-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <®_vcc>;
|
||||
};
|
||||
};
|
||||
|
||||
&pio {
|
||||
vcc-pb-supply = <®_vcc_3v3>;
|
||||
vcc-pc-supply = <®_vcc_3v3>;
|
||||
vcc-pd-supply = <®_vcc_3v3>;
|
||||
vcc-pe-supply = <®_vcc_3v3>;
|
||||
vcc-pf-supply = <®_vcc_3v3>;
|
||||
vcc-pg-supply = <®_vcc_3v3>;
|
||||
};
|
||||
128
arch/riscv/boot/dts/allwinner/sun20i-d1s-mangopi-mq.dts
Normal file
128
arch/riscv/boot/dts/allwinner/sun20i-d1s-mangopi-mq.dts
Normal file
@@ -0,0 +1,128 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sun20i-d1s.dtsi"
|
||||
#include "sun20i-common-regulators.dtsi"
|
||||
|
||||
/ {
|
||||
model = "MangoPi MQ";
|
||||
compatible = "widora,mangopi-mq", "allwinner,sun20i-d1s";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &rtl8189ftv;
|
||||
serial3 = &uart3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial3:115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
gpios = <&pio 3 22 GPIO_ACTIVE_LOW>; /* PD22 */
|
||||
};
|
||||
};
|
||||
|
||||
reg_avdd2v8: avdd2v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "avdd2v8";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
vin-supply = <®_vcc_3v3>;
|
||||
};
|
||||
|
||||
reg_dvdd: dvdd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "dvdd";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
vin-supply = <®_vcc_3v3>;
|
||||
};
|
||||
|
||||
reg_vcc_core: vcc-core {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc-core";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
vin-supply = <®_vcc>;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_vcc_core>;
|
||||
};
|
||||
|
||||
&dcxo {
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
disable-wp;
|
||||
vmmc-supply = <®_vcc_3v3>;
|
||||
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 = <®_vcc_3v3>;
|
||||
vqmmc-supply = <®_vcc_3v3>;
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
rtl8189ftv: wifi@1 {
|
||||
reg = <1>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&ohci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
vcc-pe-supply = <®_avdd2v8>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-0 = <&uart3_pb_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "peripheral";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb1_vbus-supply = <®_vcc>;
|
||||
status = "okay";
|
||||
};
|
||||
Reference in New Issue
Block a user