diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds b/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds index f53a72ae983a20..a4b2c52d62aacd 100755 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/01_leds @@ -58,6 +58,10 @@ radxa,e20c) ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth0" ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth1" ;; +widora,mangopi-m28c) + ucidef_set_led_netdev "modem" "MODEM" "blue:modem" "usb0" + ucidef_set_led_netdev "wifi" "WIFI" "yellow:wifi" "wlan0" + ;; widora,mangopi-m28k|\ widora,mangopi-m28k-pro) ucidef_set_led_netdev "lan" "LAN" "white:lan" "eth0" diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity index 26b10267e0afb4..44a24c68212d3a 100644 --- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity +++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity @@ -69,5 +69,9 @@ friendlyarm,nanopi-r6s) set_interface_core 4 "eth1" set_interface_core 8 "eth2" ;; +widora,mangopi-m28c) + set_interface_core 4 "eth0" + set_interface_core 8 "xhci-hcd:usb1" + ;; esac diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28.dtsi b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28.dtsi new file mode 100644 index 00000000000000..0d9067945d8745 --- /dev/null +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28.dtsi @@ -0,0 +1,328 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// Copyright (c) 2024 AY + +#include +#include +#include + +#include "rk3528.dtsi" + +/ { + aliases { + mmc0 = &sdhci; + mmc1 = &sdmmc; + mmc2 = &sdio0; + ethernet0 = &gmac1; + }; + + chosen { + stdout-path = "serial0:1500000n8"; + }; + + ir-receiver { + compatible = "gpio-ir-receiver"; + gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&ir_int_pin>; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_reg_on_h>; + post-power-on-delay-ms = <100>; + power-off-delay-us = <5000000>; + reset-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; + }; + + vcc_1v8: vcc-1v8 { + compatible = "regulator-fixed"; + regulator-name = "vcc_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc_3v3>; + }; + + vcc_3v3: vcc-3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc_3v3"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vcc_sys>; + }; + + vcc3v3_sd: vcc3v3-sd { + compatible = "regulator-fixed"; + gpio = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; + regulator-name = "vcc3v3_sd"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vcc_3v3>; + }; + + vccio_sd: vccio-sd { + compatible = "regulator-gpio"; + gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; + regulator-name = "vccio_sd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + states = <1800000 0x0>, <3300000 0x1>; + vin-supply = <&vcc_sys>; + }; + + vcc_ddr: vcc-ddr { + compatible = "regulator-fixed"; + regulator-name = "vcc_ddr"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + vin-supply = <&vcc_sys>; + }; + + vcc_sys: vcc5v0-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + vdd_0v9: vdd-0v9 { + compatible = "regulator-fixed"; + regulator-name = "vdd_0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + vin-supply = <&vcc_sys>; + }; + + vdd_arm: vdd-arm { + compatible = "pwm-regulator"; + pwms = <&pwm1 0 5000 1>; + pwm-supply = <&vcc_sys>; + regulator-name = "vdd_arm"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <746000>; + regulator-max-microvolt = <1201000>; + regulator-settling-time-up-us = <250>; + }; + + vdd_logic: vdd-logic { + compatible = "pwm-regulator"; + pwms = <&pwm2 0 5000 1>; + pwm-supply = <&vcc_sys>; + regulator-name = "vdd_logic"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <705000>; + regulator-max-microvolt = <1006000>; + regulator-settling-time-up-us = <250>; + }; +}; + +&combphy { + status = "okay"; +}; + +&cpu0 { + cpu-supply = <&vdd_arm>; +}; + +&cpu1 { + cpu-supply = <&vdd_arm>; +}; + +&cpu2 { + cpu-supply = <&vdd_arm>; +}; + +&cpu3 { + cpu-supply = <&vdd_arm>; +}; + +&gmac1 { + clock_in_out = "output"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii_miim + &rgmii_tx_bus2 + &rgmii_rx_bus2 + &rgmii_rgmii_clk + &rgmii_rgmii_bus>; + phy-handle = <&rgmii_phy>; + phy-mode = "rgmii-id"; + phy-supply = <&vcc_3v3>; + snps,reset-active-low; + snps,reset-delays-us = <0 20000 100000>; + snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; + status = "okay"; +}; + +&gpu { + mali-supply = <&vdd_logic>; + status = "okay"; +}; + +&mdio1 { + rgmii_phy: phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0x1>; + realtek,led-data = <0x6d60>; + }; +}; + +&pinctrl { + ir { + ir_int_pin: ir-int-pin { + rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + leds { + lan_led_en: lan-led-en { + rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + wan_led_en: wan-led-en { + rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + work_led_en: work-led-en { + rockchip,pins = <4 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + wifi { + wifi_reg_on_h: wifi-reg-on-h { + rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + wifi_wake_host_h: wifi-wake-host-h { + rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; + + bluetooth { + bt_reg_on_h: bt-reg-on-h { + rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; +}; + +&pwm1 { + status = "okay"; +}; + +&pwm2 { + status = "okay"; +}; + +&rng { + status = "okay"; +}; + +&sdhci { + bus-width = <8>; + mmc-hs200-1_8v; + max-frequency = <200000000>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_strb>; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&vcc_1v8>; + status = "okay"; +}; + +&sdio0 { + #address-cells = <1>; + #size-cells = <0>; + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + max-frequency = <200000000>; + mmc-pwrseq = <&sdio_pwrseq>; + pinctrl-names = "default"; + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; + non-removable; + sd-uhs-sdr104; + status = "okay"; + + wifi@1 { + reg = <1>; + interrupt-parent = <&gpio1>; + interrupts = ; + interrupt-names = "host-wake"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_wake_host_h>; + }; +}; + +&sdmmc { + bus-width = <4>; + cap-sd-highspeed; + disable-wp; + max-frequency = <150000000>; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>; + rockchip,default-sample-phase = <90>; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; + vmmc-supply = <&vcc3v3_sd>; + vqmmc-supply = <&vccio_sd>; + status = "okay"; +}; + +&tsadc { + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0m0_xfer>; + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2m1_xfer &uart2m1_ctsn>; + status = "okay"; +}; + +&usb2phy { + status = "okay"; +}; + +&usb2phy0_host { + phy-supply = <&vcc_sys>; + status = "okay"; +}; + +&usb2phy0_otg { + phy-supply = <&vcc_sys>; + status = "okay"; +}; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host0_xhci { + dr_mode = "host"; + status = "okay"; +}; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28c.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28c.dts new file mode 100644 index 00000000000000..1be2ad51b76eab --- /dev/null +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28c.dts @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// Copyright (c) 2025 AY + +/dts-v1/; + +#include "rk3528-mangopi-m28.dtsi" + +/ { + model = "MangoPi M28C"; + compatible = "widora,mangopi-m28c", "rockchip,rk3528"; + + aliases { + led-boot = &led_work; + led-failsafe = &led_work; + led-running = &led_work; + led-upgrade = &led_work; + }; + + keys { + compatible = "gpio-keys"; + + rfkill { + label = "rfkill"; + linux,code = ; + debounce-interval = <100>; + gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&lan_led_en>, <&wan_led_en>, <&work_led_en>; + + wifi { + label = "yellow:wifi"; + gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; + }; + + led_work: work { + label = "red:work"; + gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_LOW>; + }; + + modem { + label = "blue:modem"; + gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>; + }; + }; + + rfkill-modem { + compatible = "rfkill-gpio"; + label = "rfkill-modem"; + radio-type = "wwan"; + reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; + shutdown-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>; + }; +}; + +&sdhci { + status = "disabled"; +}; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k-pro.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k-pro.dts index 4ca58a8ebe47bd..e55b7713dad827 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k-pro.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k-pro.dts @@ -2,26 +2,52 @@ // Copyright (c) 2024 AY /dts-v1/; -#include "rk3528-mangopi-m28k.dts" + +#include "rk3528-mangopi-m28.dtsi" / { model = "MangoPi M28K Pro"; compatible = "widora,mangopi-m28k-pro", "rockchip,rk3528"; + aliases { + led-boot = &led_work; + led-failsafe = &led_work; + led-running = &led_work; + led-upgrade = &led_work; + }; + i2c { compatible = "i2c-gpio"; scl-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; }; -}; -&i2c6 { - status = "disabled"; + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&lan_led_en>, <&wan_led_en>, <&work_led_en>; + + lan { + label = "white:lan"; + gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; + }; + + wan { + label = "white:wan"; + gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>; + }; + + led_work: work { + label = "green:work"; + gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_LOW>; + }; + }; }; &pcie2x1 { - /delete-property/ pinctrl-0; - /delete-property/ pinctrl-names; + reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc_3v3>; + status = "okay"; bridge@0,0 { reg = <0x00000000 0 0 0 0>; @@ -37,6 +63,8 @@ }; }; -&pinctrl { - /delete-node/ rtl8111_isolate; +&usb_host0_xhci { + maximum-speed = "high-speed"; + phys = <&usb2phy0_otg>; + phy-names = "usb2-phy"; }; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k.dts index ed90675f9cee5e..fcf7db34ee3daf 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3528-mangopi-m28k.dts @@ -2,38 +2,20 @@ // Copyright (c) 2024 AY /dts-v1/; -#include -#include -#include "rk3528.dtsi" +#include "rk3528-mangopi-m28.dtsi" / { model = "MangoPi M28K"; compatible = "widora,mangopi-m28k", "rockchip,rk3528"; aliases { - mmc0 = &sdhci; - mmc1 = &sdmmc; - mmc2 = &sdio0; - ethernet0 = &gmac1; - led-boot = &led_work; led-failsafe = &led_work; led-running = &led_work; led-upgrade = &led_work; }; - chosen { - stdout-path = "serial0:1500000n8"; - }; - - ir-receiver { - compatible = "gpio-ir-receiver"; - gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&ir_int_pin>; - }; - leds { compatible = "gpio-leds"; pinctrl-names = "default"; @@ -54,163 +36,12 @@ gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_LOW>; }; }; - - sdio_pwrseq: sdio-pwrseq { - compatible = "mmc-pwrseq-simple"; - pinctrl-names = "default"; - pinctrl-0 = <&wifi_enable_h>; - reset-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; - }; - - vcc_1v8: vcc-1v8 { - compatible = "regulator-fixed"; - regulator-name = "vcc_1v8"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&vcc_3v3>; - }; - - vcc_3v3: vcc-3v3 { - compatible = "regulator-fixed"; - regulator-name = "vcc_3v3"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vcc_sys>; - }; - - vcc3v3_sd: vcc3v3-sd { - compatible = "regulator-fixed"; - gpio = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; - regulator-name = "vcc3v3_sd"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vcc_3v3>; - }; - - vccio_sd: vccio-sd { - compatible = "regulator-gpio"; - gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; - regulator-name = "vccio_sd"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - states = <1800000 0x0>, <3300000 0x1>; - vin-supply = <&vcc_sys>; - }; - - vcc_ddr: vcc-ddr { - compatible = "regulator-fixed"; - regulator-name = "vcc_ddr"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - vin-supply = <&vcc_sys>; - }; - - vcc_sys: vcc5v0-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; - - vdd_0v9: vdd-0v9 { - compatible = "regulator-fixed"; - regulator-name = "vdd_0v9"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - vin-supply = <&vcc_sys>; - }; - - vdd_arm: vdd-arm { - compatible = "pwm-regulator"; - pwms = <&pwm1 0 5000 1>; - pwm-supply = <&vcc_sys>; - regulator-name = "vdd_arm"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <746000>; - regulator-max-microvolt = <1201000>; - regulator-settling-time-up-us = <250>; - }; - - vdd_logic: vdd-logic { - compatible = "pwm-regulator"; - pwms = <&pwm2 0 5000 1>; - pwm-supply = <&vcc_sys>; - regulator-name = "vdd_logic"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <705000>; - regulator-max-microvolt = <1006000>; - regulator-settling-time-up-us = <250>; - }; -}; - -&combphy { - status = "okay"; -}; - -&cpu0 { - cpu-supply = <&vdd_arm>; -}; - -&cpu1 { - cpu-supply = <&vdd_arm>; -}; - -&cpu2 { - cpu-supply = <&vdd_arm>; -}; - -&cpu3 { - cpu-supply = <&vdd_arm>; -}; - -&gmac1 { - clock_in_out = "output"; - pinctrl-names = "default"; - pinctrl-0 = <&rgmii_miim - &rgmii_tx_bus2 - &rgmii_rx_bus2 - &rgmii_rgmii_clk - &rgmii_rgmii_bus>; - phy-handle = <&rgmii_phy>; - phy-mode = "rgmii-id"; - phy-supply = <&vcc_3v3>; - snps,reset-active-low; - snps,reset-delays-us = <0 20000 100000>; - snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; - status = "okay"; -}; - -&gpu { - mali-supply = <&vdd_logic>; - status = "okay"; }; &i2c6 { status = "okay"; }; -&mdio1 { - rgmii_phy: phy@1 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0x1>; - realtek,led-data = <0x6d60>; - }; -}; - &pcie2x1 { pinctrl-names = "default"; pinctrl-0 = <&rtl8111_isolate>; @@ -233,130 +64,11 @@ }; &pinctrl { - ir { - ir_int_pin: ir-int-pin { - rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; - }; - }; - - leds { - lan_led_en: lan-led-en { - rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; - }; - - wan_led_en: wan-led-en { - rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; - }; - - work_led_en: work-led-en { - rockchip,pins = <4 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; - pcie { rtl8111_isolate: rtl8111-isolate { rockchip,pins = <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; }; }; - - wifi { - wifi_enable_h: wifi-enable-h { - rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; - }; - - wifi_host_wake: wifi-host-wake { - rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>; - }; - }; - - bluetooth { - bt_enable_h: bt-enable-h { - rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; - }; - }; -}; - -&pwm1 { - status = "okay"; -}; - -&pwm2 { - status = "okay"; -}; - -&rng { - status = "okay"; -}; - -&sdhci { - bus-width = <8>; - mmc-hs200-1_8v; - max-frequency = <200000000>; - non-removable; - pinctrl-names = "default"; - pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_strb>; - vmmc-supply = <&vcc_3v3>; - vqmmc-supply = <&vcc_1v8>; - status = "okay"; -}; - -&sdio0 { - #address-cells = <1>; - #size-cells = <0>; - bus-width = <4>; - cap-sd-highspeed; - cap-sdio-irq; - keep-power-in-suspend; - max-frequency = <200000000>; - mmc-pwrseq = <&sdio_pwrseq>; - pinctrl-names = "default"; - pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; - post-power-on-delay-ms = <50>; - non-removable; - sd-uhs-sdr104; - status = "okay"; - - sdio_wifi@1 { - reg = <1>; - interrupt-parent = <&gpio1>; - interrupts = ; - interrupt-names = "host-wake"; - pinctrl-names = "default"; - pinctrl-0 = <&wifi_host_wake>; - }; -}; - -&sdmmc { - bus-width = <4>; - cap-sd-highspeed; - disable-wp; - max-frequency = <150000000>; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>; - rockchip,default-sample-phase = <90>; - sd-uhs-sdr12; - sd-uhs-sdr25; - sd-uhs-sdr50; - sd-uhs-sdr104; - vmmc-supply = <&vcc3v3_sd>; - vqmmc-supply = <&vccio_sd>; - status = "okay"; -}; - -&tsadc { - status = "okay"; -}; - -&uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0m0_xfer>; - status = "okay"; -}; - -&uart2 { - pinctrl-names = "default"; - pinctrl-0 = <&uart2m1_xfer &uart2m1_ctsn>; - status = "okay"; }; &uart3 { @@ -365,32 +77,8 @@ status = "disabled"; }; -&usb2phy { - status = "okay"; -}; - -&usb2phy0_host { - phy-supply = <&vcc_sys>; - status = "okay"; -}; - -&usb2phy0_otg { - phy-supply = <&vcc_sys>; - status = "okay"; -}; - -&usb_host0_ehci { - status = "okay"; -}; - -&usb_host0_ohci { - status = "okay"; -}; - &usb_host0_xhci { - dr_mode = "host"; maximum-speed = "high-speed"; phys = <&usb2phy0_otg>; phy-names = "usb2-phy"; - status = "okay"; }; diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index 13648ab7723f17..da7645ba24238a 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -560,19 +560,31 @@ define Device/xunlong_orangepi-r1-plus-lts endef TARGET_DEVICES += xunlong_orangepi-r1-plus-lts -define Device/widora_mangopi-m28k +define Device/widora_mangopi-m28 DEVICE_VENDOR := Widora - DEVICE_MODEL := MangoPi M28K SOC := rk3528 UBOOT_DEVICE_NAME := evb-rk3528 IMAGE/sysupgrade.img.gz := boot-common | boot-script rk3528 | pine64-img | gzip | append-metadata DEVICE_PACKAGES := kmod-aic8800 kmod-r8168 wpad-openssl -urngd endef + +define Device/widora_mangopi-m28c +$(call Device/widora_mangopi-m28) + DEVICE_MODEL := MangoPi M28C + DEVICE_PACKAGES += kmod-gpio-button-hotplug kmod-usb-serial-option +endef +TARGET_DEVICES += widora_mangopi-m28c + +define Device/widora_mangopi-m28k +$(call Device/widora_mangopi-m28) + DEVICE_MODEL := MangoPi M28K + DEVICE_PACKAGES += kmod-r8168 +endef TARGET_DEVICES += widora_mangopi-m28k define Device/widora_mangopi-m28k-pro -$(call Device/widora_mangopi-m28k) +$(call Device/widora_mangopi-m28) DEVICE_MODEL := MangoPi M28K Pro - DEVICE_PACKAGES := kmod-aic8800 kmod-i2c-gpio kmod-r8125 wpad-openssl -urngd + DEVICE_PACKAGES += kmod-i2c-gpio kmod-r8125 endef TARGET_DEVICES += widora_mangopi-m28k-pro diff --git a/target/linux/rockchip/patches-6.1/212-rockchip-rk3528-add-support-for-new-boards.patch b/target/linux/rockchip/patches-6.1/212-rockchip-rk3528-add-support-for-new-boards.patch index fa3bbe77838b98..dc0ade5ec98e30 100644 --- a/target/linux/rockchip/patches-6.1/212-rockchip-rk3528-add-support-for-new-boards.patch +++ b/target/linux/rockchip/patches-6.1/212-rockchip-rk3528-add-support-for-new-boards.patch @@ -1,10 +1,11 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -74,6 +74,13 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ro +@@ -74,6 +74,14 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ro dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-armsom-sige1.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-mangopi-m28c.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-mangopi-m28k.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-mangopi-m28k-pro.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-radxa-e20c.dtb diff --git a/target/linux/rockchip/patches-6.6/212-rockchip-rk3528-add-support-for-new-boards.patch b/target/linux/rockchip/patches-6.6/212-rockchip-rk3528-add-support-for-new-boards.patch index abd23fad3f7cc1..f70ce579b873c3 100644 --- a/target/linux/rockchip/patches-6.6/212-rockchip-rk3528-add-support-for-new-boards.patch +++ b/target/linux/rockchip/patches-6.6/212-rockchip-rk3528-add-support-for-new-boards.patch @@ -1,10 +1,11 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -81,6 +81,13 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ro +@@ -81,6 +81,14 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ro dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-rock-pi-n10.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-armsom-sige1.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-mangopi-m28c.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-mangopi-m28k.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-mangopi-m28k-pro.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3528-radxa-e20c.dtb