Re: [PATCH v2 3/4] dt-bindings: Add pinctrl bindings for mt65xx/mt81xx.
From: Linus Walleij <hidden>
Date: 2014-10-02 14:00:35
Also in:
linux-arm-kernel, lkml
On Tue, Sep 23, 2014 at 5:39 AM, Hongzhou.Yang [off-list ref] wrote:
From: Hongzhou Yang <hongzhou.yang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> Add devicetree bindings for Mediatek SoC pinctrl driver. Signed-off-by: Hongzhou Yang <hongzhou.yang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
I have worked on generic pin control bindings a bit because it is getting out of hand with all these custom bindings. See: http://marc.info/?l=devicetree&m=141223584006648&w=2 Especially.
+- mediatek,pinfunc: List of gpio number and function to mux.
A "GPIO number" and a "pin number" is not the same thing at all, this is very confusing. Those are two separate number spaces. This is likely about the pin numbers.
+The mediatek,pinfunc can use defines directly,
+which are already defind in boot/dts/mt8135-pinfunc.h.
+
+Optional subnode-properties:
+- generic pin configuration option to use, bias-disable, bias-pull-down,
+ bias-pull,up, output-low and output-high are valid.
+ Example :
+ i2c0_pins_a {
+ mediatek,pinfunc = <MT8135_PIN_195_SDA1__FUNC_SDA1>;
+ bias-disable;
+ };
I don't like this approach at all.
I prefer that pins are put into groups named by strings, like "i2c0-pos0"
inside the driver and then connected to function with a certain
device-related name, such as "i2c0".
Then put the pin configuration (bias etc) in a separate node in the same
state definition like that:
i2c0_pins_a {
function = "i2c0";
groups = "i2c0-pos0";
};
i2c0_pins_b {
bias-disable;
};
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html