* [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-02 4:46 ` Yendapally Reddy Dhananjaya Reddy
0 siblings, 0 replies; 11+ messages in thread
From: Yendapally Reddy Dhananjaya Reddy @ 2015-12-02 4:46 UTC (permalink / raw)
To: linux-arm-kernel
Device tree binding documentation for Broadcom NSP GPIO-a driver
Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
---
.../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
new file mode 100644
index 0000000..bea4211
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
@@ -0,0 +1,80 @@
+Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
+
+Required properties:
+- compatible:
+ Must be "brcm,nsp-gpio-a"
+
+- reg:
+ Should contain the register physical address and length for each of
+ GPIO base, IO control registers
+
+- #gpio-cells:
+ Must be two. The first cell is the GPIO pin number (within the
+ controller's pin space) and the second cell is used for the following:
+ bit[0]: polarity (0 for active high and 1 for active low)
+
+- gpio-controller:
+ Specifies that the node is a GPIO controller
+
+- ngpios:
+ Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
+
+Optional properties:
+- interrupts:
+ Interrupt ID
+
+- interrupt-controller:
+ Specifies that the node is an interrupt controller
+
+- gpio-ranges:
+ Specifies the mapping between gpio controller and pin-controllers pins.
+ This requires 4 fields in cells defined as -
+ 1. Phandle of pin-controller.
+ 2. GPIO base pin offset.
+ 3 Pin-control base pin offset.
+ 4. number of gpio pins which are linearly mapped from pin base.
+
+Supported generic PINCONF properties in child nodes:
+- pins:
+ The list of pins (within the controller's own pin space) that properties
+ in the node apply to. Pin names are "gpio-<pin>"
+
+- bias-disable:
+ Disable pin bias
+
+- bias-pull-up:
+ Enable internal pull up resistor
+
+- bias-pull-down:
+ Enable internal pull down resistor
+
+- drive-strength:
+ Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
+
+Example:
+
+ gpioa: gpio-a at 18000020 {
+ compatible = "brcm,nsp-gpio-a";
+ reg = <0x18000020 0x100>,
+ <0x1803f1c4 0x1c>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ ngpios = <32>;
+ gpio-ranges = <&pinctrl 0 0 31>;
+ interrupt-controller;
+ interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+
+ /* Hog a few default settings */
+ pinctrl-names = "default";
+ pinctrl-0 = <&led>;
+ led: led {
+ pins = "gpio-1";
+ bias-pull-up;
+ };
+
+ pwr: pwr {
+ gpio-hog;
+ gpios = <3 1>;
+ output-high;
+ };
+ };
--
2.1.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-02 4:46 ` Yendapally Reddy Dhananjaya Reddy
0 siblings, 0 replies; 11+ messages in thread
From: Yendapally Reddy Dhananjaya Reddy @ 2015-12-02 4:46 UTC (permalink / raw)
To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Ray Jui, Scott Branden, Jon Mason, Linus Walleij
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Yendapally Reddy Dhananjaya Reddy
Device tree binding documentation for Broadcom NSP GPIO-a driver
Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
---
.../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
new file mode 100644
index 0000000..bea4211
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
@@ -0,0 +1,80 @@
+Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
+
+Required properties:
+- compatible:
+ Must be "brcm,nsp-gpio-a"
+
+- reg:
+ Should contain the register physical address and length for each of
+ GPIO base, IO control registers
+
+- #gpio-cells:
+ Must be two. The first cell is the GPIO pin number (within the
+ controller's pin space) and the second cell is used for the following:
+ bit[0]: polarity (0 for active high and 1 for active low)
+
+- gpio-controller:
+ Specifies that the node is a GPIO controller
+
+- ngpios:
+ Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
+
+Optional properties:
+- interrupts:
+ Interrupt ID
+
+- interrupt-controller:
+ Specifies that the node is an interrupt controller
+
+- gpio-ranges:
+ Specifies the mapping between gpio controller and pin-controllers pins.
+ This requires 4 fields in cells defined as -
+ 1. Phandle of pin-controller.
+ 2. GPIO base pin offset.
+ 3 Pin-control base pin offset.
+ 4. number of gpio pins which are linearly mapped from pin base.
+
+Supported generic PINCONF properties in child nodes:
+- pins:
+ The list of pins (within the controller's own pin space) that properties
+ in the node apply to. Pin names are "gpio-<pin>"
+
+- bias-disable:
+ Disable pin bias
+
+- bias-pull-up:
+ Enable internal pull up resistor
+
+- bias-pull-down:
+ Enable internal pull down resistor
+
+- drive-strength:
+ Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
+
+Example:
+
+ gpioa: gpio-a@18000020 {
+ compatible = "brcm,nsp-gpio-a";
+ reg = <0x18000020 0x100>,
+ <0x1803f1c4 0x1c>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ ngpios = <32>;
+ gpio-ranges = <&pinctrl 0 0 31>;
+ interrupt-controller;
+ interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+
+ /* Hog a few default settings */
+ pinctrl-names = "default";
+ pinctrl-0 = <&led>;
+ led: led {
+ pins = "gpio-1";
+ bias-pull-up;
+ };
+
+ pwr: pwr {
+ gpio-hog;
+ gpios = <3 1>;
+ output-high;
+ };
+ };
--
2.1.0
--
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
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-02 4:46 ` Yendapally Reddy Dhananjaya Reddy
0 siblings, 0 replies; 11+ messages in thread
From: Yendapally Reddy Dhananjaya Reddy @ 2015-12-02 4:46 UTC (permalink / raw)
To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Ray Jui, Scott Branden, Jon Mason, Linus Walleij
Cc: devicetree, linux-arm-kernel, bcm-kernel-feedback-list,
linux-kernel, Yendapally Reddy Dhananjaya Reddy
Device tree binding documentation for Broadcom NSP GPIO-a driver
Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
---
.../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
new file mode 100644
index 0000000..bea4211
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
@@ -0,0 +1,80 @@
+Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
+
+Required properties:
+- compatible:
+ Must be "brcm,nsp-gpio-a"
+
+- reg:
+ Should contain the register physical address and length for each of
+ GPIO base, IO control registers
+
+- #gpio-cells:
+ Must be two. The first cell is the GPIO pin number (within the
+ controller's pin space) and the second cell is used for the following:
+ bit[0]: polarity (0 for active high and 1 for active low)
+
+- gpio-controller:
+ Specifies that the node is a GPIO controller
+
+- ngpios:
+ Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
+
+Optional properties:
+- interrupts:
+ Interrupt ID
+
+- interrupt-controller:
+ Specifies that the node is an interrupt controller
+
+- gpio-ranges:
+ Specifies the mapping between gpio controller and pin-controllers pins.
+ This requires 4 fields in cells defined as -
+ 1. Phandle of pin-controller.
+ 2. GPIO base pin offset.
+ 3 Pin-control base pin offset.
+ 4. number of gpio pins which are linearly mapped from pin base.
+
+Supported generic PINCONF properties in child nodes:
+- pins:
+ The list of pins (within the controller's own pin space) that properties
+ in the node apply to. Pin names are "gpio-<pin>"
+
+- bias-disable:
+ Disable pin bias
+
+- bias-pull-up:
+ Enable internal pull up resistor
+
+- bias-pull-down:
+ Enable internal pull down resistor
+
+- drive-strength:
+ Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
+
+Example:
+
+ gpioa: gpio-a@18000020 {
+ compatible = "brcm,nsp-gpio-a";
+ reg = <0x18000020 0x100>,
+ <0x1803f1c4 0x1c>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ ngpios = <32>;
+ gpio-ranges = <&pinctrl 0 0 31>;
+ interrupt-controller;
+ interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+
+ /* Hog a few default settings */
+ pinctrl-names = "default";
+ pinctrl-0 = <&led>;
+ led: led {
+ pins = "gpio-1";
+ bias-pull-up;
+ };
+
+ pwr: pwr {
+ gpio-hog;
+ gpios = <3 1>;
+ output-high;
+ };
+ };
--
2.1.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
2015-12-02 4:46 ` Yendapally Reddy Dhananjaya Reddy
@ 2015-12-02 15:07 ` Rob Herring
-1 siblings, 0 replies; 11+ messages in thread
From: Rob Herring @ 2015-12-02 15:07 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
> Device tree binding documentation for Broadcom NSP GPIO-a driver
Bindings are for h/w, not drivers...
>
> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
> ---
> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
> 1 file changed, 80 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
> new file mode 100644
> index 0000000..bea4211
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
> @@ -0,0 +1,80 @@
> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
> +
> +Required properties:
> +- compatible:
> + Must be "brcm,nsp-gpio-a"
> +
> +- reg:
> + Should contain the register physical address and length for each of
> + GPIO base, IO control registers
> +
> +- #gpio-cells:
> + Must be two. The first cell is the GPIO pin number (within the
> + controller's pin space) and the second cell is used for the following:
> + bit[0]: polarity (0 for active high and 1 for active low)
> +
> +- gpio-controller:
> + Specifies that the node is a GPIO controller
> +
> +- ngpios:
> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
2 chips? You should have 2 compatible strings. I think this is incorrect
use of ngpios which AIUI is not for how many lines there are, but how
many can be used (e.g. not reserved).
> +
> +Optional properties:
> +- interrupts:
> + Interrupt ID
> +
> +- interrupt-controller:
> + Specifies that the node is an interrupt controller
> +
> +- gpio-ranges:
> + Specifies the mapping between gpio controller and pin-controllers pins.
> + This requires 4 fields in cells defined as -
> + 1. Phandle of pin-controller.
> + 2. GPIO base pin offset.
> + 3 Pin-control base pin offset.
> + 4. number of gpio pins which are linearly mapped from pin base.
> +
> +Supported generic PINCONF properties in child nodes:
> +- pins:
> + The list of pins (within the controller's own pin space) that properties
> + in the node apply to. Pin names are "gpio-<pin>"
> +
> +- bias-disable:
> + Disable pin bias
> +
> +- bias-pull-up:
> + Enable internal pull up resistor
> +
> +- bias-pull-down:
> + Enable internal pull down resistor
> +
> +- drive-strength:
> + Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
> +
> +Example:
> +
> + gpioa: gpio-a at 18000020 {
node names are preferred to be generic, so just "gpio at ..."
> + compatible = "brcm,nsp-gpio-a";
> + reg = <0x18000020 0x100>,
> + <0x1803f1c4 0x1c>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + ngpios = <32>;
> + gpio-ranges = <&pinctrl 0 0 31>;
> + interrupt-controller;
> + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
> +
> + /* Hog a few default settings */
> + pinctrl-names = "default";
> + pinctrl-0 = <&led>;
> + led: led {
> + pins = "gpio-1";
> + bias-pull-up;
> + };
> +
> + pwr: pwr {
> + gpio-hog;
> + gpios = <3 1>;
> + output-high;
> + };
> + };
> --
> 2.1.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-02 15:07 ` Rob Herring
0 siblings, 0 replies; 11+ messages in thread
From: Rob Herring @ 2015-12-02 15:07 UTC (permalink / raw)
To: Yendapally Reddy Dhananjaya Reddy
Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Ray Jui,
Scott Branden, Jon Mason, Linus Walleij, devicetree,
linux-arm-kernel, bcm-kernel-feedback-list, linux-kernel
On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
> Device tree binding documentation for Broadcom NSP GPIO-a driver
Bindings are for h/w, not drivers...
>
> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
> ---
> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
> 1 file changed, 80 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
> new file mode 100644
> index 0000000..bea4211
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
> @@ -0,0 +1,80 @@
> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
> +
> +Required properties:
> +- compatible:
> + Must be "brcm,nsp-gpio-a"
> +
> +- reg:
> + Should contain the register physical address and length for each of
> + GPIO base, IO control registers
> +
> +- #gpio-cells:
> + Must be two. The first cell is the GPIO pin number (within the
> + controller's pin space) and the second cell is used for the following:
> + bit[0]: polarity (0 for active high and 1 for active low)
> +
> +- gpio-controller:
> + Specifies that the node is a GPIO controller
> +
> +- ngpios:
> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
2 chips? You should have 2 compatible strings. I think this is incorrect
use of ngpios which AIUI is not for how many lines there are, but how
many can be used (e.g. not reserved).
> +
> +Optional properties:
> +- interrupts:
> + Interrupt ID
> +
> +- interrupt-controller:
> + Specifies that the node is an interrupt controller
> +
> +- gpio-ranges:
> + Specifies the mapping between gpio controller and pin-controllers pins.
> + This requires 4 fields in cells defined as -
> + 1. Phandle of pin-controller.
> + 2. GPIO base pin offset.
> + 3 Pin-control base pin offset.
> + 4. number of gpio pins which are linearly mapped from pin base.
> +
> +Supported generic PINCONF properties in child nodes:
> +- pins:
> + The list of pins (within the controller's own pin space) that properties
> + in the node apply to. Pin names are "gpio-<pin>"
> +
> +- bias-disable:
> + Disable pin bias
> +
> +- bias-pull-up:
> + Enable internal pull up resistor
> +
> +- bias-pull-down:
> + Enable internal pull down resistor
> +
> +- drive-strength:
> + Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
> +
> +Example:
> +
> + gpioa: gpio-a@18000020 {
node names are preferred to be generic, so just "gpio@..."
> + compatible = "brcm,nsp-gpio-a";
> + reg = <0x18000020 0x100>,
> + <0x1803f1c4 0x1c>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + ngpios = <32>;
> + gpio-ranges = <&pinctrl 0 0 31>;
> + interrupt-controller;
> + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
> +
> + /* Hog a few default settings */
> + pinctrl-names = "default";
> + pinctrl-0 = <&led>;
> + led: led {
> + pins = "gpio-1";
> + bias-pull-up;
> + };
> +
> + pwr: pwr {
> + gpio-hog;
> + gpios = <3 1>;
> + output-high;
> + };
> + };
> --
> 2.1.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
2015-12-02 15:07 ` Rob Herring
(?)
@ 2015-12-02 17:32 ` Ray Jui
-1 siblings, 0 replies; 11+ messages in thread
From: Ray Jui @ 2015-12-02 17:32 UTC (permalink / raw)
To: linux-arm-kernel
Hi Rob,
On 12/2/2015 7:07 AM, Rob Herring wrote:
> On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
>> Device tree binding documentation for Broadcom NSP GPIO-a driver
>
> Bindings are for h/w, not drivers...
>
>>
>> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
>> ---
>> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
>> 1 file changed, 80 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> new file mode 100644
>> index 0000000..bea4211
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> @@ -0,0 +1,80 @@
>> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
>> +
>> +Required properties:
>> +- compatible:
>> + Must be "brcm,nsp-gpio-a"
>> +
>> +- reg:
>> + Should contain the register physical address and length for each of
>> + GPIO base, IO control registers
>> +
>> +- #gpio-cells:
>> + Must be two. The first cell is the GPIO pin number (within the
>> + controller's pin space) and the second cell is used for the following:
>> + bit[0]: polarity (0 for active high and 1 for active low)
>> +
>> +- gpio-controller:
>> + Specifies that the node is a GPIO controller
>> +
>> +- ngpios:
>> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
>
> 2 chips? You should have 2 compatible strings. I think this is incorrect
> use of ngpios which AIUI is not for how many lines there are, but how
> many can be used (e.g. not reserved).
>
I believe this is the identical GPIO controller IP that is integrated
into two different SoC chip variants. The only difference is the
supported number of GPIO pins.
In this case, I believe this is what Linus prefers: 1) Using a single
compatible string (tied to the GPIO controller IP); 2) Addressing
difference in number of GPIOs using DT property 'ngpios'.
Thanks,
Ray
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-02 17:32 ` Ray Jui
0 siblings, 0 replies; 11+ messages in thread
From: Ray Jui @ 2015-12-02 17:32 UTC (permalink / raw)
To: Rob Herring, Yendapally Reddy Dhananjaya Reddy
Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Scott Branden,
Jon Mason, Linus Walleij, devicetree, linux-arm-kernel,
bcm-kernel-feedback-list, linux-kernel
Hi Rob,
On 12/2/2015 7:07 AM, Rob Herring wrote:
> On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
>> Device tree binding documentation for Broadcom NSP GPIO-a driver
>
> Bindings are for h/w, not drivers...
>
>>
>> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
>> ---
>> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
>> 1 file changed, 80 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> new file mode 100644
>> index 0000000..bea4211
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> @@ -0,0 +1,80 @@
>> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
>> +
>> +Required properties:
>> +- compatible:
>> + Must be "brcm,nsp-gpio-a"
>> +
>> +- reg:
>> + Should contain the register physical address and length for each of
>> + GPIO base, IO control registers
>> +
>> +- #gpio-cells:
>> + Must be two. The first cell is the GPIO pin number (within the
>> + controller's pin space) and the second cell is used for the following:
>> + bit[0]: polarity (0 for active high and 1 for active low)
>> +
>> +- gpio-controller:
>> + Specifies that the node is a GPIO controller
>> +
>> +- ngpios:
>> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
>
> 2 chips? You should have 2 compatible strings. I think this is incorrect
> use of ngpios which AIUI is not for how many lines there are, but how
> many can be used (e.g. not reserved).
>
I believe this is the identical GPIO controller IP that is integrated
into two different SoC chip variants. The only difference is the
supported number of GPIO pins.
In this case, I believe this is what Linus prefers: 1) Using a single
compatible string (tied to the GPIO controller IP); 2) Addressing
difference in number of GPIOs using DT property 'ngpios'.
Thanks,
Ray
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-02 17:32 ` Ray Jui
0 siblings, 0 replies; 11+ messages in thread
From: Ray Jui @ 2015-12-02 17:32 UTC (permalink / raw)
To: Rob Herring, Yendapally Reddy Dhananjaya Reddy
Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Scott Branden,
Jon Mason, Linus Walleij, devicetree, linux-arm-kernel,
bcm-kernel-feedback-list, linux-kernel
Hi Rob,
On 12/2/2015 7:07 AM, Rob Herring wrote:
> On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
>> Device tree binding documentation for Broadcom NSP GPIO-a driver
>
> Bindings are for h/w, not drivers...
>
>>
>> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
>> ---
>> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
>> 1 file changed, 80 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> new file mode 100644
>> index 0000000..bea4211
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> @@ -0,0 +1,80 @@
>> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
>> +
>> +Required properties:
>> +- compatible:
>> + Must be "brcm,nsp-gpio-a"
>> +
>> +- reg:
>> + Should contain the register physical address and length for each of
>> + GPIO base, IO control registers
>> +
>> +- #gpio-cells:
>> + Must be two. The first cell is the GPIO pin number (within the
>> + controller's pin space) and the second cell is used for the following:
>> + bit[0]: polarity (0 for active high and 1 for active low)
>> +
>> +- gpio-controller:
>> + Specifies that the node is a GPIO controller
>> +
>> +- ngpios:
>> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
>
> 2 chips? You should have 2 compatible strings. I think this is incorrect
> use of ngpios which AIUI is not for how many lines there are, but how
> many can be used (e.g. not reserved).
>
I believe this is the identical GPIO controller IP that is integrated
into two different SoC chip variants. The only difference is the
supported number of GPIO pins.
In this case, I believe this is what Linus prefers: 1) Using a single
compatible string (tied to the GPIO controller IP); 2) Addressing
difference in number of GPIOs using DT property 'ngpios'.
Thanks,
Ray
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
2015-12-02 15:07 ` Rob Herring
(?)
@ 2015-12-04 9:37 ` Yendapally Reddy Dhananjaya Reddy
-1 siblings, 0 replies; 11+ messages in thread
From: Yendapally Reddy Dhananjaya Reddy @ 2015-12-04 9:37 UTC (permalink / raw)
To: linux-arm-kernel
Hi Rob,
On 12/2/2015 8:37 PM, Rob Herring wrote:
> On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
>> Device tree binding documentation for Broadcom NSP GPIO-a driver
> Bindings are for h/w, not drivers...
Right, will address in the next patch.
>> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
>> ---
>> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
>> 1 file changed, 80 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> new file mode 100644
>> index 0000000..bea4211
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> @@ -0,0 +1,80 @@
>> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
>> +
>> +Required properties:
>> +- compatible:
>> + Must be "brcm,nsp-gpio-a"
>> +
>> +- reg:
>> + Should contain the register physical address and length for each of
>> + GPIO base, IO control registers
>> +
>> +- #gpio-cells:
>> + Must be two. The first cell is the GPIO pin number (within the
>> + controller's pin space) and the second cell is used for the following:
>> + bit[0]: polarity (0 for active high and 1 for active low)
>> +
>> +- gpio-controller:
>> + Specifies that the node is a GPIO controller
>> +
>> +- ngpios:
>> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
> 2 chips? You should have 2 compatible strings. I think this is incorrect
> use of ngpios which AIUI is not for how many lines there are, but how
> many can be used (e.g. not reserved).
>
>> +
>> +Optional properties:
>> +- interrupts:
>> + Interrupt ID
>> +
>> +- interrupt-controller:
>> + Specifies that the node is an interrupt controller
>> +
>> +- gpio-ranges:
>> + Specifies the mapping between gpio controller and pin-controllers pins.
>> + This requires 4 fields in cells defined as -
>> + 1. Phandle of pin-controller.
>> + 2. GPIO base pin offset.
>> + 3 Pin-control base pin offset.
>> + 4. number of gpio pins which are linearly mapped from pin base.
>> +
>> +Supported generic PINCONF properties in child nodes:
>> +- pins:
>> + The list of pins (within the controller's own pin space) that properties
>> + in the node apply to. Pin names are "gpio-<pin>"
>> +
>> +- bias-disable:
>> + Disable pin bias
>> +
>> +- bias-pull-up:
>> + Enable internal pull up resistor
>> +
>> +- bias-pull-down:
>> + Enable internal pull down resistor
>> +
>> +- drive-strength:
>> + Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
>> +
>> +Example:
>> +
>> + gpioa: gpio-a at 18000020 {
> node names are preferred to be generic, so just "gpio at ..."
Right, will address in the next patch.
>> + compatible = "brcm,nsp-gpio-a";
>> + reg = <0x18000020 0x100>,
>> + <0x1803f1c4 0x1c>;
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + ngpios = <32>;
>> + gpio-ranges = <&pinctrl 0 0 31>;
>> + interrupt-controller;
>> + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
>> +
>> + /* Hog a few default settings */
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&led>;
>> + led: led {
>> + pins = "gpio-1";
>> + bias-pull-up;
>> + };
>> +
>> + pwr: pwr {
>> + gpio-hog;
>> + gpios = <3 1>;
>> + output-high;
>> + };
>> + };
>> --
>> 2.1.0
>>
Thanks
Dhananjay
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-04 9:37 ` Yendapally Reddy Dhananjaya Reddy
0 siblings, 0 replies; 11+ messages in thread
From: Yendapally Reddy Dhananjaya Reddy @ 2015-12-04 9:37 UTC (permalink / raw)
To: Rob Herring
Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Ray Jui,
Scott Branden, Jon Mason, Linus Walleij,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
bcm-kernel-feedback-list,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Hi Rob,
On 12/2/2015 8:37 PM, Rob Herring wrote:
> On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
>> Device tree binding documentation for Broadcom NSP GPIO-a driver
> Bindings are for h/w, not drivers...
Right, will address in the next patch.
>> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>> ---
>> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
>> 1 file changed, 80 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> new file mode 100644
>> index 0000000..bea4211
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> @@ -0,0 +1,80 @@
>> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
>> +
>> +Required properties:
>> +- compatible:
>> + Must be "brcm,nsp-gpio-a"
>> +
>> +- reg:
>> + Should contain the register physical address and length for each of
>> + GPIO base, IO control registers
>> +
>> +- #gpio-cells:
>> + Must be two. The first cell is the GPIO pin number (within the
>> + controller's pin space) and the second cell is used for the following:
>> + bit[0]: polarity (0 for active high and 1 for active low)
>> +
>> +- gpio-controller:
>> + Specifies that the node is a GPIO controller
>> +
>> +- ngpios:
>> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
> 2 chips? You should have 2 compatible strings. I think this is incorrect
> use of ngpios which AIUI is not for how many lines there are, but how
> many can be used (e.g. not reserved).
>
>> +
>> +Optional properties:
>> +- interrupts:
>> + Interrupt ID
>> +
>> +- interrupt-controller:
>> + Specifies that the node is an interrupt controller
>> +
>> +- gpio-ranges:
>> + Specifies the mapping between gpio controller and pin-controllers pins.
>> + This requires 4 fields in cells defined as -
>> + 1. Phandle of pin-controller.
>> + 2. GPIO base pin offset.
>> + 3 Pin-control base pin offset.
>> + 4. number of gpio pins which are linearly mapped from pin base.
>> +
>> +Supported generic PINCONF properties in child nodes:
>> +- pins:
>> + The list of pins (within the controller's own pin space) that properties
>> + in the node apply to. Pin names are "gpio-<pin>"
>> +
>> +- bias-disable:
>> + Disable pin bias
>> +
>> +- bias-pull-up:
>> + Enable internal pull up resistor
>> +
>> +- bias-pull-down:
>> + Enable internal pull down resistor
>> +
>> +- drive-strength:
>> + Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
>> +
>> +Example:
>> +
>> + gpioa: gpio-a@18000020 {
> node names are preferred to be generic, so just "gpio@..."
Right, will address in the next patch.
>> + compatible = "brcm,nsp-gpio-a";
>> + reg = <0x18000020 0x100>,
>> + <0x1803f1c4 0x1c>;
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + ngpios = <32>;
>> + gpio-ranges = <&pinctrl 0 0 31>;
>> + interrupt-controller;
>> + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
>> +
>> + /* Hog a few default settings */
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&led>;
>> + led: led {
>> + pins = "gpio-1";
>> + bias-pull-up;
>> + };
>> +
>> + pwr: pwr {
>> + gpio-hog;
>> + gpios = <3 1>;
>> + output-high;
>> + };
>> + };
>> --
>> 2.1.0
>>
Thanks
Dhananjay
--
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
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings
@ 2015-12-04 9:37 ` Yendapally Reddy Dhananjaya Reddy
0 siblings, 0 replies; 11+ messages in thread
From: Yendapally Reddy Dhananjaya Reddy @ 2015-12-04 9:37 UTC (permalink / raw)
To: Rob Herring
Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Ray Jui,
Scott Branden, Jon Mason, Linus Walleij,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
bcm-kernel-feedback-list, linux-kernel@vger.kernel.org
Hi Rob,
On 12/2/2015 8:37 PM, Rob Herring wrote:
> On Tue, Dec 01, 2015 at 11:46:38PM -0500, Yendapally Reddy Dhananjaya Reddy wrote:
>> Device tree binding documentation for Broadcom NSP GPIO-a driver
> Bindings are for h/w, not drivers...
Right, will address in the next patch.
>> Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
>> ---
>> .../devicetree/bindings/pinctrl/brcm,nsp-gpio.txt | 80 ++++++++++++++++++++++
>> 1 file changed, 80 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> new file mode 100644
>> index 0000000..bea4211
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,nsp-gpio.txt
>> @@ -0,0 +1,80 @@
>> +Broadcom Northstar plus (NSP) GPIO/PINCONF Controller
>> +
>> +Required properties:
>> +- compatible:
>> + Must be "brcm,nsp-gpio-a"
>> +
>> +- reg:
>> + Should contain the register physical address and length for each of
>> + GPIO base, IO control registers
>> +
>> +- #gpio-cells:
>> + Must be two. The first cell is the GPIO pin number (within the
>> + controller's pin space) and the second cell is used for the following:
>> + bit[0]: polarity (0 for active high and 1 for active low)
>> +
>> +- gpio-controller:
>> + Specifies that the node is a GPIO controller
>> +
>> +- ngpios:
>> + Number of gpios supported (58x25 supports 32 and 58x23 supports 24)
> 2 chips? You should have 2 compatible strings. I think this is incorrect
> use of ngpios which AIUI is not for how many lines there are, but how
> many can be used (e.g. not reserved).
>
>> +
>> +Optional properties:
>> +- interrupts:
>> + Interrupt ID
>> +
>> +- interrupt-controller:
>> + Specifies that the node is an interrupt controller
>> +
>> +- gpio-ranges:
>> + Specifies the mapping between gpio controller and pin-controllers pins.
>> + This requires 4 fields in cells defined as -
>> + 1. Phandle of pin-controller.
>> + 2. GPIO base pin offset.
>> + 3 Pin-control base pin offset.
>> + 4. number of gpio pins which are linearly mapped from pin base.
>> +
>> +Supported generic PINCONF properties in child nodes:
>> +- pins:
>> + The list of pins (within the controller's own pin space) that properties
>> + in the node apply to. Pin names are "gpio-<pin>"
>> +
>> +- bias-disable:
>> + Disable pin bias
>> +
>> +- bias-pull-up:
>> + Enable internal pull up resistor
>> +
>> +- bias-pull-down:
>> + Enable internal pull down resistor
>> +
>> +- drive-strength:
>> + Valid drive strength values include 2, 4, 6, 8, 10, 12, 14, 16 (mA)
>> +
>> +Example:
>> +
>> + gpioa: gpio-a@18000020 {
> node names are preferred to be generic, so just "gpio@..."
Right, will address in the next patch.
>> + compatible = "brcm,nsp-gpio-a";
>> + reg = <0x18000020 0x100>,
>> + <0x1803f1c4 0x1c>;
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + ngpios = <32>;
>> + gpio-ranges = <&pinctrl 0 0 31>;
>> + interrupt-controller;
>> + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
>> +
>> + /* Hog a few default settings */
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&led>;
>> + led: led {
>> + pins = "gpio-1";
>> + bias-pull-up;
>> + };
>> +
>> + pwr: pwr {
>> + gpio-hog;
>> + gpios = <3 1>;
>> + output-high;
>> + };
>> + };
>> --
>> 2.1.0
>>
Thanks
Dhananjay
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-12-04 9:38 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-02 4:46 [PATCH 1/3] pinctrl: Broadcom NSP GPIO-a device tree bindings Yendapally Reddy Dhananjaya Reddy
2015-12-02 4:46 ` Yendapally Reddy Dhananjaya Reddy
2015-12-02 4:46 ` Yendapally Reddy Dhananjaya Reddy
2015-12-02 15:07 ` Rob Herring
2015-12-02 15:07 ` Rob Herring
2015-12-02 17:32 ` Ray Jui
2015-12-02 17:32 ` Ray Jui
2015-12-02 17:32 ` Ray Jui
2015-12-04 9:37 ` Yendapally Reddy Dhananjaya Reddy
2015-12-04 9:37 ` Yendapally Reddy Dhananjaya Reddy
2015-12-04 9:37 ` Yendapally Reddy Dhananjaya Reddy
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.