]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit - lib/stmp_device.c
lib: add support for stmp-style devices
authorWolfram Sang <w.sang@pengutronix.de>
Wed, 31 Aug 2011 18:35:40 +0000 (20:35 +0200)
committerWolfram Sang <w.sang@pengutronix.de>
Fri, 20 Apr 2012 21:27:08 +0000 (23:27 +0200)
commit4ccf4beab8c447f8cd33d46afb6e10e1aa3befc6
tree2291a9cb2b1fa2bbb94bbcb9df3c9cf8588fc176
parente816b57a337ea3b755de72bec38c10c864f23015
lib: add support for stmp-style devices

MX23/28 use IP cores which follow a register layout I have first seen on
STMP3xxx SoCs. In this layout, every register actually has four u32:

 1.) to store a value directly
 2.) a SET register where every 1-bit sets the corresponding bit,
     others are unaffected
 3.) same with a CLR register
 4.) same with a TOG (toggle) register

Also, the 2 MSBs in register 0 are always the same and can be used to reset
the IP core.

All this is strictly speaking not mach-specific (but IP core specific) and,
thus, doesn't need to be in mach-mxs/include. At least mx6 also uses IP cores
following this stmp-style. So:

Introduce a stmp-style device, put the code and defines for that in a public
place (lib/), and let drivers for stmp-style devices select that code.
To avoid regressions and ease reviewing, the actual code is simply copied from
mach-mxs. It definately wants updates, but those need a seperate patch series.

Voila, mach dependency gone, reusable code introduced. Note that I didn't
remove the duplicated code from mach-mxs yet, first the drivers have to be
converted.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
include/linux/stmp_device.h [new file with mode: 0644]
lib/Kconfig
lib/Makefile
lib/stmp_device.c [new file with mode: 0644]