^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) TI SOC based PWM Subsystem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible: Must be "ti,<soc>-pwmss".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) for am33xx - compatible = "ti,am33xx-pwmss";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) for am4372 - compatible = "ti,am4372-pwmss","ti,am33xx-pwmss";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) for dra746 - compatible = "ti,dra746-pwmss", "ti,am33xx-pwmss"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - reg: physical base address and size of the registers map.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - address-cells: Specify the number of u32 entries needed in child nodes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Should set to 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - size-cells: specify number of u32 entries needed to specify child nodes size
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) in reg property. Should set to 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - ranges: describes the address mapping of a memory-mapped bus. Should set to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) physical address map of child's base address, physical address within
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) parent's address space and length of the address map. For am33xx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 3 set of child register maps present, ECAP register space, EQEP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) register space, EHRPWM register space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Also child nodes should also populated under PWMSS DT node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) epwmss0: epwmss@48300000 { /* PWMSS for am33xx */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) compatible = "ti,am33xx-pwmss";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) reg = <0x48300000 0x10>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) ti,hwmods = "epwmss0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #size-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) ranges = <0x48300100 0x48300100 0x80 /* ECAP */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 0x48300180 0x48300180 0x80 /* EQEP */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 0x48300200 0x48300200 0x80>; /* EHRPWM */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) /* child nodes go here */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) epwmss0: epwmss@48300000 { /* PWMSS for am4372 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) compatible = "ti,am4372-pwmss","ti,am33xx-pwmss"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) reg = <0x48300000 0x10>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) ti,hwmods = "epwmss0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #size-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ranges = <0x48300100 0x48300100 0x80 /* ECAP */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 0x48300180 0x48300180 0x80 /* EQEP */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 0x48300200 0x48300200 0x80>; /* EHRPWM */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) /* child nodes go here */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) epwmss0: epwmss@4843e000 { /* PWMSS for DRA7xx */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) compatible = "ti,dra746-pwmss", "ti,am33xx-pwmss";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) reg = <0x4843e000 0x30>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) ti,hwmods = "epwmss0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #size-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) ranges;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) /* child nodes go here */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) };