* [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional
2020-11-18 7:17 [PATCH v2 0/4] arm64: rockchip: Fix PCIe ep-gpios requirement and Add Nanopi M4B Chen-Yu Tsai
@ 2020-11-18 7:17 ` Chen-Yu Tsai
2020-11-18 8:49 ` Heiko Stübner
2020-12-07 14:11 ` Rob Herring
2020-11-18 7:17 ` [PATCH v2 2/4] dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B Chen-Yu Tsai
` (2 subsequent siblings)
3 siblings, 2 replies; 12+ messages in thread
From: Chen-Yu Tsai @ 2020-11-18 7:17 UTC (permalink / raw)
To: Shawn Lin, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Heiko Stuebner
Cc: devicetree, linux-pci, linux-kernel, linux-rockchip,
Chen-Yu Tsai, Johan Jonker, Robin Murphy, linux-arm-kernel
From: Chen-Yu Tsai <wens@csie.org>
The Rockchip PCIe controller DT binding clearly states that 'ep-gpios' is
an optional property. And indeed there are boards that don't require it.
Make the driver follow the binding by using devm_gpiod_get_optional()
instead of devm_gpiod_get().
Fixes: e77f847df54c ("PCI: rockchip: Add Rockchip PCIe controller support")
Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver")
Fixes: 964bac9455be ("PCI: rockchip: Split out rockchip_pcie_parse_dt() to parse DT")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
Changes since v1:
- Rewrite subject to match existing convention and reference
'ep-gpios' DT property instead of the 'ep_gpio' field
---
drivers/pci/controller/pcie-rockchip.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c
index 904dec0d3a88..c95950e9004f 100644
--- a/drivers/pci/controller/pcie-rockchip.c
+++ b/drivers/pci/controller/pcie-rockchip.c
@@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
}
if (rockchip->is_rc) {
- rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
+ rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
if (IS_ERR(rockchip->ep_gpio)) {
dev_err(dev, "missing ep-gpios property in node\n");
return PTR_ERR(rockchip->ep_gpio);
--
2.29.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional
2020-11-18 7:17 ` [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional Chen-Yu Tsai
@ 2020-11-18 8:49 ` Heiko Stübner
2020-12-07 3:30 ` Chen-Yu Tsai
2020-12-07 14:11 ` Rob Herring
1 sibling, 1 reply; 12+ messages in thread
From: Heiko Stübner @ 2020-11-18 8:49 UTC (permalink / raw)
To: Shawn Lin, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Chen-Yu Tsai
Cc: devicetree, linux-pci, linux-kernel, linux-rockchip,
Chen-Yu Tsai, Johan Jonker, Robin Murphy, linux-arm-kernel
Am Mittwoch, 18. November 2020, 08:17:21 CET schrieb Chen-Yu Tsai:
> From: Chen-Yu Tsai <wens@csie.org>
>
> The Rockchip PCIe controller DT binding clearly states that 'ep-gpios' is
> an optional property. And indeed there are boards that don't require it.
>
> Make the driver follow the binding by using devm_gpiod_get_optional()
> instead of devm_gpiod_get().
>
> Fixes: e77f847df54c ("PCI: rockchip: Add Rockchip PCIe controller support")
> Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver")
> Fixes: 964bac9455be ("PCI: rockchip: Split out rockchip_pcie_parse_dt() to parse DT")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de
I'll pick up patches 2-4 separately, after giving Rob a chance to look at
the simple binding.
Heiko
> ---
> Changes since v1:
>
> - Rewrite subject to match existing convention and reference
> 'ep-gpios' DT property instead of the 'ep_gpio' field
> ---
> drivers/pci/controller/pcie-rockchip.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c
> index 904dec0d3a88..c95950e9004f 100644
> --- a/drivers/pci/controller/pcie-rockchip.c
> +++ b/drivers/pci/controller/pcie-rockchip.c
> @@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
> }
>
> if (rockchip->is_rc) {
> - rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
> + rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
> if (IS_ERR(rockchip->ep_gpio)) {
> dev_err(dev, "missing ep-gpios property in node\n");
> return PTR_ERR(rockchip->ep_gpio);
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional
2020-11-18 8:49 ` Heiko Stübner
@ 2020-12-07 3:30 ` Chen-Yu Tsai
0 siblings, 0 replies; 12+ messages in thread
From: Chen-Yu Tsai @ 2020-12-07 3:30 UTC (permalink / raw)
To: Shawn Lin, Lorenzo Pieralisi
Cc: Rob Herring, Heiko Stübner, devicetree, linux-pci,
linux-kernel, open list:ARM/Rockchip SoC...,
Bjorn Helgaas, Johan Jonker, Chen-Yu Tsai, Robin Murphy,
linux-arm-kernel
Ping
On Wed, Nov 18, 2020 at 4:49 PM Heiko Stübner <heiko@sntech.de> wrote:
>
> Am Mittwoch, 18. November 2020, 08:17:21 CET schrieb Chen-Yu Tsai:
> > From: Chen-Yu Tsai <wens@csie.org>
> >
> > The Rockchip PCIe controller DT binding clearly states that 'ep-gpios' is
> > an optional property. And indeed there are boards that don't require it.
> >
> > Make the driver follow the binding by using devm_gpiod_get_optional()
> > instead of devm_gpiod_get().
> >
> > Fixes: e77f847df54c ("PCI: rockchip: Add Rockchip PCIe controller support")
> > Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver")
> > Fixes: 964bac9455be ("PCI: rockchip: Split out rockchip_pcie_parse_dt() to parse DT")
> > Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>
> Reviewed-by: Heiko Stuebner <heiko@sntech.de
It's been close to three weeks since this was sent.
Any chance we can get this into v5.10 or v5.11?
Regards
ChenYu
> I'll pick up patches 2-4 separately, after giving Rob a chance to look at
> the simple binding.
>
>
> Heiko
>
> > ---
> > Changes since v1:
> >
> > - Rewrite subject to match existing convention and reference
> > 'ep-gpios' DT property instead of the 'ep_gpio' field
> > ---
> > drivers/pci/controller/pcie-rockchip.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c
> > index 904dec0d3a88..c95950e9004f 100644
> > --- a/drivers/pci/controller/pcie-rockchip.c
> > +++ b/drivers/pci/controller/pcie-rockchip.c
> > @@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
> > }
> >
> > if (rockchip->is_rc) {
> > - rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
> > + rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
> > if (IS_ERR(rockchip->ep_gpio)) {
> > dev_err(dev, "missing ep-gpios property in node\n");
> > return PTR_ERR(rockchip->ep_gpio);
> >
>
>
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional
2020-11-18 7:17 ` [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional Chen-Yu Tsai
2020-11-18 8:49 ` Heiko Stübner
@ 2020-12-07 14:11 ` Rob Herring
2020-12-12 15:18 ` Chen-Yu Tsai
1 sibling, 1 reply; 12+ messages in thread
From: Rob Herring @ 2020-12-07 14:11 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: devicetree, Lorenzo Pieralisi, Heiko Stuebner, PCI, Shawn Lin,
linux-kernel, open list:ARM/Rockchip SoC...,
Chen-Yu Tsai, Bjorn Helgaas, Johan Jonker, Robin Murphy,
linux-arm-kernel
On Wed, Nov 18, 2020 at 1:17 AM Chen-Yu Tsai <wens@kernel.org> wrote:
>
> From: Chen-Yu Tsai <wens@csie.org>
>
> The Rockchip PCIe controller DT binding clearly states that 'ep-gpios' is
> an optional property. And indeed there are boards that don't require it.
>
> Make the driver follow the binding by using devm_gpiod_get_optional()
> instead of devm_gpiod_get().
>
> Fixes: e77f847df54c ("PCI: rockchip: Add Rockchip PCIe controller support")
> Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver")
> Fixes: 964bac9455be ("PCI: rockchip: Split out rockchip_pcie_parse_dt() to parse DT")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
> Changes since v1:
>
> - Rewrite subject to match existing convention and reference
> 'ep-gpios' DT property instead of the 'ep_gpio' field
> ---
> drivers/pci/controller/pcie-rockchip.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c
> index 904dec0d3a88..c95950e9004f 100644
> --- a/drivers/pci/controller/pcie-rockchip.c
> +++ b/drivers/pci/controller/pcie-rockchip.c
> @@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
> }
>
> if (rockchip->is_rc) {
> - rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
> + rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
> if (IS_ERR(rockchip->ep_gpio)) {
> dev_err(dev, "missing ep-gpios property in node\n");
You should drop the error message. What it says is now never the
reason for the error and it could most likely be a deferred probe
which you don't want an error message for.
> return PTR_ERR(rockchip->ep_gpio);
> --
> 2.29.1
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional
2020-12-07 14:11 ` Rob Herring
@ 2020-12-12 15:18 ` Chen-Yu Tsai
2020-12-14 14:17 ` Rob Herring
0 siblings, 1 reply; 12+ messages in thread
From: Chen-Yu Tsai @ 2020-12-12 15:18 UTC (permalink / raw)
To: Rob Herring
Cc: devicetree, Lorenzo Pieralisi, Heiko Stuebner, PCI, Shawn Lin,
linux-kernel, open list:ARM/Rockchip SoC...,
Bjorn Helgaas, Johan Jonker, Chen-Yu Tsai, Robin Murphy,
linux-arm-kernel
On Mon, Dec 7, 2020 at 10:11 PM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Nov 18, 2020 at 1:17 AM Chen-Yu Tsai <wens@kernel.org> wrote:
> >
> > From: Chen-Yu Tsai <wens@csie.org>
> >
> > The Rockchip PCIe controller DT binding clearly states that 'ep-gpios' is
> > an optional property. And indeed there are boards that don't require it.
> >
> > Make the driver follow the binding by using devm_gpiod_get_optional()
> > instead of devm_gpiod_get().
> >
> > Fixes: e77f847df54c ("PCI: rockchip: Add Rockchip PCIe controller support")
> > Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver")
> > Fixes: 964bac9455be ("PCI: rockchip: Split out rockchip_pcie_parse_dt() to parse DT")
> > Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> > ---
> > Changes since v1:
> >
> > - Rewrite subject to match existing convention and reference
> > 'ep-gpios' DT property instead of the 'ep_gpio' field
> > ---
> > drivers/pci/controller/pcie-rockchip.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c
> > index 904dec0d3a88..c95950e9004f 100644
> > --- a/drivers/pci/controller/pcie-rockchip.c
> > +++ b/drivers/pci/controller/pcie-rockchip.c
> > @@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
> > }
> >
> > if (rockchip->is_rc) {
> > - rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
> > + rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
> > if (IS_ERR(rockchip->ep_gpio)) {
> > dev_err(dev, "missing ep-gpios property in node\n");
>
> You should drop the error message. What it says is now never the
> reason for the error and it could most likely be a deferred probe
> which you don't want an error message for.
What about switching to dev_err_probe() instead?
That way deferred probe errors get silenced (or get a better debug message),
and error messages for other issues, such as miswritten gpio properties are
still produced.
ChenYu
> > return PTR_ERR(rockchip->ep_gpio);
> > --
> > 2.29.1
> >
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional
2020-12-12 15:18 ` Chen-Yu Tsai
@ 2020-12-14 14:17 ` Rob Herring
0 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2020-12-14 14:17 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: devicetree, Lorenzo Pieralisi, Heiko Stuebner, PCI, Shawn Lin,
linux-kernel, open list:ARM/Rockchip SoC...,
Bjorn Helgaas, Johan Jonker, Robin Murphy, linux-arm-kernel
On Sat, Dec 12, 2020 at 9:18 AM Chen-Yu Tsai <wens@kernel.org> wrote:
>
> On Mon, Dec 7, 2020 at 10:11 PM Rob Herring <robh@kernel.org> wrote:
> >
> > On Wed, Nov 18, 2020 at 1:17 AM Chen-Yu Tsai <wens@kernel.org> wrote:
> > >
> > > From: Chen-Yu Tsai <wens@csie.org>
> > >
> > > The Rockchip PCIe controller DT binding clearly states that 'ep-gpios' is
> > > an optional property. And indeed there are boards that don't require it.
> > >
> > > Make the driver follow the binding by using devm_gpiod_get_optional()
> > > instead of devm_gpiod_get().
> > >
> > > Fixes: e77f847df54c ("PCI: rockchip: Add Rockchip PCIe controller support")
> > > Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver")
> > > Fixes: 964bac9455be ("PCI: rockchip: Split out rockchip_pcie_parse_dt() to parse DT")
> > > Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> > > ---
> > > Changes since v1:
> > >
> > > - Rewrite subject to match existing convention and reference
> > > 'ep-gpios' DT property instead of the 'ep_gpio' field
> > > ---
> > > drivers/pci/controller/pcie-rockchip.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c
> > > index 904dec0d3a88..c95950e9004f 100644
> > > --- a/drivers/pci/controller/pcie-rockchip.c
> > > +++ b/drivers/pci/controller/pcie-rockchip.c
> > > @@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
> > > }
> > >
> > > if (rockchip->is_rc) {
> > > - rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH);
> > > + rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
> > > if (IS_ERR(rockchip->ep_gpio)) {
> > > dev_err(dev, "missing ep-gpios property in node\n");
> >
> > You should drop the error message. What it says is now never the
> > reason for the error and it could most likely be a deferred probe
> > which you don't want an error message for.
>
> What about switching to dev_err_probe() instead?
>
> That way deferred probe errors get silenced (or get a better debug message),
> and error messages for other issues, such as miswritten gpio properties are
> still produced.
I guess, but those errors should be in the subsystem code IMO rather
than every driver.
Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 2/4] dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B
2020-11-18 7:17 [PATCH v2 0/4] arm64: rockchip: Fix PCIe ep-gpios requirement and Add Nanopi M4B Chen-Yu Tsai
2020-11-18 7:17 ` [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional Chen-Yu Tsai
@ 2020-11-18 7:17 ` Chen-Yu Tsai
2020-12-07 21:13 ` Rob Herring
2020-11-18 7:17 ` [PATCH v2 3/4] arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4 Chen-Yu Tsai
2020-11-18 7:17 ` [PATCH v2 4/4] arm64: dts: rockchip: rk3399: Add NanoPi M4B Chen-Yu Tsai
3 siblings, 1 reply; 12+ messages in thread
From: Chen-Yu Tsai @ 2020-11-18 7:17 UTC (permalink / raw)
To: Shawn Lin, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Heiko Stuebner
Cc: devicetree, linux-pci, linux-kernel, linux-rockchip,
Chen-Yu Tsai, Johan Jonker, Robin Murphy, linux-arm-kernel
From: Chen-Yu Tsai <wens@csie.org>
The NanoPi M4B is a minor revision of the original M4.
The differences against the original Nanopi M4 that are common with the
other M4V2 revision include:
- microphone header removed
- power button added
- recovery button added
Additional changes specific to the M4B:
- USB 3.0 hub removed; board now has 2x USB 3.0 type-A ports and 2x
USB 2.0 ports
- ADB toggle switch added; this changes the top USB 3.0 host port to
a peripheral port
- Type-C port no longer supports data or PD
- WiFi/Bluetooth combo chip switched to AP6256, which supports BT 5.0
but only 1T1R (down from 2T2R) for WiFi
Add a compatible string for the new board revision.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
Documentation/devicetree/bindings/arm/rockchip.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
index 37fd456170d2..1c0ec57ba860 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
@@ -126,6 +126,7 @@ properties:
- enum:
- friendlyarm,nanopc-t4
- friendlyarm,nanopi-m4
+ - friendlyarm,nanopi-m4b
- friendlyarm,nanopi-neo4
- const: rockchip,rk3399
--
2.29.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/4] dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B
2020-11-18 7:17 ` [PATCH v2 2/4] dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B Chen-Yu Tsai
@ 2020-12-07 21:13 ` Rob Herring
0 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2020-12-07 21:13 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: devicetree, Lorenzo Pieralisi, Heiko Stuebner, linux-pci,
Shawn Lin, linux-kernel, linux-rockchip, Chen-Yu Tsai,
Bjorn Helgaas, Johan Jonker, Robin Murphy, linux-arm-kernel
On Wed, 18 Nov 2020 15:17:22 +0800, Chen-Yu Tsai wrote:
> From: Chen-Yu Tsai <wens@csie.org>
>
> The NanoPi M4B is a minor revision of the original M4.
>
> The differences against the original Nanopi M4 that are common with the
> other M4V2 revision include:
>
> - microphone header removed
> - power button added
> - recovery button added
>
> Additional changes specific to the M4B:
>
> - USB 3.0 hub removed; board now has 2x USB 3.0 type-A ports and 2x
> USB 2.0 ports
> - ADB toggle switch added; this changes the top USB 3.0 host port to
> a peripheral port
> - Type-C port no longer supports data or PD
> - WiFi/Bluetooth combo chip switched to AP6256, which supports BT 5.0
> but only 1T1R (down from 2T2R) for WiFi
>
> Add a compatible string for the new board revision.
>
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
> Documentation/devicetree/bindings/arm/rockchip.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring <robh@kernel.org>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 3/4] arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4
2020-11-18 7:17 [PATCH v2 0/4] arm64: rockchip: Fix PCIe ep-gpios requirement and Add Nanopi M4B Chen-Yu Tsai
2020-11-18 7:17 ` [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional Chen-Yu Tsai
2020-11-18 7:17 ` [PATCH v2 2/4] dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B Chen-Yu Tsai
@ 2020-11-18 7:17 ` Chen-Yu Tsai
2020-12-14 15:18 ` Robin Murphy
2020-11-18 7:17 ` [PATCH v2 4/4] arm64: dts: rockchip: rk3399: Add NanoPi M4B Chen-Yu Tsai
3 siblings, 1 reply; 12+ messages in thread
From: Chen-Yu Tsai @ 2020-11-18 7:17 UTC (permalink / raw)
To: Shawn Lin, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Heiko Stuebner
Cc: devicetree, linux-pci, linux-kernel, linux-rockchip,
Chen-Yu Tsai, Johan Jonker, Robin Murphy, linux-arm-kernel
From: Chen-Yu Tsai <wens@csie.org>
Only the NanoPC T4 hs the PCIe reset pin routed to the SoC. For the
NanoPi M4 family, no such signal is routed to the expansion header on
the base board.
As the schematics for the expansion board were not released, it is
unclear how this is handled, but the likely answer is that the signal
is always pulled high.
Move the ep-gpios property from the common nanopi4.dtsi file to the
board level nanopc-t4.dts file. This makes the nanopi-m4 lack ep-gpios,
matching the board design.
A companion patch "PCI: rockchip: make ep_gpio optional" for the Linux
driver is required, as the driver currently requires the property to be
present.
Fixes: e7a095908227 ("arm64: dts: rockchip: Add devicetree for NanoPC-T4")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
index e0d75617bb7e..452728b82e42 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
@@ -95,6 +95,7 @@ map3 {
};
&pcie0 {
+ ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
num-lanes = <4>;
vpcie3v3-supply = <&vcc3v3_sys>;
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
index 76a8b40a93c6..48ed4aaa37f3 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
@@ -504,7 +504,6 @@ &pcie_phy {
};
&pcie0 {
- ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
max-link-speed = <2>;
num-lanes = <2>;
vpcie0v9-supply = <&vcca0v9_s3>;
--
2.29.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 3/4] arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4
2020-11-18 7:17 ` [PATCH v2 3/4] arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4 Chen-Yu Tsai
@ 2020-12-14 15:18 ` Robin Murphy
0 siblings, 0 replies; 12+ messages in thread
From: Robin Murphy @ 2020-12-14 15:18 UTC (permalink / raw)
To: Chen-Yu Tsai, Shawn Lin, Lorenzo Pieralisi, Rob Herring,
Bjorn Helgaas, Heiko Stuebner
Cc: devicetree, linux-pci, linux-kernel, linux-rockchip,
Chen-Yu Tsai, Johan Jonker, linux-arm-kernel
On 2020-11-18 07:17, Chen-Yu Tsai wrote:
> From: Chen-Yu Tsai <wens@csie.org>
>
> Only the NanoPC T4 hs the PCIe reset pin routed to the SoC. For the
> NanoPi M4 family, no such signal is routed to the expansion header on
> the base board.
>
> As the schematics for the expansion board were not released, it is
> unclear how this is handled, but the likely answer is that the signal
> is always pulled high.
>
> Move the ep-gpios property from the common nanopi4.dtsi file to the
> board level nanopc-t4.dts file. This makes the nanopi-m4 lack ep-gpios,
> matching the board design.
>
> A companion patch "PCI: rockchip: make ep_gpio optional" for the Linux
> driver is required, as the driver currently requires the property to be
> present.
I concur that this is a more correct description per the schematics (the
SOM-RK3399 Dev Kit carrier board is the only other thing showing PERST#
wired up like this), and whatever the M4 hats are doing they clearly
aren't doing it with GPIO2_A4 either way.
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
> Fixes: e7a095908227 ("arm64: dts: rockchip: Add devicetree for NanoPC-T4")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
> arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts | 1 +
> arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 1 -
> 2 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
> index e0d75617bb7e..452728b82e42 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts
> @@ -95,6 +95,7 @@ map3 {
> };
>
> &pcie0 {
> + ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
> num-lanes = <4>;
> vpcie3v3-supply = <&vcc3v3_sys>;
> };
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> index 76a8b40a93c6..48ed4aaa37f3 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> @@ -504,7 +504,6 @@ &pcie_phy {
> };
>
> &pcie0 {
> - ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
> max-link-speed = <2>;
> num-lanes = <2>;
> vpcie0v9-supply = <&vcca0v9_s3>;
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 4/4] arm64: dts: rockchip: rk3399: Add NanoPi M4B
2020-11-18 7:17 [PATCH v2 0/4] arm64: rockchip: Fix PCIe ep-gpios requirement and Add Nanopi M4B Chen-Yu Tsai
` (2 preceding siblings ...)
2020-11-18 7:17 ` [PATCH v2 3/4] arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4 Chen-Yu Tsai
@ 2020-11-18 7:17 ` Chen-Yu Tsai
3 siblings, 0 replies; 12+ messages in thread
From: Chen-Yu Tsai @ 2020-11-18 7:17 UTC (permalink / raw)
To: Shawn Lin, Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas, Heiko Stuebner
Cc: devicetree, linux-pci, linux-kernel, linux-rockchip,
Chen-Yu Tsai, Johan Jonker, Robin Murphy, linux-arm-kernel
From: Chen-Yu Tsai <wens@csie.org>
The NanoPi M4B is a minor revision of the original M4.
The differences against the original Nanopi M4 that are common with the
other M4V2 revision include:
- microphone header removed
- power button added
- recovery button added
Additional changes specific to the M4B:
- USB 3.0 hub removed; board now has 2x USB 3.0 type-A ports and 2x
USB 2.0 ports
- ADB toggle switch added; this changes the top USB 3.0 host port to
a peripheral port
- Type-C port no longer supports data or PD
- WiFi/Bluetooth combo chip switched to AP6256, which supports BT 5.0
but only 1T1R (down from 2T2R) for WiFi
Add a new dts file for the new board revision that shows the difference
against the original.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3399-nanopi-m4b.dts | 52 +++++++++++++++++++
2 files changed, 53 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 5a53979b7057..fd47414e40eb 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -32,6 +32,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-kobol-helios64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-leez-p710.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4b.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts
new file mode 100644
index 000000000000..72182c58cc46
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * FriendlyElec NanoPi M4B board device tree source
+ *
+ * Copyright (c) 2020 Chen-Yu Tsai <wens@csie.org>
+ */
+
+/dts-v1/;
+#include "rk3399-nanopi-m4.dts"
+
+/ {
+ model = "FriendlyElec NanoPi M4B";
+ compatible = "friendlyarm,nanopi-m4b", "rockchip,rk3399";
+
+ adc-keys {
+ compatible = "adc-keys";
+ io-channels = <&saradc 1>;
+ io-channel-names = "buttons";
+ keyup-threshold-microvolt = <1500000>;
+ poll-interval = <100>;
+
+ recovery {
+ label = "Recovery";
+ linux,code = <KEY_VENDOR>;
+ press-threshold-microvolt = <18000>;
+ };
+ };
+};
+
+/* No USB type-C PD power manager */
+/delete-node/ &fusb0;
+
+&i2c4 {
+ status = "disabled";
+};
+
+&u2phy0_host {
+ phy-supply = <&vcc5v0_usb2>;
+};
+
+&u2phy0_otg {
+ phy-supply = <&vbus_typec>;
+};
+
+&u2phy1_otg {
+ phy-supply = <&vcc5v0_usb1>;
+};
+
+&vbus_typec {
+ enable-active-high;
+ gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
+};
--
2.29.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 12+ messages in thread