bus: ti: am33xx: add pwm subsystem driver

The TI PWMSS driver is a simple bus driver for providing clock and power
management for the PWM peripherals on TI AM33xx SoCs, namely eCAP,
eHRPWM and eQEP.

For DT binding details see Linux doc:
- Documentation/devicetree/bindings/pwm/pwm-tipwmss.txt

Signed-off-by: Dario Binacchi <dariobin@libero.it>
This commit is contained in:
Dario Binacchi 2020-12-30 00:16:25 +01:00 committed by Lokesh Vutla
parent ade7f0d00e
commit 0f4effb05b
3 changed files with 28 additions and 0 deletions

View File

@ -5,6 +5,12 @@
menu "Bus devices"
config TI_PWMSS
bool
default y if ARCH_OMAP2PLUS && PWM_TI_EHRPWM
help
PWM Subsystem driver support for AM33xx SOC.
config TI_SYSC
bool "TI sysc interconnect target module driver"
depends on ARCH_OMAP2PLUS

View File

@ -3,5 +3,6 @@
# Makefile for the bus drivers.
#
obj-$(CONFIG_TI_PWMSS) += ti-pwmss.o
obj-$(CONFIG_TI_SYSC) += ti-sysc.o
obj-$(CONFIG_UNIPHIER_SYSTEM_BUS) += uniphier-system-bus.o

21
drivers/bus/ti-pwmss.c Normal file
View File

@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Pulse-Width Modulation Subsystem (pwmss)
*
* Copyright (C) 2020 Dario Binacchi <dariobin@libero.it>
*/
#include <common.h>
#include <dm.h>
static const struct udevice_id ti_pwmss_ids[] = {
{.compatible = "ti,am33xx-pwmss"},
{}
};
U_BOOT_DRIVER(ti_pwmss) = {
.name = "ti_pwmss",
.id = UCLASS_SIMPLE_BUS,
.of_match = ti_pwmss_ids,
.bind = dm_scan_fdt_dev,
};