[RFC PATCH v2 00/11] OMAP System Control Module
Konstantin Baydarov
kbaidarov at dev.rtsoft.ru
Mon Jun 18 07:31:57 EDT 2012
Hello.
This is a next version of series of patches(based on Eduardo Valentin's patch set) adding a basic support for system control module, on OMAP4+ context. It is a working in progress.
Main changes since previous patch set version:
- Bandgap and usb phy: drivers are now independent from control module driver, they use their own API functions.
Dependency was removed from Kconfig.
- omap-control-core: driver is basically the same as arch/arm/mach-omap2/control.c, but resources aren't hardcoded, they are specified in dts file.
- omap-control-core: Control module is a built-in driver - added control module select to ARCH_HAS_CONTROL_MODULE and ARCH_OMAP4.
Probably, no configuration option is required!
- omap-control-core: Added early init call that ioremaps control module IOMEM window, this allows
omap-control-core.c API to be called very early, for example from omap_type()
- omap-control-core: Removed device pointer from omap-control-core API arguments, becuase there can be only one instance control
module device.
- Bandgap and usb phy: Added private spinlocks for bandgap and usb drivers.
- Bandgap: Check the type of bandgap dynamically in bandgap driver probe function by reading
omap core control module revision register CONTROL_GEN_CORE_REVISION.
TODO list for bandgap driver:
- Currently, bandgap and usb phy are children of control module, but, in fact, the drivers are independent,
so probably they should be independent entries in dts as well.
- Reserve omap-control-core IOMEM window.
- Improve thermal zone definition for OMAP4
- Introduce the thermal zones for OMAP5
Overall series has been tested only with panda board OMAP4430, so bandgap and usb phy drivers weren't tested at all.
---
Documentation/devicetree/bindings/mfd/omap_control.txt | 44
Documentation/devicetree/bindings/thermal/omap_bandgap.txt | 27
arch/arm/boot/dts/omap4.dtsi | 17
arch/arm/mach-omap2/Kconfig | 1
arch/arm/mach-omap2/am35xx-emac.c | 2
arch/arm/mach-omap2/board-3430sdp.c | 2
arch/arm/mach-omap2/board-4430sdp.c | 2
arch/arm/mach-omap2/board-am3517crane.c | 2
arch/arm/mach-omap2/board-am3517evm.c | 2
arch/arm/mach-omap2/board-apollon.c | 2
arch/arm/mach-omap2/board-cm-t3517.c | 2
arch/arm/mach-omap2/board-h4.c | 2
arch/arm/mach-omap2/board-igep0020.c | 2
arch/arm/mach-omap2/board-ldp.c | 2
arch/arm/mach-omap2/board-omap3logic.c | 2
arch/arm/mach-omap2/board-omap4panda.c | 2
arch/arm/mach-omap2/clock2420_data.c | 2
arch/arm/mach-omap2/clock2430_data.c | 2
arch/arm/mach-omap2/clock3xxx_data.c | 2
arch/arm/mach-omap2/clock44xx_data.c | 2
arch/arm/mach-omap2/common.c | 2
arch/arm/mach-omap2/control.c | 2
arch/arm/mach-omap2/control.h | 416 --
arch/arm/mach-omap2/cpuidle34xx.c | 2
arch/arm/mach-omap2/devices.c | 2
arch/arm/mach-omap2/display.c | 2
arch/arm/mach-omap2/hsmmc.c | 2
arch/arm/mach-omap2/id.c | 7
arch/arm/mach-omap2/include/mach/control.h | 567 +++
arch/arm/mach-omap2/include/mach/ctrl_module_core_44xx.h | 391 --
arch/arm/mach-omap2/include/mach/ctrl_module_pad_core_44xx.h | 1409 ---------
arch/arm/mach-omap2/include/mach/ctrl_module_pad_wkup_44xx.h | 236 -
arch/arm/mach-omap2/include/mach/ctrl_module_wkup_44xx.h | 92
arch/arm/mach-omap2/mcbsp.c | 2
arch/arm/mach-omap2/mux.c | 2
arch/arm/mach-omap2/omap_phy_internal.c | 2
arch/arm/mach-omap2/opp3xxx_data.c | 2
arch/arm/mach-omap2/opp4xxx_data.c | 2
arch/arm/mach-omap2/pm24xx.c | 2
arch/arm/mach-omap2/pm34xx.c | 2
arch/arm/mach-omap2/prcm.c | 2
arch/arm/mach-omap2/serial.c | 2
arch/arm/mach-omap2/sleep34xx.S | 2
arch/arm/mach-omap2/sr_device.c | 2
arch/arm/mach-omap2/usb-fs.c | 2
arch/arm/mach-omap2/voltage.c | 2
arch/arm/plat-omap/Kconfig | 4
drivers/mfd/Kconfig | 9
drivers/mfd/Makefile | 1
drivers/mfd/omap-control-core.c | 141
drivers/thermal/Kconfig | 24
drivers/thermal/Makefile | 5
drivers/thermal/omap-bandgap.c | 1658 +++++++++++
drivers/thermal/omap-bandgap.h | 76
drivers/thermal/omap4-thermal.c | 72
drivers/usb/otg/Kconfig | 12
drivers/usb/otg/Makefile | 1
drivers/usb/otg/omap4-usb-phy.c | 167 +
include/linux/mfd/omap_control.h | 70
include/linux/usb/omap4_usb_phy.h | 53
60 files changed, 2988 insertions(+), 2582 deletions(-)
More information about the linux-arm-kernel
mailing list