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