android_kernel_xiaomi_sm8350/arch/arm
Paul Walmsley 63c8523841 OMAP2/3/4: create omap_hwmod layer
OMAP SoCs can be considered a collection of hardware IP blocks
connected by various interconnects.  The bus topology and device
integration data is somewhat more complex than platform_device can
encode.  This patch creates code and structures to manage information
about OMAP on-chip devices ("hardware modules") and their integration
to the rest of the chip.  Hardware module data is intended to be
generated dynamically from the TI hardware database for the OMAP4
chips and beyond, easing Linux support for new chip variants.

This code currently:

- resets and configures all hardware modules upon startup, reducing bootloader
  dependencies;

- provides hooks for Linux driver model code to enable, idle, and shutdown
  hardware modules (forthcoming patch);

- waits for hardware modules to leave idle once their clocks
  are enabled and OCP_SYSCONFIG bits are set appropriately.

- provides a means to pass arbitrary IP block configuration data (e.g.,
  FIFO size) to the device driver (via the dev_attr void pointer)

In the future this code is intended to:

- estimate interconnect bandwidth and latency characteristics to
  ensure constraints are satisfied during DVFS

- provide *GRPSEL bit data to the powerdomain code

- handle pin/ball muxing for devices

- generate IO mapping information dynamically

- supply device firewall configuration data

- provide hardware module data to other on-chip coprocessor software

- allow the removal of the "disable unused clocks" code in the OMAP2/3
  clock code

This patch represents a collaborative effort involving many people from TI,
Nokia, and the Linux-OMAP community.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Sakari Poussa <sakari.poussa@nokia.com>
Cc: Anand Sawant <sawant@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Eric Thomas <ethomas@ti.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
2009-09-03 20:14:03 +03:00
..
boot ARM: includecheck fix: misc.c 2009-07-25 17:07:00 +01:00
common ARM: 5639/1: arm: clkdev.c should include <linux/clk.h> 2009-08-05 22:06:58 +01:00
configs OMAP3: update OMAP3 Beagle defconfig 2009-08-28 11:24:17 -07:00
include/asm ARM: Fix broken highmem support 2009-08-15 12:36:00 +01:00
kernel ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH 2009-08-05 22:06:58 +01:00
lib
mach-aaec2000
mach-at91 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-07-30 16:46:31 -07:00
mach-clps711x
mach-davinci ARM: includecheck fix: board-sffsdr.c 2009-07-25 17:07:02 +01:00
mach-ebsa110
mach-ep93xx [ARM] 5611/1: ep93xx: update ts72xx nor flash support 2009-07-23 10:21:24 +01:00
mach-footbridge
mach-gemini
mach-h720x
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes 2009-08-11 19:22:20 +02:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood [ARM] Kirkwood: enable eSATA on QNAP TS-219P 2009-08-24 11:56:00 -04:00
mach-ks8695 ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers 2009-08-05 22:06:56 +01:00
mach-l7200
mach-lh7a40x
mach-loki
mach-mmp
mach-msm
mach-mv78xx0
mach-mx1
mach-mx2
mach-mx3 mx31moboard: invert sdhc ro signal sense 2009-08-14 12:33:23 +02:00
mach-netx
mach-ns9xxx
mach-omap1 OMAP1: AMS_DELTA: add modem support 2009-08-28 10:51:37 -07:00
mach-omap2 OMAP2/3/4: create omap_hwmod layer 2009-09-03 20:14:03 +03:00
mach-orion5x [ARM] orion5x: register the crypto device on SOCs that support it 2009-06-15 00:37:08 -04:00
mach-pnx4008
mach-pxa Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 2009-07-30 10:46:12 +01:00
mach-realview ARM: Realview & Versatile: Fix i2c_board_info definitions 2009-07-18 17:08:59 +01:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410 S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip 2009-07-29 23:47:14 +01:00
mach-s3c2412
mach-s3c2440 [ARM] MINI2440: Add missing flash_bbt flat to NAND 2009-06-23 18:23:27 +01:00
mach-s3c2442 [ARM] GTA02: build fixes (s3c2410_nand_set usage) 2009-06-24 00:10:46 +01:00
mach-s3c2443
mach-s3c6400
mach-s3c6410
mach-sa1100
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300 ARM: 5673/1: U300 fix initsection compile warning 2009-08-15 15:36:52 +01:00
mach-versatile ARM: Realview & Versatile: Fix i2c_board_info definitions 2009-07-18 17:08:59 +01:00
mach-w90x900
mm ARM: Fix broken highmem support 2009-08-15 12:36:00 +01:00
nwfpe
oprofile
plat-iop
plat-mxc pcm037: add MT9T031 camera support 2009-06-23 14:25:26 +02:00
plat-omap OMAP2/3/4: create omap_hwmod layer 2009-09-03 20:14:03 +03:00
plat-orion [ARM] Kirkwood: __init requires linux/init.h 2009-08-24 11:55:59 -04:00
plat-pxa [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() 2009-07-03 14:17:51 +08:00
plat-s3c [ARM] S3C: Fix S3C24XX build to not include s3c64xx IIS devices 2009-06-23 16:34:35 +01:00
plat-s3c24xx ARM: S3C24XX: Fix clkout mpx error 2009-08-14 00:45:49 +01:00
plat-s3c64xx Merge branch 's3c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux 2009-07-30 10:47:55 +01:00
plat-stmp3xxx ARM: includecheck fix: plat-stmp3xxx/pinmux.c 2009-07-25 17:08:24 +01:00
tools [ARM] Update mach-types 2009-06-20 22:28:41 +01:00
vfp
Kconfig [ARM] S3C64XX: Initial support for DVFS 2009-06-16 23:36:24 +01:00
Kconfig-nommu
Kconfig.debug [ARM] S3C: Remove unused CONFIG_DEBUG_S3C_PORT 2009-06-23 12:24:07 +01:00
Makefile