[PATCH 00/29] Move OMAP2+ over to use COMMON clock
Rajendra Nayak
rnayak at ti.com
Thu Jun 14 08:46:49 EDT 2012
Hi,
Series is based on latest clk-next(3.5-rc2) from Mike.
Boot/Test logs for the series can be found here
http://pastebin.com/u/rnayak
Changes/Fixes/Updates since RFC series
-1- Fixed issues with dpll abe rate on OMAP4
-2- Fixed boot crash on 2430SDP and 2420N800
-3- Fixed suspend on OMAP3, (unused clocks were not disabled)
-4- clk_hw_omap and related defs now retained in plat/clock.h
-5- Added missing 4460 clocks for OMAP4
-6- Fixed some drivers to use clk_prepare_enable and clk_disable_unprepare
-7- Added .is_enabled hooks for all OMAP2/3/4 gate clocks
-8- Got rid of the late_init call
-9- Fixed the handling of omap_96m_alwon_fck_3630 clk for OMAP3
OMAP3 has suspend broken in mainline, so I tested it on an
older kernel (3.4-rc4 using my RFC series)
Idle and OFF mode however seem to be broken for a long time,
I wasn;t able to get it working even on 3.4 major.
See my logs '3630 Beagle-Xm broken idle/off on 3.4' if
I am doing anything wrong. I have CPUidle enabled in the
kernel config.
This series retains the static clock declarations and also
all data and code in mach-omap folders and does not move
it as yet to drivers/clk.
Also the series moves over only OMAP2+ (OMAP2/3/4)
to use COMMON clk and leaves OMAP1 still using OMAP
clock framework.
The series does not break git-bisect at any point and to
do so adds new data in completely different files and uses
some ifdefferry in code too, and switches over in one
patch to move from OMAP clock to COMMON clock. Then deletes
all old data files and all the ifdeferrey around.
All of the new data for OMAP2/3/4 in the new COMMON clock
format is autogenerated, OMAP4 by hacking the existing python
scripts, and OMAP2/3 by converting the existing C99 structs
to JSON format (Thanks to Paul Walmsley for this) and then having
python to read the JSON format and generate the C99 structs
back in the form COMMON clk expects.
The complete series can be found here
git://github.com/rrnayak/linux.git clk-next-omap-3.5-rc2
Special thanks to Jon Hunter for his help testing on the
2420-N800 device.
regards,
Rajendra
Mike Turquette (1):
ARM: omap4: cm: add bitfield width values
Rajendra Nayak (28):
clk: Add support for rate table based dividers
clk: Add CLK_IS_BASIC flag to identify basic clocks
ARM: omap: clk: convert all clk_enable to clk_prepare_enable
mmc: omap_hsmmc: use clk_prepare_enable and clk_disable_unprepare
hwrng: omap: use clk_prepare_enable and clk_disable_unprepare
mfd: omap-usb: use clk_prepare_enable and clk_disable_unprepare
ARM: omap: hwmod: get rid of all omap_clk_get_by_name usage
ARM: omap: clk: Nuke plat/clock.c & reuse struct clk as clk_hw_omap
ARM: omap: clk: Remove all direct dereferncing of struct clk
ARM: omap: hwmod: Fix up hwmod based clkdm accesses
ARM: omap4: clk: Convert to common clk
ARM: omap3: clk: Convert to common clk
ARM: omap2: clk: Convert to common clk
ARM: omap: clk: list all clk_hw_omap clks to enable/disable autoidle
ARM: omap: clk: Define a function to enable clocks at init
ARM: omap: clock: Get rid of unwanted clkdm assocations within clks
ARM: omap4: clk: Add 44xx data using common struct clk
ARM: omap3: clk: Add 3xxx data using common struct clk
ARM: omap2: clk: Add 24xx data using common struct clk
ARM: omap: clk: Switch to COMMON clk
ARM: omap: clk: Use plat/clock.c only for OMAP1
ARM: omap: hwmod: Cleanup !CONFIG_COMMON_CLK parts
ARM: omap4: clk: Cleanup !CONFIG_COMMON_CLK parts
ARM: omap3: clk: Cleanup !CONFIG_COMMON_CLK parts
ARM: omap2: clk: Cleanup !CONFIG_COMMON_CLK parts
ARM: omap4: clk: Delete old OMAP clock data
ARM: omap3: clk: Delete old OMAP clock data
ARM: omap2: clk: Delete old OMAP clock data
arch/arm/mach-imx/clk.h | 2 +-
arch/arm/mach-omap2/Kconfig | 1 +
arch/arm/mach-omap2/Makefile | 8 +-
arch/arm/mach-omap2/board-apollon.c | 4 +-
arch/arm/mach-omap2/board-h4.c | 6 +-
arch/arm/mach-omap2/board-omap4panda.c | 2 +-
arch/arm/mach-omap2/cclock2420_data.c | 2306 +++++++++++++++
arch/arm/mach-omap2/cclock2430_data.c | 2434 ++++++++++++++++
arch/arm/mach-omap2/cclock3xxx_data.c | 3981 ++++++++++++++++++++++++++
arch/arm/mach-omap2/cclock44xx_data.c | 2628 +++++++++++++++++
arch/arm/mach-omap2/clkt2xxx_apll.c | 35 +-
arch/arm/mach-omap2/clkt2xxx_dpll.c | 8 +-
arch/arm/mach-omap2/clkt2xxx_dpllcore.c | 11 +-
arch/arm/mach-omap2/clkt2xxx_osc.c | 12 +-
arch/arm/mach-omap2/clkt2xxx_sys.c | 6 +-
arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 14 +-
arch/arm/mach-omap2/clkt34xx_dpll3m2.c | 24 +-
arch/arm/mach-omap2/clkt_clksel.c | 198 +-
arch/arm/mach-omap2/clkt_dpll.c | 48 +-
arch/arm/mach-omap2/clkt_iclk.c | 35 +-
arch/arm/mach-omap2/clock.c | 334 +--
arch/arm/mach-omap2/clock.h | 98 +-
arch/arm/mach-omap2/clock2420_data.c | 2009 -------------
arch/arm/mach-omap2/clock2430.c | 8 +-
arch/arm/mach-omap2/clock2430_data.c | 2108 --------------
arch/arm/mach-omap2/clock2xxx.c | 1 +
arch/arm/mach-omap2/clock2xxx.h | 37 +-
arch/arm/mach-omap2/clock34xx.c | 51 +-
arch/arm/mach-omap2/clock3517.c | 21 +-
arch/arm/mach-omap2/clock36xx.c | 22 +-
arch/arm/mach-omap2/clock36xx.h | 2 +-
arch/arm/mach-omap2/clock3xxx.c | 14 +-
arch/arm/mach-omap2/clock3xxx.h | 6 +-
arch/arm/mach-omap2/clock3xxx_data.c | 3621 -----------------------
arch/arm/mach-omap2/clock44xx_data.c | 3455 ----------------------
arch/arm/mach-omap2/clock_common_data.c | 9 +
arch/arm/mach-omap2/cm-regbits-24xx.h | 5 +
arch/arm/mach-omap2/cm-regbits-34xx.h | 31 +
arch/arm/mach-omap2/cm-regbits-44xx.h | 411 +++-
arch/arm/mach-omap2/cm2xxx_3xxx.h | 1 +
arch/arm/mach-omap2/display.c | 4 +-
arch/arm/mach-omap2/dpll3xxx.c | 165 +-
arch/arm/mach-omap2/dpll44xx.c | 20 +-
arch/arm/mach-omap2/gpmc.c | 2 +-
arch/arm/mach-omap2/io.c | 9 +
arch/arm/mach-omap2/omap_hwmod.c | 83 +-
arch/arm/mach-omap2/omap_phy_internal.c | 12 +-
arch/arm/mach-omap2/pm.c | 2 +-
arch/arm/mach-omap2/pm24xx.c | 8 +-
arch/arm/mach-omap2/prm-regbits-24xx.h | 2 +
arch/arm/mach-omap2/prm-regbits-34xx.h | 1 +
arch/arm/mach-omap2/prm2xxx_3xxx.h | 1 +
arch/arm/mach-omap2/scrm44xx.h | 2 +
arch/arm/mach-omap2/usb-fs.c | 4 +-
arch/arm/plat-omap/Makefile | 3 +-
arch/arm/plat-omap/include/plat/clock.h | 89 +
arch/arm/plat-omap/omap_device.c | 6 +-
drivers/char/hw_random/omap-rng.c | 6 +-
drivers/clk/clk-divider.c | 69 +-
drivers/clk/clk-fixed-factor.c | 2 +-
drivers/clk/clk-fixed-rate.c | 2 +-
drivers/clk/clk-gate.c | 2 +-
drivers/clk/clk-mux.c | 2 +-
drivers/clk/spear/spear3xx_clock.c | 4 +-
drivers/clk/spear/spear6xx_clock.c | 4 +-
drivers/mfd/omap-usb-host.c | 28 +-
drivers/mmc/host/omap_hsmmc.c | 14 +-
include/linux/clk-private.h | 5 +-
include/linux/clk-provider.h | 11 +-
69 files changed, 12555 insertions(+), 12014 deletions(-)
create mode 100644 arch/arm/mach-omap2/cclock2420_data.c
create mode 100644 arch/arm/mach-omap2/cclock2430_data.c
create mode 100644 arch/arm/mach-omap2/cclock3xxx_data.c
create mode 100644 arch/arm/mach-omap2/cclock44xx_data.c
delete mode 100644 arch/arm/mach-omap2/clock2420_data.c
delete mode 100644 arch/arm/mach-omap2/clock2430_data.c
delete mode 100644 arch/arm/mach-omap2/clock3xxx_data.c
delete mode 100644 arch/arm/mach-omap2/clock44xx_data.c
More information about the linux-arm-kernel
mailing list