Skip to content

Commit 18a2a63

Browse files
lucien-nxpnashif
authored andcommitted
dts: arm: nxp: rt118x: add flexpwm instances
add 4 flexpwm instances update clock driver to adapt flexpwm clock structure Signed-off-by: Lucien Zhao <[email protected]>
1 parent 81bb231 commit 18a2a63

File tree

2 files changed

+192
-1
lines changed

2 files changed

+192
-1
lines changed

drivers/clock_control/clock_control_mcux_ccm_rev2.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,16 @@ static int mcux_ccm_get_subsys_rate(const struct device *dev,
111111
#endif
112112

113113
#ifdef CONFIG_PWM_MCUX
114+
#if defined(CONFIG_SOC_SERIES_IMXRT118X)
115+
case IMX_CCM_PWM_CLK:
116+
clock_root = kCLOCK_Root_Bus_Aon;
117+
break;
118+
#else
114119
case IMX_CCM_PWM_CLK:
115120
clock_root = kCLOCK_Root_Bus;
116121
break;
117-
#endif
122+
#endif /* CONFIG_SOC_SERIES_IMXRT118X */
123+
#endif /* CONFIG_PWM_MCUX */
118124

119125
#ifdef CONFIG_CAN_MCUX_FLEXCAN
120126
case IMX_CCM_CAN1_CLK:

dts/arm/nxp/nxp_rt118x.dtsi

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <dt-bindings/gpio/gpio.h>
99
#include <dt-bindings/i2c/i2c.h>
1010
#include <zephyr/dt-bindings/adc/adc.h>
11+
#include <zephyr/dt-bindings/pwm/pwm.h>
1112

1213
/ {
1314
cpus {
@@ -663,6 +664,190 @@
663664
resolution = <32>;
664665
status = "disabled";
665666
};
667+
668+
flexpwm1: flexpwm@2650000 {
669+
compatible = "nxp,flexpwm";
670+
reg = <0x2650000 0x4000>;
671+
interrupts = <23 0>;
672+
673+
flexpwm1_pwm0: flexpwm1_pwm0 {
674+
compatible = "nxp,imx-pwm";
675+
index = <0>;
676+
interrupts = <24 0>;
677+
#pwm-cells = <3>;
678+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
679+
nxp,prescaler = <128>;
680+
status = "disabled";
681+
};
682+
683+
flexpwm1_pwm1: flexpwm1_pwm1 {
684+
compatible = "nxp,imx-pwm";
685+
index = <1>;
686+
interrupts = <25 0>;
687+
#pwm-cells = <3>;
688+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
689+
nxp,prescaler = <128>;
690+
status = "disabled";
691+
};
692+
693+
flexpwm1_pwm2: flexpwm1_pwm2 {
694+
compatible = "nxp,imx-pwm";
695+
index = <2>;
696+
interrupts = <26 0>;
697+
#pwm-cells = <3>;
698+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
699+
nxp,prescaler = <128>;
700+
status = "disabled";
701+
};
702+
703+
flexpwm1_pwm3: flexpwm1_pwm3 {
704+
compatible = "nxp,imx-pwm";
705+
index = <3>;
706+
interrupts = <27 0>;
707+
#pwm-cells = <3>;
708+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
709+
nxp,prescaler = <128>;
710+
status = "disabled";
711+
};
712+
};
713+
714+
flexpwm2: flexpwm@2660000 {
715+
compatible = "nxp,flexpwm";
716+
reg = <0x2660000 0x4000>;
717+
interrupts = <170 0>;
718+
719+
flexpwm2_pwm0: flexpwm2_pwm0 {
720+
compatible = "nxp,imx-pwm";
721+
index = <0>;
722+
interrupts = <171 0>;
723+
#pwm-cells = <3>;
724+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
725+
nxp,prescaler = <128>;
726+
status = "disabled";
727+
};
728+
729+
flexpwm2_pwm1: flexpwm2_pwm1 {
730+
compatible = "nxp,imx-pwm";
731+
index = <1>;
732+
interrupts = <172 0>;
733+
#pwm-cells = <3>;
734+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
735+
nxp,prescaler = <128>;
736+
status = "disabled";
737+
};
738+
739+
flexpwm2_pwm2: flexpwm2_pwm2 {
740+
compatible = "nxp,imx-pwm";
741+
index = <2>;
742+
interrupts = <173 0>;
743+
#pwm-cells = <3>;
744+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
745+
nxp,prescaler = <128>;
746+
status = "disabled";
747+
};
748+
749+
flexpwm2_pwm3: flexpwm2_pwm3 {
750+
compatible = "nxp,imx-pwm";
751+
index = <3>;
752+
interrupts = <174 0>;
753+
#pwm-cells = <3>;
754+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
755+
nxp,prescaler = <128>;
756+
status = "disabled";
757+
};
758+
};
759+
760+
flexpwm3: flexpwm@2670000 {
761+
compatible = "nxp,flexpwm";
762+
reg = <0x2670000 0x4000>;
763+
interrupts = <175 0>;
764+
765+
flexpwm3_pwm0: flexpwm3_pwm0 {
766+
compatible = "nxp,imx-pwm";
767+
index = <0>;
768+
interrupts = <176 0>;
769+
#pwm-cells = <3>;
770+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
771+
nxp,prescaler = <128>;
772+
status = "disabled";
773+
};
774+
775+
flexpwm3_pwm1: flexpwm3_pwm1 {
776+
compatible = "nxp,imx-pwm";
777+
index = <1>;
778+
interrupts = <177 0>;
779+
#pwm-cells = <3>;
780+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
781+
nxp,prescaler = <128>;
782+
status = "disabled";
783+
};
784+
785+
flexpwm3_pwm2: flexpwm3_pwm2 {
786+
compatible = "nxp,imx-pwm";
787+
index = <2>;
788+
interrupts = <178 0>;
789+
#pwm-cells = <3>;
790+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
791+
nxp,prescaler = <128>;
792+
status = "disabled";
793+
};
794+
795+
flexpwm3_pwm3: flexpwm3_pwm3 {
796+
compatible = "nxp,imx-pwm";
797+
index = <3>;
798+
interrupts = <179 0>;
799+
#pwm-cells = <3>;
800+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
801+
nxp,prescaler = <128>;
802+
status = "disabled";
803+
};
804+
};
805+
806+
flexpwm4: flexpwm@2680000 {
807+
compatible = "nxp,flexpwm";
808+
reg = <0x2680000 0x4000>;
809+
interrupts = <180 0>;
810+
811+
flexpwm4_pwm0: flexpwm4_pwm0 {
812+
compatible = "nxp,imx-pwm";
813+
index = <0>;
814+
interrupts = <181 0>;
815+
#pwm-cells = <3>;
816+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
817+
nxp,prescaler = <128>;
818+
status = "disabled";
819+
};
820+
821+
flexpwm4_pwm1: flexpwm4_pwm1 {
822+
compatible = "nxp,imx-pwm";
823+
index = <1>;
824+
interrupts = <182 0>;
825+
#pwm-cells = <3>;
826+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
827+
nxp,prescaler = <128>;
828+
status = "disabled";
829+
};
830+
831+
flexpwm4_pwm2: flexpwm4_pwm2 {
832+
compatible = "nxp,imx-pwm";
833+
index = <2>;
834+
interrupts = <183 0>;
835+
#pwm-cells = <3>;
836+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
837+
nxp,prescaler = <128>;
838+
status = "disabled";
839+
};
840+
841+
flexpwm4_pwm3: flexpwm4_pwm3 {
842+
compatible = "nxp,imx-pwm";
843+
index = <3>;
844+
interrupts = <184 0>;
845+
#pwm-cells = <3>;
846+
clocks = <&ccm IMX_CCM_PWM_CLK 0 0>;
847+
nxp,prescaler = <128>;
848+
status = "disabled";
849+
};
850+
};
666851
};
667852

668853
&flexspi {

0 commit comments

Comments
 (0)