[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