On Tue, Oct 22, 2024 at 3:04 PM Binbin Zhou <zhoubinbin@xxxxxxxxxxx> wrote: > > Hi all: > > This patchset introduce a generic PWM framework driver for Loongson family. > Each PWM has one pulse width output signal and one pulse input signal to be measured. > > It can be found on Loongson-2K series cpus and Loongson LS7A bridge chips. > > Thanks. > > ------- > V7: > Thanks for Sean's advice. > patch (2/2): > - Set chip->atomic to keep pwm_apply_atomic() can be used with the pwm. > - Test with CONFIG_PWM_DEBUG and CONFIG_DEBUG_ATOMIC_SLEEP enabled. > > Link to V6: > https://lore.kernel.org/all/cover.1728463622.git.zhoubinbin@xxxxxxxxxxx/ Hi Uwe: Gentle ping. Any comments about this patchset ? > > V6: > patch (2/2): > - Rebase on pwm/for-next; > - Add Reference Manual; > - Shortcut if !pwm->state.enabled; > - When state->enabled is true, unconditionally execute > pwm_loongson_set_polarity() to avoid that the polarity register is > not set correctly. > > Link to V5: > https://lore.kernel.org/all/cover.1720516327.git.zhoubinbin@xxxxxxxxxxx/ > > V5: > patch (2/2): > - Rebase on pwm/for-next; > - Test with PWM_DEBUG enabled. > - In pwm_loongson_apply(), the pwm state is determined before the pwm > polarity, avoid test failures when PWM_DEBUG is enabled; > - Added DIV64_U64_ROUND_UP in pwm_loongson_get_state() to avoid > precision loss and to avoid test failures when PWM_DEBUG is enabled. > > Link to V4: > https://lore.kernel.org/all/cover.1716795485.git.zhoubinbin@xxxxxxxxxxx/ > > V4: > patch (2/2): > - Rebase on pwm/for-next; > - Addressed Uwe's review comments: > - Make use of devm_pwmchip_alloc() function; > - Add Limitations description; > - Add LOONGSON_ prefix for Loongson pwm register defines; > - Keep regs written only once; > - Rewrite duty/period calculation; > - Add dev_err_probe() in .probe(); > - Fix some code style. > > Link to V3: > https://lore.kernel.org/linux-pwm/cover.1713164810.git.zhoubinbin@xxxxxxxxxxx/ > > V3: > patch (1/2): > - Add Reviewed-by tag from Krzysztof, thanks. > patch (2/2): > - Several code stlye adjustments, such as line breaks. > > Link to V2: > https://lore.kernel.org/all/cover.1712732719.git.zhoubinbin@xxxxxxxxxxx/ > > v2: > - Remove the dts-related patches and update dts at once after all > relevant drivers are complete. > patch (1/2): > - The dt-binding filename should match compatible, rename it as > loongson,ls7a-pwm.yaml; > - Update binding description; > - Add description for each pwm cell; > - Drop '#pwm-cells' from required, for pwm.yaml makes it required already. > > Link to v1: > https://lore.kernel.org/linux-pwm/cover.1711953223.git.zhoubinbin@xxxxxxxxxxx/ > > Binbin Zhou (2): > dt-bindings: pwm: Add Loongson PWM controller > pwm: Add Loongson PWM controller support > > .../bindings/pwm/loongson,ls7a-pwm.yaml | 66 ++++ > MAINTAINERS | 7 + > drivers/pwm/Kconfig | 12 + > drivers/pwm/Makefile | 1 + > drivers/pwm/pwm-loongson.c | 288 ++++++++++++++++++ > 5 files changed, 374 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pwm/loongson,ls7a-pwm.yaml > create mode 100644 drivers/pwm/pwm-loongson.c > > > base-commit: c13bce43b32b06f2273c7961940c391cdaf13d1e > -- > 2.43.5 > -- Thanks. Binbin