Commit Graph

9 Commits

Author SHA1 Message Date
Shawn Guo
e16415313c pinctrl: imx: move hard-coding data into device tree
Currently, all imx pinctrl drivers maintain a big array of struct
imx_pin_reg which hard-codes data like register offset and mux mode
setting for each pin function.  Every time a new imx SoC support is
added, we need to add such a big mount of data.  With moving to single
kernel build, it's only matter of time to be blamed on memory consuming.

With DTC pre-processor support in place, the patch moves all these data
into device tree by redefining the PIN_FUNC_ID in imxXX-pinfunc.h and
changing the PIN_FUNC_ID parsing code a little bit.

The pin id gets re-numbered based on mux register offset, or config
register offset if the pin has no mux register, so that kernel can
identify the pin id from register offsets provided by device tree.

As a bonus point of the change, those arbitrary magic numbers standing
for particular PIN_FUNC_ID in device tree sources are now replaced by
macros to improve the readability of dts files.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-04-09 22:52:50 +08:00
Shawn Guo
36dffd8f49 ARM: imx: use #include for all device trees
Replace /include/ (dtc) with #include (C pre-processor) for all imx DT
files, so that gcc -E handles the entire include tree, and hence any of
those files can #include some other file e.g. for constant definitions.

This allows future use of #defines and header files in order to define
names for various constants, such as pinctrl settings. Use of those
features will increase the readability of the device tree files.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-04-09 22:52:49 +08:00
Peter Chen
a10c22e44b ARM: dts: imx6q-sabresd: Add USB support
Add USB support for imx6q sabresd board

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-04-09 22:52:49 +08:00
Shawn Guo
7c1da5854f ARM: dts: add dtsi for imx6q and imx6dl
Add dtsi for imx6q and imx6dl with non-common blocks moved into there.
Major differences between imx6dl and imx6q:

 * Dual vs. Quad cores
 * single vs. dual IPU
 * 128 vs. 256 KB OCRAM
 * imx6q: ECSPI5, OpenVG (GC355), SATA
 * imx6dl: I2C4, PXP, EPDC, LCDIF
 * iomuxc/pads definition

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-02-10 23:25:47 +08:00
Shawn Guo
4bacf2a3fc ARM: dts: rename imx6q.dtsi to imx6qdl.dtsi
i.MX6 Quad and i.MX6 DualLite is similar enough to share one dtsi
file, so rename imx6q.dtsi to imx6qdl.dtsi preparing for the addition
of imx6dl support.

Another member of i.MX6 series i.MX6 SoloLite is different enough
from the other two, so it will stand as a separate dtsi.  That's why
we rename to imx6qdl.dtsi not imx6.dtsi.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-02-10 23:25:47 +08:00
Shawn Guo
be4ccfcec3 ARM: dts: imx: use nodes label in board dts
Following omap3-evm.dts way, it changes all imx dts files to use label
in board dts to refer to nodes defined by soc dtsi.  Thus, the board
dts files become easier to read and edit with the least indentation
levels.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-02-10 23:25:42 +08:00
Liu Ying
82c4570574 ARM: dts: imx6q-sabresd: add volume up/down gpio keys
Add volume up/down gpio keys support in imx6q-sabresd.dts.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-11-16 14:18:53 +08:00
Shawn Guo
497ae1747b ARM: dts: imx6q-sabresd: add pinctrl settings
Add pinctrl settings for existing devices in imx6q-sabresd.dts.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-09-11 16:26:48 +08:00
Fabio Estevam
691d264087 ARM: dts: Add basic support for imx6q-sabresd
Add basic support for imx6q-sabresd.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-11 15:17:52 +08:00