diff options
author | Robby Cai <R63905@freescale.com> | 2013-06-17 14:56:34 +0800 |
---|---|---|
committer | Robby Cai <R63905@freescale.com> | 2013-06-19 11:47:09 +0800 |
commit | e0100972d9637dda237221d453e287701080b4e1 (patch) | |
tree | cb1acb6508d2452e7b8270d287c4d44265c29ec7 | |
parent | 7a4e5cb4469269e90957463ee32564a3c0752090 (diff) |
ENGR00267228-2 dts: imx6dl-sabresd: refine the dts for epdc
- Move common part to imx6dl.dtsi, and board-specific part
to imx6dl-sabresd.dts
- add early parameter for epdc to control enable/disable status
- fix the epdc address in of_dev_auxdata.
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit a2f1ac612dbd59df9f5522fa4cec7c41cd9d74c7)
-rw-r--r-- | arch/arm/boot/dts/imx6dl-sabresd.dts | 22 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6dl.dtsi | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx6q.c | 12 |
3 files changed, 22 insertions, 15 deletions
diff --git a/arch/arm/boot/dts/imx6dl-sabresd.dts b/arch/arm/boot/dts/imx6dl-sabresd.dts index 27a8fccdfac7..a0bcbb9ffe7d 100644 --- a/arch/arm/boot/dts/imx6dl-sabresd.dts +++ b/arch/arm/boot/dts/imx6dl-sabresd.dts @@ -71,6 +71,14 @@ pxp@020f0000 { status = "okay"; }; + epdc@020f4000 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_epdc_0>; + V3P3_supply = <&V3P3_reg>; + VCOM_supply = <&VCOM_reg>; + DISPLAY_supply = <&DISPLAY_reg>; + status = "okay"; + }; }; ahci@02200000 { /* AHCI SATA */ @@ -90,18 +98,4 @@ status = "okay"; }; - mxc_epdcfb@0x020f8000 { - compatible = "fsl,imx6-epdc"; - reg = <0x020f8000 4000>; - panel-enable-gpios = <&gpio3 30 0>; - interrupts = <0 97 0x04>; - clocks = <&clks 133>, <&clks 137>; /* ipu2, ipu2_di1 */ - clock-names = "epdc-axi", "epdc-pix"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_epdc_0>; - V3P3_supply = <&V3P3_reg>; - VCOM_supply = <&VCOM_reg>; - DISPLAY_supply = <&DISPLAY_reg>; - status = "okay"; - }; }; diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi index a966d8c1d5c1..e7e9815ab985 100644 --- a/arch/arm/boot/dts/imx6dl.dtsi +++ b/arch/arm/boot/dts/imx6dl.dtsi @@ -713,8 +713,11 @@ }; epdc@020f4000 { + compatible = "fsl,imx6-epdc"; reg = <0x020f4000 0x4000>; interrupts = <0 97 0x04>; + clocks = <&clks 133>, <&clks 137>; + clock-names = "epdc_axi", "epdc_pix"; }; lcdif@020f8000 { diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index ed0854fec073..b24e31c4e34b 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c @@ -85,6 +85,7 @@ static int hdcp_init; static int weim_nor; static int spinor_en; static int can0_enable; +static int epdc_enable; static void __iomem *wdog_base1; static void __iomem *wdog_base2; @@ -137,6 +138,12 @@ static int __init early_enable_can0(char *p) } early_param("can0", early_enable_can0); +static int __init early_enable_epdc(char *p) +{ + epdc_enable = 1; + return 0; +} +early_param("epdc", early_enable_epdc); /* * The length's determined by PINFUNC definition's length. @@ -816,6 +823,9 @@ static void __init imx6q_sabresd_init(void) { imx6q_ar803x_phy_fixup(); imx6q_sabresd_cko_setup(); + + if (!epdc_enable) + of_node_status_disable_by_path("/soc/aips-bus@02000000/epdc@020f4000"); } static void __init imx6q_sabreauto_init(void) @@ -1162,7 +1172,7 @@ static const struct of_dev_auxdata imx6q_auxdata_lookup[] __initconst = { OF_DEV_AUXDATA("fsl,imx6q-flexcan", 0x02090000, NULL, &flexcan_pdata[0]), OF_DEV_AUXDATA("fsl,imx6q-flexcan", 0x02094000, NULL, &flexcan_pdata[1]), OF_DEV_AUXDATA("fsl,imx6q-i2c", 0x021a8000, NULL, &i2c3_pdata), - OF_DEV_AUXDATA("fsl,imx6-epdc", 0x020f8000, NULL, &epdc_data), + OF_DEV_AUXDATA("fsl,imx6-epdc", 0x020f4000, NULL, &epdc_data), { /* sentinel */ } }; |