summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Cai <R63905@freescale.com>2013-06-17 14:56:34 +0800
committerRobby Cai <R63905@freescale.com>2013-06-19 11:47:09 +0800
commite0100972d9637dda237221d453e287701080b4e1 (patch)
treecb1acb6508d2452e7b8270d287c4d44265c29ec7
parent7a4e5cb4469269e90957463ee32564a3c0752090 (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.dts22
-rw-r--r--arch/arm/boot/dts/imx6dl.dtsi3
-rw-r--r--arch/arm/mach-imx/mach-imx6q.c12
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 */ }
};