diff --git a/patch/kernel/archive/meson64-6.12/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch b/patch/kernel/archive/meson64-6.12/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch index b3de0ee701..9c88f042cc 100644 --- a/patch/kernel/archive/meson64-6.12/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch +++ b/patch/kernel/archive/meson64-6.12/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch @@ -1,7 +1,7 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From e1e66c32b7a9ce7cf52922fe073c4bff40054599 Mon Sep 17 00:00:00 2001 From: Yuntian Zhang Date: Thu, 13 Jan 2022 21:34:10 +0800 -Subject: pinctrl: meson: Add several missing pinmux for pwm functions +Subject: [PATCH] pinctrl: meson: Add several missing pinmux for pwm functions The following pin definitions are mentioned in A311D Quick Reference Manual and S922X Public Datasheet, but not in S905Y2 @@ -11,15 +11,15 @@ They are currently exposed in Radxa Zero 2's GPIO header. Signed-off-by: Yuntian Zhang --- - arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 34 ++++++++++ - drivers/pinctrl/meson/pinctrl-meson-g12a.c | 14 +++- - 2 files changed, 45 insertions(+), 3 deletions(-) + arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 42 +++++++++++++++++++++ + drivers/pinctrl/meson/pinctrl-meson-g12a.c | 16 ++++++-- + 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -index 111111111111..222222222222 100644 +index 86e6ceb31..b2f9a09b2 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -@@ -149,3 +149,37 @@ &pmu { +@@ -149,3 +149,45 @@ &pmu { &npu { power-domains = <&pwrc PWRC_G12A_NNA_ID>; }; @@ -56,12 +56,20 @@ index 111111111111..222222222222 100644 + bias-disable; + }; + }; ++ ++ pwm_d_a_pins: pwm-d-a { ++ mux { ++ groups = "pwm_d_a"; ++ function = "pwm_d"; ++ bias-disable; ++ }; ++ }; +}; diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/meson/pinctrl-meson-g12a.c -index 111111111111..222222222222 100644 +index e2788bfc5..c94360afc 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c +++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c -@@ -271,17 +271,21 @@ static const unsigned int eth_act_led_pins[] = { GPIOZ_15 }; +@@ -268,17 +268,22 @@ static const unsigned int eth_act_led_pins[] = { GPIOZ_15 }; static const unsigned int pwm_a_pins[] = { GPIOX_6 }; /* pwm_b */ @@ -80,20 +88,22 @@ index 111111111111..222222222222 100644 static const unsigned int pwm_d_x3_pins[] = { GPIOX_3 }; static const unsigned int pwm_d_x6_pins[] = { GPIOX_6 }; +static const unsigned int pwm_d_z_pins[] = { GPIOZ_2 }; ++static const unsigned int pwm_d_a_pins[] = { GPIOA_4 }; /* pwm_e */ static const unsigned int pwm_e_pins[] = { GPIOX_16 }; -@@ -594,6 +598,9 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { +@@ -591,6 +596,10 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { GROUP(bt565_a_din5, 2), GROUP(bt565_a_din6, 2), GROUP(bt565_a_din7, 2), + GROUP(pwm_b_z, 5), + GROUP(pwm_c_z, 5), + GROUP(pwm_d_z, 2), ++ GROUP(pwm_d_a, 3), GROUP(tsin_b_valid_z, 3), GROUP(tsin_b_sop_z, 3), GROUP(tsin_b_din0_z, 3), -@@ -726,6 +733,7 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { +@@ -723,6 +732,7 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { GROUP(uart_c_rts, 2), GROUP(iso7816_clk_h, 1), GROUP(iso7816_data_h, 1), @@ -101,7 +111,7 @@ index 111111111111..222222222222 100644 GROUP(pwm_f_h, 4), GROUP(cec_ao_a_h, 4), GROUP(cec_ao_b_h, 5), -@@ -1066,15 +1074,15 @@ static const char * const pwm_a_groups[] = { +@@ -1058,15 +1068,15 @@ static const char * const pwm_a_groups[] = { }; static const char * const pwm_b_groups[] = { @@ -116,10 +126,10 @@ index 111111111111..222222222222 100644 static const char * const pwm_d_groups[] = { - "pwm_d_x3", "pwm_d_x6", -+ "pwm_d_x3", "pwm_d_x6", "pwm_d_z", ++ "pwm_d_x3", "pwm_d_x6", "pwm_d_z", "pwm_d_a", }; static const char * const pwm_e_groups[] = { -- -Armbian +2.49.0 diff --git a/patch/kernel/archive/meson64-6.15/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch b/patch/kernel/archive/meson64-6.15/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch index b3de0ee701..9c88f042cc 100644 --- a/patch/kernel/archive/meson64-6.15/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch +++ b/patch/kernel/archive/meson64-6.15/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch @@ -1,7 +1,7 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From e1e66c32b7a9ce7cf52922fe073c4bff40054599 Mon Sep 17 00:00:00 2001 From: Yuntian Zhang Date: Thu, 13 Jan 2022 21:34:10 +0800 -Subject: pinctrl: meson: Add several missing pinmux for pwm functions +Subject: [PATCH] pinctrl: meson: Add several missing pinmux for pwm functions The following pin definitions are mentioned in A311D Quick Reference Manual and S922X Public Datasheet, but not in S905Y2 @@ -11,15 +11,15 @@ They are currently exposed in Radxa Zero 2's GPIO header. Signed-off-by: Yuntian Zhang --- - arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 34 ++++++++++ - drivers/pinctrl/meson/pinctrl-meson-g12a.c | 14 +++- - 2 files changed, 45 insertions(+), 3 deletions(-) + arch/arm64/boot/dts/amlogic/meson-g12b.dtsi | 42 +++++++++++++++++++++ + drivers/pinctrl/meson/pinctrl-meson-g12a.c | 16 ++++++-- + 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -index 111111111111..222222222222 100644 +index 86e6ceb31..b2f9a09b2 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -@@ -149,3 +149,37 @@ &pmu { +@@ -149,3 +149,45 @@ &pmu { &npu { power-domains = <&pwrc PWRC_G12A_NNA_ID>; }; @@ -56,12 +56,20 @@ index 111111111111..222222222222 100644 + bias-disable; + }; + }; ++ ++ pwm_d_a_pins: pwm-d-a { ++ mux { ++ groups = "pwm_d_a"; ++ function = "pwm_d"; ++ bias-disable; ++ }; ++ }; +}; diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/meson/pinctrl-meson-g12a.c -index 111111111111..222222222222 100644 +index e2788bfc5..c94360afc 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c +++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c -@@ -271,17 +271,21 @@ static const unsigned int eth_act_led_pins[] = { GPIOZ_15 }; +@@ -268,17 +268,22 @@ static const unsigned int eth_act_led_pins[] = { GPIOZ_15 }; static const unsigned int pwm_a_pins[] = { GPIOX_6 }; /* pwm_b */ @@ -80,20 +88,22 @@ index 111111111111..222222222222 100644 static const unsigned int pwm_d_x3_pins[] = { GPIOX_3 }; static const unsigned int pwm_d_x6_pins[] = { GPIOX_6 }; +static const unsigned int pwm_d_z_pins[] = { GPIOZ_2 }; ++static const unsigned int pwm_d_a_pins[] = { GPIOA_4 }; /* pwm_e */ static const unsigned int pwm_e_pins[] = { GPIOX_16 }; -@@ -594,6 +598,9 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { +@@ -591,6 +596,10 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { GROUP(bt565_a_din5, 2), GROUP(bt565_a_din6, 2), GROUP(bt565_a_din7, 2), + GROUP(pwm_b_z, 5), + GROUP(pwm_c_z, 5), + GROUP(pwm_d_z, 2), ++ GROUP(pwm_d_a, 3), GROUP(tsin_b_valid_z, 3), GROUP(tsin_b_sop_z, 3), GROUP(tsin_b_din0_z, 3), -@@ -726,6 +733,7 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { +@@ -723,6 +732,7 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { GROUP(uart_c_rts, 2), GROUP(iso7816_clk_h, 1), GROUP(iso7816_data_h, 1), @@ -101,7 +111,7 @@ index 111111111111..222222222222 100644 GROUP(pwm_f_h, 4), GROUP(cec_ao_a_h, 4), GROUP(cec_ao_b_h, 5), -@@ -1066,15 +1074,15 @@ static const char * const pwm_a_groups[] = { +@@ -1058,15 +1068,15 @@ static const char * const pwm_a_groups[] = { }; static const char * const pwm_b_groups[] = { @@ -116,10 +126,10 @@ index 111111111111..222222222222 100644 static const char * const pwm_d_groups[] = { - "pwm_d_x3", "pwm_d_x6", -+ "pwm_d_x3", "pwm_d_x6", "pwm_d_z", ++ "pwm_d_x3", "pwm_d_x6", "pwm_d_z", "pwm_d_a", }; static const char * const pwm_e_groups[] = { -- -Armbian +2.49.0