• Philip, Avinash's avatar
    pwm: Add TI PWM subsystem driver · af0ba001
    Philip, Avinash authored
    In some platforms (like am33xx), PWM sub modules (ECAP, EHRPWM, EQEP)
    are integrated to PWM subsystem. These PWM submodules has resources
    shared and only one register bit-field is provided to control
    module/clock enable/disable, makes it difficult to handle common
    resources from independent PWMSS submodule drivers.
    
    So the solution here implemented in this patch is, to create driver for
    PWMSS and take the role of parent driver for PWM submodules. PWMSS
    parent driver enumerates all the child nodes under PWMSS module. Also
    symbol "pwmss_submodule_state_change" exported to enable clock gating
    for individual PWMSS submodules, and submodule drivers has to enable
    clock gating from their drivers.
    
    As this is only supported during DT boot, the parent/child relationship
    is created and populated in DT execution flow. The only required change
    is inside DTS file, making EHRPWM & ECAP as a child to PWMSS node.
    Signed-off-by: default avatarPhilip, Avinash <avinashphilip@ti.com>
    Signed-off-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
    af0ba001
pwm-tipwmss.c 3.42 KB