diff --git a/patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-234-ph-pg-uart-25-ph-pg.patch b/patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-pwm-uart.patch similarity index 63% rename from patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-234-ph-pg-uart-25-ph-pg.patch rename to patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-pwm-uart.patch index 3f7ed2a18..e80b82576 100644 --- a/patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-234-ph-pg-uart-25-ph-pg.patch +++ b/patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-pwm-uart.patch @@ -1,26 +1,34 @@ -From 428b6d645ccf1acf574c3e13c6261ff75ade2411 Mon Sep 17 00:00:00 2001 +From c07564c395a35f421a9eff81d9ca77496c0106e6 Mon Sep 17 00:00:00 2001 From: The-going <48602507+The-going@users.noreply.github.com> -Date: Sat, 8 Feb 2025 16:38:23 +0300 -Subject: arm64: dts: h616(8): Add overlays i2c(234)ph,pg; uart(25)ph,pg +Date: Thu, 10 Apr 2025 21:46:22 +0300 +Subject: arm64: dts: h616(8): Add overlays i2c, pwm, uart --- - arch/arm64/boot/dts/allwinner/overlay/Makefile | 10 ++++++++++ - .../allwinner/overlay/sun50i-h616-i2c2-ph.dtso | 13 +++++++++++++ - .../allwinner/overlay/sun50i-h616-i2c3-pg.dtso | 13 +++++++++++++ - .../allwinner/overlay/sun50i-h616-i2c3-ph.dtso | 13 +++++++++++++ - .../allwinner/overlay/sun50i-h616-i2c4-pg.dtso | 13 +++++++++++++ - .../allwinner/overlay/sun50i-h616-i2c4-ph.dtso | 13 +++++++++++++ - .../overlay/sun50i-h616-uart2-pg-rts-cts.dtso | 15 +++++++++++++++ - .../allwinner/overlay/sun50i-h616-uart2-pg.dtso | 15 +++++++++++++++ - .../overlay/sun50i-h616-uart2-ph-rts-cts.dtso | 15 +++++++++++++++ - .../allwinner/overlay/sun50i-h616-uart2-ph.dtso | 15 +++++++++++++++ - .../dts/allwinner/overlay/sun50i-h616-uart5.dtso | 15 +++++++++++++++ - 11 files changed, 150 insertions(+) + .../arm64/boot/dts/allwinner/overlay/Makefile | 14 +++++++++++++ + .../overlay/sun50i-h616-i2c2-ph.dtso | 13 ++++++++++++ + .../overlay/sun50i-h616-i2c3-pg.dtso | 13 ++++++++++++ + .../overlay/sun50i-h616-i2c3-ph.dtso | 13 ++++++++++++ + .../overlay/sun50i-h616-i2c4-pg.dtso | 13 ++++++++++++ + .../overlay/sun50i-h616-i2c4-ph.dtso | 13 ++++++++++++ + .../overlay/sun50i-h616-pwm1-ph3.dtso | 20 +++++++++++++++++++ + .../overlay/sun50i-h616-pwm1-pi11.dtso | 20 +++++++++++++++++++ + .../overlay/sun50i-h616-pwm4-ph1.dtso | 20 +++++++++++++++++++ + .../overlay/sun50i-h616-pwm4-pi14.dtso | 20 +++++++++++++++++++ + .../overlay/sun50i-h616-uart2-pg-rts-cts.dtso | 15 ++++++++++++++ + .../overlay/sun50i-h616-uart2-pg.dtso | 15 ++++++++++++++ + .../overlay/sun50i-h616-uart2-ph-rts-cts.dtso | 15 ++++++++++++++ + .../overlay/sun50i-h616-uart2-ph.dtso | 15 ++++++++++++++ + .../allwinner/overlay/sun50i-h616-uart5.dtso | 15 ++++++++++++++ + 15 files changed, 234 insertions(+) create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2-ph.dtso create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3-pg.dtso create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3-ph.dtso create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4-pg.dtso create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4-ph.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-ph3.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-pi11.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-ph1.dtso + create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-pi14.dtso create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2-pg-rts-cts.dtso create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2-pg.dtso create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2-ph-rts-cts.dtso @@ -28,10 +36,10 @@ Subject: arm64: dts: h616(8): Add overlays i2c(234)ph,pg; uart(25)ph,pg create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dtso diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile -index fb6b30d5753e..775290d031bf 100644 +index 84711585fc86..fd0b06d173f7 100644 --- a/arch/arm64/boot/dts/allwinner/overlay/Makefile +++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile -@@ -48,6 +48,16 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ +@@ -49,6 +49,20 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ sun50i-h6-uart2.dtbo \ sun50i-h6-uart3.dtbo \ sun50i-h6-w1-gpio.dtbo \ @@ -40,6 +48,10 @@ index fb6b30d5753e..775290d031bf 100644 + sun50i-h616-i2c3-ph.dtbo \ + sun50i-h616-i2c4-pg.dtbo \ + sun50i-h616-i2c4-ph.dtbo \ ++ sun50i-h616-pwm1-ph3.dtbo \ ++ sun50i-h616-pwm1-pi11.dtbo \ ++ sun50i-h616-pwm4-ph1.dtbo \ ++ sun50i-h616-pwm4-pi14.dtbo \ + sun50i-h616-uart2-pg.dtbo \ + sun50i-h616-uart2-pg-rts-cts.dtbo \ + sun50i-h616-uart2-ph.dtbo \ @@ -143,6 +155,110 @@ index 000000000000..cfa737d701d8 + }; + }; +}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-ph3.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-ph3.dtso +new file mode 100644 +index 000000000000..fa7697a63915 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-ph3.dtso +@@ -0,0 +1,20 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ fragment@0 { ++ target = <&pwm>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&pwm1>; ++ __overlay__ { ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm1_ph_pin>; ++ }; ++ }; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-pi11.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-pi11.dtso +new file mode 100644 +index 000000000000..c42dabb470f3 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm1-pi11.dtso +@@ -0,0 +1,20 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ fragment@0 { ++ target = <&pwm>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&pwm1>; ++ __overlay__ { ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm1_pi_pin>; ++ }; ++ }; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-ph1.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-ph1.dtso +new file mode 100644 +index 000000000000..381a3db48cba +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-ph1.dtso +@@ -0,0 +1,20 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ fragment@0 { ++ target = <&pwm>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&pwm4>; ++ __overlay__ { ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm4_ph_pin>; ++ }; ++ }; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-pi14.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-pi14.dtso +new file mode 100644 +index 000000000000..47302a13a7bf +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm4-pi14.dtso +@@ -0,0 +1,20 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ fragment@0 { ++ target = <&pwm>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&pwm4>; ++ __overlay__ { ++ status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm4_pi_pin>; ++ }; ++ }; ++}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2-pg-rts-cts.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2-pg-rts-cts.dtso new file mode 100644 index 000000000000..7cee4ebec233 diff --git a/patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-sun50i-h616-add-pwm-nodes-support.patch b/patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-sun50i-h616-add-pwm-nodes-support.patch new file mode 100644 index 000000000..7c36a4aec --- /dev/null +++ b/patch/kernel/archive/sunxi-6.13/patches.armbian/arm64-dts-sun50i-h616-add-pwm-nodes-support.patch @@ -0,0 +1,145 @@ +From 27928e904c38bafc1702ac3f02e84be6ad7a6d12 Mon Sep 17 00:00:00 2001 +From: The-going <48602507+The-going@users.noreply.github.com> +Date: Thu, 10 Apr 2025 13:19:52 +0300 +Subject: arm64: dts: sun50i-h616: add pwm nodes support + +--- + .../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 115 ++++++++++++++++++ + 1 file changed, 115 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi +index 668ed3b9090a..fc134db28f75 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi +@@ -332,6 +332,55 @@ watchdog: watchdog@30090a0 { + clocks = <&osc24M>; + }; + ++ pwm: pwm@300a000 { ++ compatible = "allwinner,sun50i-h616-pwm"; ++ reg = <0x0300a000 0x400>; ++ clocks = <&osc24M>, <&ccu CLK_BUS_PWM>; ++ clock-names = "mod", "bus"; ++ resets = <&ccu RST_BUS_PWM>; ++ pwm-number = <6>; ++ pwm-base = <0x0>; ++ sunxi-pwms = <&pwm0>, <&pwm1>, <&pwm2>, ++ <&pwm3>, <&pwm4>, <&pwm5>; ++ #pwm-cells = <3>; ++ status = "disabled"; ++ }; ++ ++ pwm0: pwm0@0300a000 { ++ compatible = "allwinner,sunxi-pwm0"; ++ /* pinctrl-names = "default"; */ ++ /* pinctrl-0 = <&pwm0_pin>; */ ++ /* status = "disabled"; */ ++ }; ++ ++ pwm1: pwm1@0300a000 { ++ compatible = "allwinner,sunxi-pwm1"; ++ pinctrl-names = "default"; ++ }; ++ ++ pwm2: pwm2@0300a000 { ++ compatible = "allwinner,sunxi-pwm2"; ++ pinctrl-names = "default"; ++ }; ++ ++ pwm3: pwm3@0300a000 { ++ compatible = "allwinner,sunxi-pwm3"; ++ pinctrl-names = "default"; ++ }; ++ ++ pwm4: pwm4@0300a000 { ++ compatible = "allwinner,sunxi-pwm4"; ++ pinctrl-names = "default"; ++ }; ++ ++ pwm5: pwm5@0300a000 { ++ compatible = "allwinner,sunxi-pwm5"; ++ pinctrl-names = "default"; ++ /* pinctrl-0 = <&pwm5_pin>; ++ clk_bypass_output = <0x1>; ++ status = "disabled"; */ ++ }; ++ + pio: pinctrl@300b000 { + compatible = "allwinner,sun50i-h616-pinctrl"; + reg = <0x0300b000 0x400>; +@@ -444,6 +493,72 @@ mmc2_pins: mmc2-pins { + bias-pull-up; + }; + ++ /omit-if-no-ref/ ++ pwm0_pin: pwm0-pin { ++ pins = "PD28"; ++ function = "pwm0"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm1_pg_pin: pwm1-pg-pin { ++ pins = "PG19"; ++ function = "pwm1"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm1_ph_pin: pwm1-ph-pin { ++ pins = "PH3"; ++ function = "pwm1"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm1_pi_pin: pwm1-pi-pin { ++ pins = "PI11"; ++ function = "pwm1"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm2_ph_pin: pwm2-ph-pin { ++ pins = "PH2"; ++ function = "pwm2"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm2_pi_pin: pwm2-pi-pin { ++ pins = "PI12"; ++ function = "pwm2"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm3_ph_pin: pwm3-ph-pin { ++ pins = "PH0"; ++ function = "pwm3"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm3_pi_pin: pwm3-pi-pin { ++ pins = "PI13"; ++ function = "pwm3"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm4_ph_pin: pwm4-ph-pin { ++ pins = "PH1"; ++ function = "pwm4"; ++ }; ++ ++ /omit-if-no-ref/ ++ pwm4_pi_pin: pwm4-pi-pin { ++ pins = "PI14"; ++ function = "pwm4"; ++ }; ++ ++ pwm5_pin: pwm5-pin { ++ pins = "PA12"; ++ function = "pwm5"; ++ bias-pull-up; ++ }; ++ + /omit-if-no-ref/ + spi0_pins: spi0-pins { + pins = "PC0", "PC2", "PC4"; +-- +2.35.3 + diff --git a/patch/kernel/archive/sunxi-6.13/series.armbian b/patch/kernel/archive/sunxi-6.13/series.armbian index f904c8aaf..cec3991ad 100644 --- a/patch/kernel/archive/sunxi-6.13/series.armbian +++ b/patch/kernel/archive/sunxi-6.13/series.armbian @@ -165,7 +165,8 @@ patches.armbian/arm64-dts-sun50i-h618-orangepi-zero3-Enable-GPU-mali.patch patches.armbian/arm64-dts-h616-add-hdmi-support-for-zero2-and-zero3.patch patches.armbian/arm64-sun50i-h616-Add-i2c-2-3-4-uart-2-5-pins.patch - patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-234-ph-pg-uart-25-ph-pg.patch + patches.armbian/arm64-dts-sun50i-h616-add-pwm-nodes-support.patch + patches.armbian/arm64-dts-h616-8-Add-overlays-i2c-pwm-uart.patch patches.armbian/arm64-dts-sun50i-h618-orangepi-zero2w-Add-missing-nodes.patch patches.armbian/add-dtb-overlay-for-zero2w.patch patches.armbian/Sound-for-H616-H618-Allwinner-SOCs.patch