[PATCH v4 3/6] arm: dts: sunplus: add PWM, watchdog and MMC nodes to SP7021 DTSI
Andrew Gaylard
ag at ffroot.co.za
Thu Sep 24 08:28:41 PDT 2026
Add device nodes for the peripherals that have upstream drivers:
- PWM controller
- Watchdog controller
- eMMC controller
Add a label to the gpio-leds node so board DTS files can override it.
Move the memory node from the DTS into the DTSI; this chip has the RAM
integrated and it's not possible to add external RAM.
Signed-off-by: Andrew Gaylard <ag at ffroot.co.za>
---
.../dts/sunplus/sunplus-sp7021-demo-v3.dts | 4 -
arch/arm/boot/dts/sunplus/sunplus-sp7021.dtsi | 74 ++++++++-----------
2 files changed, 32 insertions(+), 46 deletions(-)
diff --git a/arch/arm/boot/dts/sunplus/sunplus-sp7021-demo-v3.dts b/arch/arm/boot/dts/sunplus/sunplus-sp7021-demo-v3.dts
index d5c5ffc20565..d764fc1f946e 100644
--- a/arch/arm/boot/dts/sunplus/sunplus-sp7021-demo-v3.dts
+++ b/arch/arm/boot/dts/sunplus/sunplus-sp7021-demo-v3.dts
@@ -23,8 +23,4 @@ chosen {
stdout-path = "serial0:115200n8";
};
- memory at 0 {
- device_type = "memory";
- reg = <0x00000000 0x20000000>;
- };
};
diff --git a/arch/arm/boot/dts/sunplus/sunplus-sp7021.dtsi b/arch/arm/boot/dts/sunplus/sunplus-sp7021.dtsi
index ae9bbe0320b8..9963501b6a41 100644
--- a/arch/arm/boot/dts/sunplus/sunplus-sp7021.dtsi
+++ b/arch/arm/boot/dts/sunplus/sunplus-sp7021.dtsi
@@ -17,6 +17,11 @@ / {
compatible = "sunplus,sp7021";
model = "Sunplus SP7021";
+ memory at 0 {
+ device_type = "memory";
+ reg = <0x00000000 0x20000000>; /* 512MB integrated */
+ };
+
clocks {
extclk: osc0 {
compatible = "fixed-clock";
@@ -84,50 +89,10 @@ pctl: pinctrl at 100 {
clocks = <&clkc CLK_GPIO>;
resets = <&rstc RST_GPIO>;
- emac_pins: pinmux-emac-pins {
- sunplus,pins = <
- SPPCTL_IOPAD(49,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_CLK_OUT,0)
- SPPCTL_IOPAD(44,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_MAC_SMI_MDC,0)
- SPPCTL_IOPAD(43,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_MAC_SMI_MDIO,0)
- SPPCTL_IOPAD(52,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P0_MAC_RMII_TXEN,0)
- SPPCTL_IOPAD(50,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P0_MAC_RMII_TXD0,0)
- SPPCTL_IOPAD(51,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P0_MAC_RMII_TXD1,0)
- SPPCTL_IOPAD(46,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P0_MAC_RMII_CRSDV,0)
- SPPCTL_IOPAD(47,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P0_MAC_RMII_RXD0,0)
- SPPCTL_IOPAD(48,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P0_MAC_RMII_RXD1,0)
- SPPCTL_IOPAD(45,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P0_MAC_RMII_RXER,0)
- SPPCTL_IOPAD(59,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P1_MAC_RMII_TXEN,0)
- SPPCTL_IOPAD(57,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P1_MAC_RMII_TXD0,0)
- SPPCTL_IOPAD(58,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P1_MAC_RMII_TXD1,0)
- SPPCTL_IOPAD(54,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P1_MAC_RMII_CRSDV,0)
- SPPCTL_IOPAD(55,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P1_MAC_RMII_RXD0,0)
- SPPCTL_IOPAD(56,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P1_MAC_RMII_RXD1,0)
- SPPCTL_IOPAD(53,SPPCTL_PCTL_G_PMUX,MUXF_L2SW_P1_MAC_RMII_RXER,0)
- >;
- sunplus,zerofunc = <
- MUXF_L2SW_LED_FLASH0
- MUXF_L2SW_LED_FLASH1
- MUXF_L2SW_LED_ON0
- MUXF_L2SW_LED_ON1
- MUXF_DAISY_MODE
- >;
- };
-
- emmc_pins: pinmux-emmc-pins {
- function = "CARD0_EMMC";
- groups = "CARD0_EMMC";
- };
-
leds_pins: pinmux-leds-pins {
sunplus,pins = < SPPCTL_IOPAD(0,SPPCTL_PCTL_G_GPIO,0,SPPCTL_PCTL_L_OUT) >;
};
- sdcard_pins: pinmux-sdcard-pins {
- function = "SD_CARD";
- groups = "SD_CARD";
- sunplus,pins = < SPPCTL_IOPAD(91, SPPCTL_PCTL_G_GPIO, 0, 0) >;
- };
-
spi0_pins: pinmux-spi0-pins {
sunplus,pins = <
SPPCTL_IOPAD(26,SPPCTL_PCTL_G_GPIO,0,0)
@@ -291,13 +256,38 @@ uart4: serial at 8780 {
pinctrl-0 = <&uart4_pins>;
status = "disabled";
};
+
+ pwm: pwm at 7a00 {
+ #pwm-cells = <2>;
+ compatible = "sunplus,sp7021-pwm";
+ reg = <0x7a00 0x80>;
+ clocks = <&clkc CLK_DISP_PWM>;
+ status = "disabled";
+ };
+
+ wdt: watchdog at 630 {
+ compatible = "sunplus,sp7021-wdt";
+ reg = <0x630 0x08>, <0x274 0x04>;
+ clocks = <&clkc CLK_STC0>;
+ resets = <&rstc RST_STC0>;
+ status = "disabled";
+ };
+
+ mmc0: mmc at 3b00 {
+ compatible = "sunplus,sp7021-mmc";
+ reg = <0x3b00 0x180>;
+ interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clkc CLK_CARD_CTL0>;
+ resets = <&rstc RST_CARD_CTL0>;
+ status = "disabled";
+ };
};
- leds {
+ leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_pins>;
- system-led {
+ led-0 {
label = "system-led";
gpios = <&pctl 0 GPIO_ACTIVE_HIGH>;
default-state = "off";
--
2.53.0
More information about the linux-arm-kernel
mailing list