Thread (1 message) 1 message, 1 author, 2014-02-16

[PATCH v3] bus: imx-weim: support CS GPR config for imx6q-weim

From: Shawn Guo <hidden>
Date: 2014-02-16 13:10:36
Also in: linux-devicetree

On Sun, Feb 16, 2014 at 03:08:01PM +0400, Alexander Shiyan wrote:
???????????, 16 ??????? 2014, 18:56 +08:00 ?? Shawn Guo [off-list ref]:
quoted
On Sun, Feb 16, 2014 at 04:38:44PM +0800, Shawn Guo wrote:
quoted
@@ -56,6 +59,55 @@ static const struct of_device_id weim_id_table[] = {
 };
 MODULE_DEVICE_TABLE(of, weim_id_table);
 
+static int __init imx6q_weim_gpr_setup(struct platform_device *pdev)
+{
+	struct device_node *np = pdev->dev.of_node;
+	struct property *prop;
+	const __be32 *p;
+	struct regmap *gpr;
+	u32 gprvals[4] = {
+		05,	/* CS0(128M) CS1(0M)  CS2(0M)  CS3(0M) */
+		033,	/* CS0(64M)  CS1(64M) CS2(0M)  CS3(0M) */
+		0113,	/* CS0(64M)  CS1(32M) CS2(32M) CS3(0M) */
+		01111,	/* CS0(64M)  CS1(32M) CS2(32M) CS3(0M) */
+	};
+	u32 gprval = 0;
+	u32 val;
+	int cs = 0;
+	int i = 0;
+
+	gpr = syscon_regmap_lookup_by_compatible("fsl,imx6q-iomuxc-gpr");
When trying to improve the bindings doc imx-weim.txt, I checked hardware
manuals and found that SoCs imx50, imx53, imx6q, imx6dl and imx6sl all
need the same CS GPR setup.  It's inappropriate to look up by hard-coded
compatible "fsl,imx6q-iomuxc-gpr" then.  So I'm going to add the
property fsl,weim-cs-gpr back, and update bindings doc accordingly.
You can add additional call into struct imx_weim_devtype for handle
soc-specific stuff.
Yes, imx_weim_devtype is the place to code soc-specific stuff.  But for
this particular case, an additional DT property is more flexible.

Shawn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help