From: Zhiyong Tao <zhiyong.tao@mediatek.com>
To: Sean Wang <sean.wang@kernel.org>
Cc: "Rob Herring" <robh@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"Jason Cooper" <jason@lakedaemon.net>,
srv_heupstream <srv_heupstream@mediatek.com>,
"Marc Zyngier" <marc.zyngier@arm.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Erin Lo (羅雅齡)" <erin.lo@mediatek.com>,
"Stephen Boyd" <sboyd@codeaurora.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"Mars Cheng (鄭森友)" <Mars.Cheng@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"Yingjoe Chen (陳英洲)" <Yingjoe.Chen@mediatek.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Eddie Huang (黃智傑)" <eddie.huang@mediatek.com>,
"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v5 5/6] dt-bindings: pinctrl: mt8183: add binding document
Date: Mon, 7 Jan 2019 10:02:50 +0800 [thread overview]
Message-ID: <1546826570.3267.0.camel@mhfsdcap03> (raw)
In-Reply-To: <CAGp9LzpNTKxgPyPOFQefJ1B_459dFtGUseW2sKHTiESDVLj9jw@mail.gmail.com>
On Fri, 2019-01-04 at 01:55 -0800, Sean Wang wrote:
> On Fri, Jan 4, 2019 at 1:40 AM Zhiyong Tao <zhiyong.tao@mediatek.com> wrote:
> >
> > On Fri, 2019-01-04 at 01:14 -0800, Sean Wang wrote:
> > > On Thu, Jan 3, 2019 at 11:09 PM Zhiyong Tao <zhiyong.tao@mediatek.com> wrote:
> > > >
> > > > On Sat, 2018-12-29 at 06:04 +0800, Rob Herring wrote:
> > > > > On Fri, Dec 28, 2018 at 04:09:40PM +0800, Erin Lo wrote:
> > > > > > From: Zhiyong Tao <zhiyong.tao@mediatek.com>
> > > > > >
> > > > > > The commit adds mt8183 compatible node in binding document.
> > > > > >
> > > > > > Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com>
> > > > > > Signed-off-by: Erin Lo <erin.lo@mediatek.com>
> > > > > > ---
> > > > > > .../devicetree/bindings/pinctrl/pinctrl-mt8183.txt | 110 +++++++++++++++++++++
> > > > > > 1 file changed, 110 insertions(+)
> > > > > > create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > >
> > > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > > new file mode 100644
> > > > > > index 0000000..7b5285e
> > > > > > --- /dev/null
> > > > > > +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > > @@ -0,0 +1,110 @@
> > > > > > +* Mediatek MT8183 Pin Controller
> > > > > > +
> > > > > > +The Mediatek's Pin controller is used to control SoC pins.
> > > > > > +
> > > > > > +Required properties:
> > > > > > +- compatible: value should be one of the following.
> > > > > > + "mediatek,mt8183-pinctrl", compatible with mt8183 pinctrl.
> > > > > > +- gpio-controller : Marks the device node as a gpio controller.
> > > > > > +- #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO
> > > > > > + binding is used, the amount of cells must be specified as 2. See the below
> > > > > > + mentioned gpio binding representation for description of particular cells.
> > > > > > +- gpio-ranges : gpio valid number range.
> > > > > > +
> > > > > > + Eg: <&pio 6 0>
> > > > > > + <[phandle of the gpio controller node]
> > > > > > + [line number within the gpio controller]
> > > > > > + [flags]>
> > > > > > +
> > > > > > + Values for gpio specifier:
> > > > > > + - Line number: is a value between 0 to 202.
> > > > > > + - Flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
> > > > > > + Only the following flags are supported:
> > > > > > + 0 - GPIO_ACTIVE_HIGH
> > > > > > + 1 - GPIO_ACTIVE_LOW
> > > > > > +
> > > > > > +Optional properties:
> > > > > > +- reg: physicall address base for gpio base registers.
> > > > >
> > > > > s/physicall/physical/
> > > > >
> > > > > reg should never be optional.
> > > > >
> > > > > Need to say how many reg entries.
> > > >
> > > > ==> Thanks for your suggestion. We will change 'reg' to Required
> > > > properties and add the reg entries in next version.
> > > > >
> > > > > > +- reg-names: gpio base registers name.
> > > > >
> > > > > Need to say what are the names. However, I don't find the names in the
> > > > > example all that useful, so I'd just drop it.
> > > >
> > > > ==> we will add the reg-names in next version.
> > > > They are used in the sample code, such as:
> > > > > + reg-names = "iocfg0", "iocfg1", "iocfg2",
> > > > > > + "iocfg3", "iocfg4", "iocfg5",
> > > > > > + "iocfg6", "iocfg7", "iocfg8";
> > > >
> > > > >
> > > > > > +- interrupt-controller: Marks the device node as an interrupt controller
> > > > > > +- #interrupt-cells: Should be two.
> > > > > > +- interrupts : The interrupt outputs from the controller.
> > > > > > +
> > > > > > +Please refer to pinctrl-bindings.txt in this directory for details of the
> > > > > > +common pinctrl bindings used by client devices.
> > > > > > +
> > > > > > +Subnode format
> > > > > > +A pinctrl node should contain at least one subnodes representing the
> > > > > > +pinctrl groups available on the machine. Each subnode will list the
> > > > > > +pins it needs, and how they should be configured, with regard to muxer
> > > > > > +configuration, pullups, drive strength, input enable/disable and input schmitt.
> > > > > > +
> > > > > > + node {
> > > > > > + pinmux = <PIN_NUMBER_PINMUX>;
> > > > > > + GENERIC_PINCONFIG;
> > > > > > + };
> > > > > > +
> > > > > > +Required properties:
> > > > > > +- pinmux: integer array, represents gpio pin number and mux setting.
> > > > > > + Supported pin number and mux varies for different SoCs, and are defined
> > > > > > + as macros in boot/dts/<soc>-pinfunc.h directly.
> > > > > > +
> > > > > > +Optional properties:
> > > > > > +- GENERIC_PINCONFIG: is the generic pinconfig options to use, bias-disable,
> > > > > > + bias-pull-down, bias-pull-up, input-enable, input-disable, output-low, output-high,
> > > > > > + input-schmitt-enable, input-schmitt-disable and drive-strength are valid.
> > > > > > +
> > > > > > + Some special pins have extra pull up strength, there are R0 and R1 pull-up
> > > > > > + resistors available, but for user, it's only need to set R1R0 as 00, 01, 10 or 11.
> > > > > > + So when config mediatek,pull-up-adv or mediatek,pull-down-adv,
> > > > > > + it support arguments for those special pins.
> > > > > > +
> > > > > > + When config drive-strength, it can support some arguments, such as
> > > > > > + MTK_DRIVE_4mA, MTK_DRIVE_6mA, etc. See dt-bindings/pinctrl/mt65xx.h.
> > > > > > +
> > >
> > > One point we can fix more is the drive-strength already is supported
> > > as the generic one, not need to depend on a dedicated header file.
> >
> > ==> We think that we use MTK_DRIVE_4mA to set as driving in dts. it it
> > more clear in v2 common driver for single pin -> single group mode.
> > How about the idea?
> >
>
> Sure, thank for post your idea and it sounds not bad to keep the
> convention for the single pin -> single group mode binding.
Thanks for your confirm. We will keep it in next version.
>
> > Thanks.
> > >
> > > > > > +Examples:
> > > > > > +
> > > > > > +#include "mt8183-pinfunc.h"
> > > > > > +
> > > > > > +...
> > > > > > +{
> > > > > > + pio: pinctrl@10005000 {
> > > > > > + compatible = "mediatek,mt8183-pinctrl";
> > > > > > + reg = <0 0x10005000 0 0x1000>,
> > > > > > + <0 0x11F20000 0 0x1000>,
> > > > > > + <0 0x11E80000 0 0x1000>,
> > > > > > + <0 0x11E70000 0 0x1000>,
> > > > > > + <0 0x11E90000 0 0x1000>,
> > > > > > + <0 0x11D30000 0 0x1000>,
> > > > > > + <0 0x11D20000 0 0x1000>,
> > > > > > + <0 0x11C50000 0 0x1000>,
> > > > > > + <0 0x11F30000 0 0x1000>;
> > > > > > + reg-names = "iocfg0", "iocfg1", "iocfg2",
> > > > > > + "iocfg3", "iocfg4", "iocfg5",
> > > > > > + "iocfg6", "iocfg7", "iocfg8";
> > > > > > + gpio-controller;
> > > > > > + #gpio-cells = <2>;
> > > > > > + gpio-ranges = <&pio 0 0 192>;
> > > > > > + interrupt-controller;
> > > > > > + interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
> > > > > > + interrupt-parent = <&gic>;
> > > > > > + #interrupt-cells = <2>;
> > > > > > +
> > > > > > + i2c0_pins_a: i2c0@0 {
> > > > >
> > > > > unit-address without reg property is not valid.
> > > >
> > > > ==> we will change "i2c0_pins_a: i2c0@0" to "i2c0_pins_a: i2c0" in the
> > > > next version.
> > > > >
> > > > > > + pins1 {
> > > > > > + pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
> > > > > > + <PINMUX_GPIO49__FUNC_SDA5>;
> > > > > > + mediatek,pull-up-adv = <11>;
> > > > > > + };
> > > > > > + };
> > > > > > +
> > > > > > + i2c1_pins_a: i2c1@0 {
> > > > > > + pins {
> > > > > > + pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
> > > > > > + <PINMUX_GPIO51__FUNC_SDA3>;
> > > > > > + mediatek,pull-down-adv = <10>;
> > > > > > + };
> > > > > > + };
> > > > > > + ...
> > > > > > + };
> > > > > > +};
> > > > > > --
> > > > > > 1.9.1
> > > > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Linux-mediatek mailing list
> > > > Linux-mediatek@lists.infradead.org
> > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek
> >
> >
WARNING: multiple messages have this Message-ID (diff)
From: Zhiyong Tao <zhiyong.tao@mediatek.com>
To: Sean Wang <sean.wang@kernel.org>
Cc: "Rob Herring" <robh@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"Jason Cooper" <jason@lakedaemon.net>,
srv_heupstream <srv_heupstream@mediatek.com>,
"Marc Zyngier" <marc.zyngier@arm.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Erin Lo (羅雅齡)" <erin.lo@mediatek.com>,
"Stephen Boyd" <sboyd@codeaurora.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"Mars Cheng (鄭森友)" <Mars.Cheng@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>
Subject: Re: [PATCH v5 5/6] dt-bindings: pinctrl: mt8183: add binding document
Date: Mon, 7 Jan 2019 10:02:50 +0800 [thread overview]
Message-ID: <1546826570.3267.0.camel@mhfsdcap03> (raw)
In-Reply-To: <CAGp9LzpNTKxgPyPOFQefJ1B_459dFtGUseW2sKHTiESDVLj9jw@mail.gmail.com>
On Fri, 2019-01-04 at 01:55 -0800, Sean Wang wrote:
> On Fri, Jan 4, 2019 at 1:40 AM Zhiyong Tao <zhiyong.tao@mediatek.com> wrote:
> >
> > On Fri, 2019-01-04 at 01:14 -0800, Sean Wang wrote:
> > > On Thu, Jan 3, 2019 at 11:09 PM Zhiyong Tao <zhiyong.tao@mediatek.com> wrote:
> > > >
> > > > On Sat, 2018-12-29 at 06:04 +0800, Rob Herring wrote:
> > > > > On Fri, Dec 28, 2018 at 04:09:40PM +0800, Erin Lo wrote:
> > > > > > From: Zhiyong Tao <zhiyong.tao@mediatek.com>
> > > > > >
> > > > > > The commit adds mt8183 compatible node in binding document.
> > > > > >
> > > > > > Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com>
> > > > > > Signed-off-by: Erin Lo <erin.lo@mediatek.com>
> > > > > > ---
> > > > > > .../devicetree/bindings/pinctrl/pinctrl-mt8183.txt | 110 +++++++++++++++++++++
> > > > > > 1 file changed, 110 insertions(+)
> > > > > > create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > >
> > > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > > new file mode 100644
> > > > > > index 0000000..7b5285e
> > > > > > --- /dev/null
> > > > > > +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > > @@ -0,0 +1,110 @@
> > > > > > +* Mediatek MT8183 Pin Controller
> > > > > > +
> > > > > > +The Mediatek's Pin controller is used to control SoC pins.
> > > > > > +
> > > > > > +Required properties:
> > > > > > +- compatible: value should be one of the following.
> > > > > > + "mediatek,mt8183-pinctrl", compatible with mt8183 pinctrl.
> > > > > > +- gpio-controller : Marks the device node as a gpio controller.
> > > > > > +- #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO
> > > > > > + binding is used, the amount of cells must be specified as 2. See the below
> > > > > > + mentioned gpio binding representation for description of particular cells.
> > > > > > +- gpio-ranges : gpio valid number range.
> > > > > > +
> > > > > > + Eg: <&pio 6 0>
> > > > > > + <[phandle of the gpio controller node]
> > > > > > + [line number within the gpio controller]
> > > > > > + [flags]>
> > > > > > +
> > > > > > + Values for gpio specifier:
> > > > > > + - Line number: is a value between 0 to 202.
> > > > > > + - Flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
> > > > > > + Only the following flags are supported:
> > > > > > + 0 - GPIO_ACTIVE_HIGH
> > > > > > + 1 - GPIO_ACTIVE_LOW
> > > > > > +
> > > > > > +Optional properties:
> > > > > > +- reg: physicall address base for gpio base registers.
> > > > >
> > > > > s/physicall/physical/
> > > > >
> > > > > reg should never be optional.
> > > > >
> > > > > Need to say how many reg entries.
> > > >
> > > > ==> Thanks for your suggestion. We will change 'reg' to Required
> > > > properties and add the reg entries in next version.
> > > > >
> > > > > > +- reg-names: gpio base registers name.
> > > > >
> > > > > Need to say what are the names. However, I don't find the names in the
> > > > > example all that useful, so I'd just drop it.
> > > >
> > > > ==> we will add the reg-names in next version.
> > > > They are used in the sample code, such as:
> > > > > + reg-names = "iocfg0", "iocfg1", "iocfg2",
> > > > > > + "iocfg3", "iocfg4", "iocfg5",
> > > > > > + "iocfg6", "iocfg7", "iocfg8";
> > > >
> > > > >
> > > > > > +- interrupt-controller: Marks the device node as an interrupt controller
> > > > > > +- #interrupt-cells: Should be two.
> > > > > > +- interrupts : The interrupt outputs from the controller.
> > > > > > +
> > > > > > +Please refer to pinctrl-bindings.txt in this directory for details of the
> > > > > > +common pinctrl bindings used by client devices.
> > > > > > +
> > > > > > +Subnode format
> > > > > > +A pinctrl node should contain at least one subnodes representing the
> > > > > > +pinctrl groups available on the machine. Each subnode will list the
> > > > > > +pins it needs, and how they should be configured, with regard to muxer
> > > > > > +configuration, pullups, drive strength, input enable/disable and input schmitt.
> > > > > > +
> > > > > > + node {
> > > > > > + pinmux = <PIN_NUMBER_PINMUX>;
> > > > > > + GENERIC_PINCONFIG;
> > > > > > + };
> > > > > > +
> > > > > > +Required properties:
> > > > > > +- pinmux: integer array, represents gpio pin number and mux setting.
> > > > > > + Supported pin number and mux varies for different SoCs, and are defined
> > > > > > + as macros in boot/dts/<soc>-pinfunc.h directly.
> > > > > > +
> > > > > > +Optional properties:
> > > > > > +- GENERIC_PINCONFIG: is the generic pinconfig options to use, bias-disable,
> > > > > > + bias-pull-down, bias-pull-up, input-enable, input-disable, output-low, output-high,
> > > > > > + input-schmitt-enable, input-schmitt-disable and drive-strength are valid.
> > > > > > +
> > > > > > + Some special pins have extra pull up strength, there are R0 and R1 pull-up
> > > > > > + resistors available, but for user, it's only need to set R1R0 as 00, 01, 10 or 11.
> > > > > > + So when config mediatek,pull-up-adv or mediatek,pull-down-adv,
> > > > > > + it support arguments for those special pins.
> > > > > > +
> > > > > > + When config drive-strength, it can support some arguments, such as
> > > > > > + MTK_DRIVE_4mA, MTK_DRIVE_6mA, etc. See dt-bindings/pinctrl/mt65xx.h.
> > > > > > +
> > >
> > > One point we can fix more is the drive-strength already is supported
> > > as the generic one, not need to depend on a dedicated header file.
> >
> > ==> We think that we use MTK_DRIVE_4mA to set as driving in dts. it it
> > more clear in v2 common driver for single pin -> single group mode.
> > How about the idea?
> >
>
> Sure, thank for post your idea and it sounds not bad to keep the
> convention for the single pin -> single group mode binding.
Thanks for your confirm. We will keep it in next version.
>
> > Thanks.
> > >
> > > > > > +Examples:
> > > > > > +
> > > > > > +#include "mt8183-pinfunc.h"
> > > > > > +
> > > > > > +...
> > > > > > +{
> > > > > > + pio: pinctrl@10005000 {
> > > > > > + compatible = "mediatek,mt8183-pinctrl";
> > > > > > + reg = <0 0x10005000 0 0x1000>,
> > > > > > + <0 0x11F20000 0 0x1000>,
> > > > > > + <0 0x11E80000 0 0x1000>,
> > > > > > + <0 0x11E70000 0 0x1000>,
> > > > > > + <0 0x11E90000 0 0x1000>,
> > > > > > + <0 0x11D30000 0 0x1000>,
> > > > > > + <0 0x11D20000 0 0x1000>,
> > > > > > + <0 0x11C50000 0 0x1000>,
> > > > > > + <0 0x11F30000 0 0x1000>;
> > > > > > + reg-names = "iocfg0", "iocfg1", "iocfg2",
> > > > > > + "iocfg3", "iocfg4", "iocfg5",
> > > > > > + "iocfg6", "iocfg7", "iocfg8";
> > > > > > + gpio-controller;
> > > > > > + #gpio-cells = <2>;
> > > > > > + gpio-ranges = <&pio 0 0 192>;
> > > > > > + interrupt-controller;
> > > > > > + interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
> > > > > > + interrupt-parent = <&gic>;
> > > > > > + #interrupt-cells = <2>;
> > > > > > +
> > > > > > + i2c0_pins_a: i2c0@0 {
> > > > >
> > > > > unit-address without reg property is not valid.
> > > >
> > > > ==> we will change "i2c0_pins_a: i2c0@0" to "i2c0_pins_a: i2c0" in the
> > > > next version.
> > > > >
> > > > > > + pins1 {
> > > > > > + pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
> > > > > > + <PINMUX_GPIO49__FUNC_SDA5>;
> > > > > > + mediatek,pull-up-adv = <11>;
> > > > > > + };
> > > > > > + };
> > > > > > +
> > > > > > + i2c1_pins_a: i2c1@0 {
> > > > > > + pins {
> > > > > > + pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
> > > > > > + <PINMUX_GPIO51__FUNC_SDA3>;
> > > > > > + mediatek,pull-down-adv = <10>;
> > > > > > + };
> > > > > > + };
> > > > > > + ...
> > > > > > + };
> > > > > > +};
> > > > > > --
> > > > > > 1.9.1
> > > > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Linux-mediatek mailing list
> > > > Linux-mediatek@lists.infradead.org
> > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek
> >
> >
WARNING: multiple messages have this Message-ID (diff)
From: Zhiyong Tao <zhiyong.tao@mediatek.com>
To: Sean Wang <sean.wang@kernel.org>
Cc: "Mark Rutland" <mark.rutland@arm.com>,
"Rob Herring" <robh@kernel.org>,
"Jason Cooper" <jason@lakedaemon.net>,
srv_heupstream <srv_heupstream@mediatek.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"Marc Zyngier" <marc.zyngier@arm.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Erin Lo (羅雅齡)" <erin.lo@mediatek.com>,
"Stephen Boyd" <sboyd@codeaurora.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"Yingjoe Chen (陳英洲)" <Yingjoe.Chen@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"Mars Cheng (鄭森友)" <Mars.Cheng@mediatek.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Eddie Huang (黃智傑)" <eddie.huang@mediatek.com>,
"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v5 5/6] dt-bindings: pinctrl: mt8183: add binding document
Date: Mon, 7 Jan 2019 10:02:50 +0800 [thread overview]
Message-ID: <1546826570.3267.0.camel@mhfsdcap03> (raw)
In-Reply-To: <CAGp9LzpNTKxgPyPOFQefJ1B_459dFtGUseW2sKHTiESDVLj9jw@mail.gmail.com>
On Fri, 2019-01-04 at 01:55 -0800, Sean Wang wrote:
> On Fri, Jan 4, 2019 at 1:40 AM Zhiyong Tao <zhiyong.tao@mediatek.com> wrote:
> >
> > On Fri, 2019-01-04 at 01:14 -0800, Sean Wang wrote:
> > > On Thu, Jan 3, 2019 at 11:09 PM Zhiyong Tao <zhiyong.tao@mediatek.com> wrote:
> > > >
> > > > On Sat, 2018-12-29 at 06:04 +0800, Rob Herring wrote:
> > > > > On Fri, Dec 28, 2018 at 04:09:40PM +0800, Erin Lo wrote:
> > > > > > From: Zhiyong Tao <zhiyong.tao@mediatek.com>
> > > > > >
> > > > > > The commit adds mt8183 compatible node in binding document.
> > > > > >
> > > > > > Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com>
> > > > > > Signed-off-by: Erin Lo <erin.lo@mediatek.com>
> > > > > > ---
> > > > > > .../devicetree/bindings/pinctrl/pinctrl-mt8183.txt | 110 +++++++++++++++++++++
> > > > > > 1 file changed, 110 insertions(+)
> > > > > > create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > >
> > > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > > new file mode 100644
> > > > > > index 0000000..7b5285e
> > > > > > --- /dev/null
> > > > > > +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8183.txt
> > > > > > @@ -0,0 +1,110 @@
> > > > > > +* Mediatek MT8183 Pin Controller
> > > > > > +
> > > > > > +The Mediatek's Pin controller is used to control SoC pins.
> > > > > > +
> > > > > > +Required properties:
> > > > > > +- compatible: value should be one of the following.
> > > > > > + "mediatek,mt8183-pinctrl", compatible with mt8183 pinctrl.
> > > > > > +- gpio-controller : Marks the device node as a gpio controller.
> > > > > > +- #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO
> > > > > > + binding is used, the amount of cells must be specified as 2. See the below
> > > > > > + mentioned gpio binding representation for description of particular cells.
> > > > > > +- gpio-ranges : gpio valid number range.
> > > > > > +
> > > > > > + Eg: <&pio 6 0>
> > > > > > + <[phandle of the gpio controller node]
> > > > > > + [line number within the gpio controller]
> > > > > > + [flags]>
> > > > > > +
> > > > > > + Values for gpio specifier:
> > > > > > + - Line number: is a value between 0 to 202.
> > > > > > + - Flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
> > > > > > + Only the following flags are supported:
> > > > > > + 0 - GPIO_ACTIVE_HIGH
> > > > > > + 1 - GPIO_ACTIVE_LOW
> > > > > > +
> > > > > > +Optional properties:
> > > > > > +- reg: physicall address base for gpio base registers.
> > > > >
> > > > > s/physicall/physical/
> > > > >
> > > > > reg should never be optional.
> > > > >
> > > > > Need to say how many reg entries.
> > > >
> > > > ==> Thanks for your suggestion. We will change 'reg' to Required
> > > > properties and add the reg entries in next version.
> > > > >
> > > > > > +- reg-names: gpio base registers name.
> > > > >
> > > > > Need to say what are the names. However, I don't find the names in the
> > > > > example all that useful, so I'd just drop it.
> > > >
> > > > ==> we will add the reg-names in next version.
> > > > They are used in the sample code, such as:
> > > > > + reg-names = "iocfg0", "iocfg1", "iocfg2",
> > > > > > + "iocfg3", "iocfg4", "iocfg5",
> > > > > > + "iocfg6", "iocfg7", "iocfg8";
> > > >
> > > > >
> > > > > > +- interrupt-controller: Marks the device node as an interrupt controller
> > > > > > +- #interrupt-cells: Should be two.
> > > > > > +- interrupts : The interrupt outputs from the controller.
> > > > > > +
> > > > > > +Please refer to pinctrl-bindings.txt in this directory for details of the
> > > > > > +common pinctrl bindings used by client devices.
> > > > > > +
> > > > > > +Subnode format
> > > > > > +A pinctrl node should contain at least one subnodes representing the
> > > > > > +pinctrl groups available on the machine. Each subnode will list the
> > > > > > +pins it needs, and how they should be configured, with regard to muxer
> > > > > > +configuration, pullups, drive strength, input enable/disable and input schmitt.
> > > > > > +
> > > > > > + node {
> > > > > > + pinmux = <PIN_NUMBER_PINMUX>;
> > > > > > + GENERIC_PINCONFIG;
> > > > > > + };
> > > > > > +
> > > > > > +Required properties:
> > > > > > +- pinmux: integer array, represents gpio pin number and mux setting.
> > > > > > + Supported pin number and mux varies for different SoCs, and are defined
> > > > > > + as macros in boot/dts/<soc>-pinfunc.h directly.
> > > > > > +
> > > > > > +Optional properties:
> > > > > > +- GENERIC_PINCONFIG: is the generic pinconfig options to use, bias-disable,
> > > > > > + bias-pull-down, bias-pull-up, input-enable, input-disable, output-low, output-high,
> > > > > > + input-schmitt-enable, input-schmitt-disable and drive-strength are valid.
> > > > > > +
> > > > > > + Some special pins have extra pull up strength, there are R0 and R1 pull-up
> > > > > > + resistors available, but for user, it's only need to set R1R0 as 00, 01, 10 or 11.
> > > > > > + So when config mediatek,pull-up-adv or mediatek,pull-down-adv,
> > > > > > + it support arguments for those special pins.
> > > > > > +
> > > > > > + When config drive-strength, it can support some arguments, such as
> > > > > > + MTK_DRIVE_4mA, MTK_DRIVE_6mA, etc. See dt-bindings/pinctrl/mt65xx.h.
> > > > > > +
> > >
> > > One point we can fix more is the drive-strength already is supported
> > > as the generic one, not need to depend on a dedicated header file.
> >
> > ==> We think that we use MTK_DRIVE_4mA to set as driving in dts. it it
> > more clear in v2 common driver for single pin -> single group mode.
> > How about the idea?
> >
>
> Sure, thank for post your idea and it sounds not bad to keep the
> convention for the single pin -> single group mode binding.
Thanks for your confirm. We will keep it in next version.
>
> > Thanks.
> > >
> > > > > > +Examples:
> > > > > > +
> > > > > > +#include "mt8183-pinfunc.h"
> > > > > > +
> > > > > > +...
> > > > > > +{
> > > > > > + pio: pinctrl@10005000 {
> > > > > > + compatible = "mediatek,mt8183-pinctrl";
> > > > > > + reg = <0 0x10005000 0 0x1000>,
> > > > > > + <0 0x11F20000 0 0x1000>,
> > > > > > + <0 0x11E80000 0 0x1000>,
> > > > > > + <0 0x11E70000 0 0x1000>,
> > > > > > + <0 0x11E90000 0 0x1000>,
> > > > > > + <0 0x11D30000 0 0x1000>,
> > > > > > + <0 0x11D20000 0 0x1000>,
> > > > > > + <0 0x11C50000 0 0x1000>,
> > > > > > + <0 0x11F30000 0 0x1000>;
> > > > > > + reg-names = "iocfg0", "iocfg1", "iocfg2",
> > > > > > + "iocfg3", "iocfg4", "iocfg5",
> > > > > > + "iocfg6", "iocfg7", "iocfg8";
> > > > > > + gpio-controller;
> > > > > > + #gpio-cells = <2>;
> > > > > > + gpio-ranges = <&pio 0 0 192>;
> > > > > > + interrupt-controller;
> > > > > > + interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
> > > > > > + interrupt-parent = <&gic>;
> > > > > > + #interrupt-cells = <2>;
> > > > > > +
> > > > > > + i2c0_pins_a: i2c0@0 {
> > > > >
> > > > > unit-address without reg property is not valid.
> > > >
> > > > ==> we will change "i2c0_pins_a: i2c0@0" to "i2c0_pins_a: i2c0" in the
> > > > next version.
> > > > >
> > > > > > + pins1 {
> > > > > > + pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
> > > > > > + <PINMUX_GPIO49__FUNC_SDA5>;
> > > > > > + mediatek,pull-up-adv = <11>;
> > > > > > + };
> > > > > > + };
> > > > > > +
> > > > > > + i2c1_pins_a: i2c1@0 {
> > > > > > + pins {
> > > > > > + pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
> > > > > > + <PINMUX_GPIO51__FUNC_SDA3>;
> > > > > > + mediatek,pull-down-adv = <10>;
> > > > > > + };
> > > > > > + };
> > > > > > + ...
> > > > > > + };
> > > > > > +};
> > > > > > --
> > > > > > 1.9.1
> > > > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Linux-mediatek mailing list
> > > > Linux-mediatek@lists.infradead.org
> > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek
> >
> >
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-01-07 2:03 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-28 8:09 [PATCH v5 0/6] Add basic and clock support for Mediatek MT8183 SoC Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` [PATCH v5 1/6] irqchip/mtk-sysirq: support 4 interrupt parameters for sysirq Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` [PATCH v5 2/6] dt-bindings: arm: Add bindings for Mediatek MT8183 SoC Platform Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` [PATCH v5 3/6] dt-bindings: mtk-sysirq: Add compatible for Mediatek MT8183 Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` [PATCH v5 4/6] dt-bindings: serial: " Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` [PATCH v5 5/6] dt-bindings: pinctrl: mt8183: add binding document Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 22:04 ` Rob Herring
2018-12-28 22:04 ` Rob Herring
2019-01-04 7:08 ` Zhiyong Tao
2019-01-04 7:08 ` Zhiyong Tao
2019-01-04 7:08 ` Zhiyong Tao
2019-01-04 9:14 ` Sean Wang
2019-01-04 9:14 ` Sean Wang
2019-01-04 9:14 ` Sean Wang
2019-01-04 9:40 ` Zhiyong Tao
2019-01-04 9:40 ` Zhiyong Tao
2019-01-04 9:40 ` Zhiyong Tao
2019-01-04 9:55 ` Sean Wang
2019-01-04 9:55 ` Sean Wang
2019-01-04 9:55 ` Sean Wang
2019-01-07 2:02 ` Zhiyong Tao [this message]
2019-01-07 2:02 ` Zhiyong Tao
2019-01-07 2:02 ` Zhiyong Tao
2018-12-28 8:09 ` [PATCH v5 6/6] arm64: dts: Add Mediatek SoC MT8183 and evaluation board dts and Makefile Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 8:09 ` Erin Lo
2018-12-28 13:51 ` kbuild test robot
2018-12-28 13:51 ` kbuild test robot
2018-12-28 13:51 ` kbuild test robot
2018-12-28 22:11 ` Rob Herring
2018-12-28 22:11 ` Rob Herring
2018-12-28 22:11 ` Rob Herring
2019-01-03 2:40 ` Erin Lo
2019-01-03 2:40 ` Erin Lo
2019-01-03 2:40 ` Erin Lo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1546826570.3267.0.camel@mhfsdcap03 \
--to=zhiyong.tao@mediatek.com \
--cc=Mars.Cheng@mediatek.com \
--cc=Yingjoe.Chen@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=eddie.huang@mediatek.com \
--cc=erin.lo@mediatek.com \
--cc=gregkh@linuxfoundation.org \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=matthias.bgg@gmail.com \
--cc=robh@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=sean.wang@kernel.org \
--cc=srv_heupstream@mediatek.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.