aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/imx53-mba53.dts
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2013-02-19 21:32:52 -0500
committerShawn Guo <shawn.guo@linaro.org>2013-04-09 10:52:50 -0400
commite16415313c9b00b1adc313e85c2c8a81febe0b98 (patch)
treeb1e804b1bb647f3984036d9f9befbe53023bc519 /arch/arm/boot/dts/imx53-mba53.dts
parent36dffd8f49bc1364998db81bee739ea4574d88f7 (diff)
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>
Diffstat (limited to 'arch/arm/boot/dts/imx53-mba53.dts')
-rw-r--r--arch/arm/boot/dts/imx53-mba53.dts80
1 files changed, 43 insertions, 37 deletions
diff --git a/arch/arm/boot/dts/imx53-mba53.dts b/arch/arm/boot/dts/imx53-mba53.dts
index 4e04710ac7b9..445a01119cc5 100644
--- a/arch/arm/boot/dts/imx53-mba53.dts
+++ b/arch/arm/boot/dts/imx53-mba53.dts
@@ -21,51 +21,57 @@
21&iomuxc { 21&iomuxc {
22 lvds1 { 22 lvds1 {
23 pinctrl_lvds1_1: lvds1-grp1 { 23 pinctrl_lvds1_1: lvds1-grp1 {
24 fsl,pins = <730 0x10000 /* LVDS0_TX3 */ 24 fsl,pins = <
25 732 0x10000 /* LVDS0_CLK */ 25 MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x10000
26 734 0x10000 /* LVDS0_TX2 */ 26 MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x10000
27 736 0x10000 /* LVDS0_TX1 */ 27 MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x10000
28 738 0x10000>; /* LVDS0_TX0 */ 28 MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x10000
29 MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x10000
30 >;
29 }; 31 };
30 32
31 pinctrl_lvds1_2: lvds1-grp2 { 33 pinctrl_lvds1_2: lvds1-grp2 {
32 fsl,pins = <720 0x10000 /* LVDS1_TX3 */ 34 fsl,pins = <
33 722 0x10000 /* LVDS1_TX2 */ 35 MX53_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 0x10000
34 724 0x10000 /* LVDS1_CLK */ 36 MX53_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 0x10000
35 726 0x10000 /* LVDS1_TX1 */ 37 MX53_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 0x10000
36 728 0x10000>; /* LVDS1_TX0 */ 38 MX53_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 0x10000
39 MX53_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 0x10000
40 >;
37 }; 41 };
38 }; 42 };
39 43
40 disp1 { 44 disp1 {
41 pinctrl_disp1_1: disp1-grp1 { 45 pinctrl_disp1_1: disp1-grp1 {
42 fsl,pins = <689 0x10000 /* DISP1_DRDY */ 46 fsl,pins = <
43 482 0x10000 /* DISP1_HSYNC */ 47 MX53_PAD_EIM_DA10__IPU_DI1_PIN15 0x10000 /* DISP1_DRDY */
44 489 0x10000 /* DISP1_VSYNC */ 48 MX53_PAD_EIM_D23__IPU_DI1_PIN2 0x10000 /* DISP1_HSYNC */
45 515 0x10000 /* DISP1_DAT_22 */ 49 MX53_PAD_EIM_EB3__IPU_DI1_PIN3 0x10000 /* DISP1_VSYNC */
46 523 0x10000 /* DISP1_DAT_23 */ 50 MX53_PAD_EIM_D26__IPU_DISP1_DAT_22 0x10000
47 545 0x10000 /* DISP1_DAT_21 */ 51 MX53_PAD_EIM_D27__IPU_DISP1_DAT_23 0x10000
48 553 0x10000 /* DISP1_DAT_20 */ 52 MX53_PAD_EIM_D30__IPU_DISP1_DAT_21 0x10000
49 558 0x10000 /* DISP1_DAT_19 */ 53 MX53_PAD_EIM_D31__IPU_DISP1_DAT_20 0x10000
50 564 0x10000 /* DISP1_DAT_18 */ 54 MX53_PAD_EIM_A24__IPU_DISP1_DAT_19 0x10000
51 570 0x10000 /* DISP1_DAT_17 */ 55 MX53_PAD_EIM_A23__IPU_DISP1_DAT_18 0x10000
52 575 0x10000 /* DISP1_DAT_16 */ 56 MX53_PAD_EIM_A22__IPU_DISP1_DAT_17 0x10000
53 580 0x10000 /* DISP1_DAT_15 */ 57 MX53_PAD_EIM_A21__IPU_DISP1_DAT_16 0x10000
54 585 0x10000 /* DISP1_DAT_14 */ 58 MX53_PAD_EIM_A20__IPU_DISP1_DAT_15 0x10000
55 590 0x10000 /* DISP1_DAT_13 */ 59 MX53_PAD_EIM_A19__IPU_DISP1_DAT_14 0x10000
56 595 0x10000 /* DISP1_DAT_12 */ 60 MX53_PAD_EIM_A18__IPU_DISP1_DAT_13 0x10000
57 628 0x10000 /* DISP1_DAT_11 */ 61 MX53_PAD_EIM_A17__IPU_DISP1_DAT_12 0x10000
58 634 0x10000 /* DISP1_DAT_10 */ 62 MX53_PAD_EIM_EB0__IPU_DISP1_DAT_11 0x10000
59 639 0x10000 /* DISP1_DAT_9 */ 63 MX53_PAD_EIM_EB1__IPU_DISP1_DAT_10 0x10000
60 644 0x10000 /* DISP1_DAT_8 */ 64 MX53_PAD_EIM_DA0__IPU_DISP1_DAT_9 0x10000
61 649 0x10000 /* DISP1_DAT_7 */ 65 MX53_PAD_EIM_DA1__IPU_DISP1_DAT_8 0x10000
62 654 0x10000 /* DISP1_DAT_6 */ 66 MX53_PAD_EIM_DA2__IPU_DISP1_DAT_7 0x10000
63 659 0x10000 /* DISP1_DAT_5 */ 67 MX53_PAD_EIM_DA3__IPU_DISP1_DAT_6 0x10000
64 664 0x10000 /* DISP1_DAT_4 */ 68 MX53_PAD_EIM_DA4__IPU_DISP1_DAT_5 0x10000
65 669 0x10000 /* DISP1_DAT_3 */ 69 MX53_PAD_EIM_DA5__IPU_DISP1_DAT_4 0x10000
66 674 0x10000 /* DISP1_DAT_2 */ 70 MX53_PAD_EIM_DA6__IPU_DISP1_DAT_3 0x10000
67 679 0x10000 /* DISP1_DAT_1 */ 71 MX53_PAD_EIM_DA7__IPU_DISP1_DAT_2 0x10000
68 684 0x10000>; /* DISP1_DAT_0 */ 72 MX53_PAD_EIM_DA8__IPU_DISP1_DAT_1 0x10000
73 MX53_PAD_EIM_DA9__IPU_DISP1_DAT_0 0x10000
74 >;
69 }; 75 };
70 }; 76 };
71}; 77};