]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: amlogic: Add Amlogic C3 PWM
authorKelvin Zhang <kelvin.zhang@amlogic.com>
Sat, 14 Sep 2024 05:48:59 +0000 (13:48 +0800)
committerNeil Armstrong <neil.armstrong@linaro.org>
Wed, 9 Oct 2024 07:57:50 +0000 (09:57 +0200)
Add device nodes for PWM_AB, PWM_CD, PWM_EF, PWM_GH, PWM_IJ, PWM_KL
and PWM_MN, along with the GPIO pin configurations for each channel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
Link: https://lore.kernel.org/r/20240914-c3-pwm-v2-2-ac1f34c68ac2@amlogic.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi

index d0cda759c25d0772d456683bb931c0b6f4a57a81..fd0e557eba06c1d45a0cf3309f4940cb7f12cbdb 100644 (file)
                                                drive-strength-microamp = <4000>;
                                        };
                                };
+
+                               pwm_a_pins1: pwm-a-pins1 {
+                                       mux {
+                                               groups = "pwm_a";
+                                               function = "pwm_a";
+                                       };
+                               };
+
+                               pwm_b_pins1: pwm-b-pins1 {
+                                       mux {
+                                               groups = "pwm_b";
+                                               function = "pwm_b";
+                                       };
+                               };
+
+                               pwm_c_pins1: pwm-c-pins1 {
+                                       mux {
+                                               groups = "pwm_c";
+                                               function = "pwm_c";
+                                       };
+                               };
+
+                               pwm_d_pins1: pwm-d-pins1 {
+                                       mux {
+                                               groups = "pwm_d";
+                                               function = "pwm_d";
+                                       };
+                               };
+
+                               pwm_e_pins1: pwm-e-pins1 {
+                                       mux {
+                                               groups = "pwm_e";
+                                               function = "pwm_e";
+                                       };
+                               };
+
+                               pwm_f_pins1: pwm-f-pins1 {
+                                       mux {
+                                               groups = "pwm_f";
+                                               function = "pwm_f";
+                                       };
+                               };
+
+                               pwm_g_pins1: pwm-g-pins1 {
+                                       mux {
+                                               groups = "pwm_g_b";
+                                               function = "pwm_g";
+                                       };
+                               };
+
+                               pwm_g_pins2: pwm-g-pins2 {
+                                       mux {
+                                               groups = "pwm_g_c";
+                                               function = "pwm_g";
+                                       };
+                               };
+
+                               pwm_g_pins3: pwm-g-pins3 {
+                                       mux {
+                                               groups = "pwm_g_d";
+                                               function = "pwm_g";
+                                       };
+                               };
+
+                               pwm_g_pins4: pwm-g-pins4 {
+                                       mux {
+                                               groups = "pwm_g_x0";
+                                               function = "pwm_g";
+                                       };
+                               };
+
+                               pwm_g_pins5: pwm-g-pins5 {
+                                       mux {
+                                               groups = "pwm_g_x8";
+                                               function = "pwm_g";
+                                       };
+                               };
+
+                               pwm_h_pins1: pwm-h-pins1 {
+                                       mux {
+                                               groups = "pwm_h_b";
+                                               function = "pwm_h";
+                                       };
+                               };
+
+                               pwm_h_pins2: pwm-h-pins2 {
+                                       mux {
+                                               groups = "pwm_h_c";
+                                               function = "pwm_h";
+                                       };
+                               };
+
+                               pwm_h_pins3: pwm-h-pins3 {
+                                       mux {
+                                               groups = "pwm_h_d";
+                                               function = "pwm_h";
+                                       };
+                               };
+
+                               pwm_h_pins4: pwm-h-pins4 {
+                                       mux {
+                                               groups = "pwm_h_x1";
+                                               function = "pwm_h";
+                                       };
+                               };
+
+                               pwm_h_pins5: pwm-h-pins5 {
+                                       mux {
+                                               groups = "pwm_h_x9";
+                                               function = "pwm_h";
+                                       };
+                               };
+
+                               pwm_i_pins1: pwm-i-pins1 {
+                                       mux {
+                                               groups = "pwm_i_b";
+                                               function = "pwm_i";
+                                       };
+                               };
+
+                               pwm_i_pins2: pwm-i-pins2 {
+                                       mux {
+                                               groups = "pwm_i_c";
+                                               function = "pwm_i";
+                                       };
+                               };
+
+                               pwm_i_pins3: pwm-i-pins3 {
+                                       mux {
+                                               groups = "pwm_i_d";
+                                               function = "pwm_i";
+                                       };
+                               };
+
+                               pwm_i_pins4: pwm-i-pins4 {
+                                       mux {
+                                               groups = "pwm_i_x2";
+                                               function = "pwm_i";
+                                       };
+                               };
+
+                               pwm_i_pins5: pwm-i-pins5 {
+                                       mux {
+                                               groups = "pwm_i_x10";
+                                               function = "pwm_i";
+                                       };
+                               };
+
+                               pwm_j_pins1: pwm-j-pins1 {
+                                       mux {
+                                               groups = "pwm_j_c";
+                                               function = "pwm_j";
+                                       };
+                               };
+
+                               pwm_j_pins2: pwm-j-pins2 {
+                                       mux {
+                                               groups = "pwm_j_d";
+                                               function = "pwm_j";
+                                       };
+                               };
+
+                               pwm_j_pins3: pwm-j-pins3 {
+                                       mux {
+                                               groups = "pwm_j_b";
+                                               function = "pwm_j";
+                                       };
+                               };
+
+                               pwm_j_pins4: pwm-j-pins4 {
+                                       mux {
+                                               groups = "pwm_j_x3";
+                                               function = "pwm_j";
+                                       };
+                               };
+
+                               pwm_j_pins5: pwm-j-pins5 {
+                                       mux {
+                                               groups = "pwm_j_x12";
+                                               function = "pwm_j";
+                                       };
+                               };
+
+                               pwm_k_pins1: pwm-k-pins1 {
+                                       mux {
+                                               groups = "pwm_k_c";
+                                               function = "pwm_k";
+                                       };
+                               };
+
+                               pwm_k_pins2: pwm-k-pins2 {
+                                       mux {
+                                               groups = "pwm_k_d";
+                                               function = "pwm_k";
+                                       };
+                               };
+
+                               pwm_k_pins3: pwm-k-pins3 {
+                                       mux {
+                                               groups = "pwm_k_b";
+                                               function = "pwm_k";
+                                       };
+                               };
+
+                               pwm_k_pins4: pwm-k-pins4 {
+                                       mux {
+                                               groups = "pwm_k_x4";
+                                               function = "pwm_k";
+                                       };
+                               };
+
+                               pwm_k_pins5: pwm-k-pins5 {
+                                       mux {
+                                               groups = "pwm_k_x13";
+                                               function = "pwm_k";
+                                       };
+                               };
+
+                               pwm_l_pins1: pwm-l-pins1 {
+                                       mux {
+                                               groups = "pwm_l_c";
+                                               function = "pwm_l";
+                                       };
+                               };
+
+                               pwm_l_pins2: pwm-l-pins2 {
+                                       mux {
+                                               groups = "pwm_l_x";
+                                               function = "pwm_l";
+                                       };
+                               };
+
+                               pwm_l_pins3: pwm-l-pins3 {
+                                       mux {
+                                               groups = "pwm_l_b";
+                                               function = "pwm_l";
+                                       };
+                               };
+
+                               pwm_l_pins4: pwm-l-pins4 {
+                                       mux {
+                                               groups = "pwm_l_a";
+                                               function = "pwm_l";
+                                       };
+                               };
+
+                               pwm_m_pins1: pwm-m-pins1 {
+                                       mux {
+                                               groups = "pwm_m_c";
+                                               function = "pwm_m";
+                                       };
+                               };
+
+                               pwm_m_pins2: pwm-m-pins2 {
+                                       mux {
+                                               groups = "pwm_m_x";
+                                               function = "pwm_m";
+                                       };
+                               };
+
+                               pwm_m_pins3: pwm-m-pins3 {
+                                       mux {
+                                               groups = "pwm_m_a";
+                                               function = "pwm_m";
+                                       };
+                               };
+
+                               pwm_m_pins4: pwm-m-pins4 {
+                                       mux {
+                                               groups = "pwm_m_b";
+                                               function = "pwm_m";
+                                       };
+                               };
+
+                               pwm_n_pins1: pwm-n-pins1 {
+                                       mux {
+                                               groups = "pwm_n_x";
+                                               function = "pwm_n";
+                                       };
+                               };
+
+                               pwm_n_pins2: pwm-n-pins2 {
+                                       mux {
+                                               groups = "pwm_n_a";
+                                               function = "pwm_n";
+                                       };
+                               };
+
+                               pwm_n_pins3: pwm-n-pins3 {
+                                       mux {
+                                               groups = "pwm_n_b";
+                                               function = "pwm_n";
+                                       };
+                               };
                        };
 
                        gpio_intc: interrupt-controller@4080 {
                                status = "disabled";
                        };
 
+                       pwm_mn: pwm@54000 {
+                               compatible = "amlogic,c3-pwm",
+                                            "amlogic,meson-s4-pwm";
+                               reg = <0x0 54000 0x0 0x24>;
+                               clocks = <&clkc_periphs CLKID_PWM_M>,
+                                        <&clkc_periphs CLKID_PWM_N>;
+                               #pwm-cells = <3>;
+                               status = "disabled";
+                       };
+
                        spifc: spi@56000 {
                                compatible = "amlogic,a1-spifc";
                                reg = <0x0 0x56000 0x0 0x290>;
                                status = "disabled";
                        };
 
+                       pwm_ab: pwm@58000 {
+                               compatible = "amlogic,c3-pwm",
+                                            "amlogic,meson-s4-pwm";
+                               reg = <0x0 0x58000 0x0 0x24>;
+                               clocks = <&clkc_periphs CLKID_PWM_A>,
+                                        <&clkc_periphs CLKID_PWM_B>;
+                               #pwm-cells = <3>;
+                               status = "disabled";
+                       };
+
+                       pwm_cd: pwm@5a000 {
+                               compatible = "amlogic,c3-pwm",
+                                            "amlogic,meson-s4-pwm";
+                               reg = <0x0 0x5a000 0x0 0x24>;
+                               clocks = <&clkc_periphs CLKID_PWM_C>,
+                                        <&clkc_periphs CLKID_PWM_D>;
+                               #pwm-cells = <3>;
+                               status = "disabled";
+                       };
+
+                       pwm_ef: pwm@5c000 {
+                               compatible = "amlogic,c3-pwm",
+                                            "amlogic,meson-s4-pwm";
+                               reg = <0x0 0x5c000 0x0 0x24>;
+                               clocks = <&clkc_periphs CLKID_PWM_E>,
+                                        <&clkc_periphs CLKID_PWM_F>;
+                               #pwm-cells = <3>;
+                               status = "disabled";
+                       };
+
+                       pwm_gh: pwm@5e000 {
+                               compatible = "amlogic,c3-pwm",
+                                            "amlogic,meson-s4-pwm";
+                               reg = <0x0 0x5e000 0x0 0x24>;
+                               clocks = <&clkc_periphs CLKID_PWM_G>,
+                                        <&clkc_periphs CLKID_PWM_H>;
+                               #pwm-cells = <3>;
+                               status = "disabled";
+                       };
+
+                       pwm_ij: pwm@60000 {
+                               compatible = "amlogic,c3-pwm",
+                                            "amlogic,meson-s4-pwm";
+                               reg = <0x0 0x60000 0x0 0x24>;
+                               clocks = <&clkc_periphs CLKID_PWM_I>,
+                                        <&clkc_periphs CLKID_PWM_J>;
+                               #pwm-cells = <3>;
+                               status = "disabled";
+                       };
+
+                       pwm_kl: pwm@62000 {
+                               compatible = "amlogic,c3-pwm",
+                                            "amlogic,meson-s4-pwm";
+                               reg = <0x0 0x62000 0x0 0x24>;
+                               clocks = <&clkc_periphs CLKID_PWM_K>,
+                                        <&clkc_periphs CLKID_PWM_L>;
+                               #pwm-cells = <3>;
+                               status = "disabled";
+                       };
+
                        i2c0: i2c@66000 {
                                compatible = "amlogic,meson-axg-i2c";
                                reg = <0x0 0x66000 0x0 0x24>;