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