Skip to contentSkip to conversation

arm64: rockchip: Fix PCIe ep-gpios requirement and Add Nanopi M4B

PATCH Superseded Chen-Yu Tsai 4 participants 12 messages Nov 18, 2020 – Dec 14, 2020

Subsystems (5)

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

v2 cover arm64: rockchip: Fix PCIe ep-gpios requirement and Add Nanopi M4B

From: Chen-Yu Tsai <[email protected]>

Hi everyone,

This is v2 of my Nanopi M4B series. Changes since v1 include:

- Rewrite subject of patch 1 to match existing convention and reference 'ep-gpios' DT property instead of the 'ep_gpio' field

This series mainly adds support for the new Nanopi M4B, which is a newer variant of the Nanopi 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

While working on this, I found that for the M4 family, the PCIe reset pin (from the M.2 expansion board) was not wired to the SoC. Only the NanoPC T4 has this wired. This ended up in patches 1 and 3.

Patch 1 makes ep_gpio in the Rockchip PCIe driver optional. This property is optional in the DT binding, so this just makes the driver adhere to the binding.

Patch 2 adds a new compatible string for the new board.

Patch 3 moves the ep-gpios property of the pcie controller from the common nanopi4.dtsi file to the nanopc-t4.dts file.

Patch 4 adds a new device tree file for the new board. It includes the original device tree for the M4, and then lists the differences.

Given that patch 3 would make PCIe unusable without patch 1, I suggest merging patch 1 through the PCI tree as a fix for 5.10, and the rest for 5.11 through the Rockchip tree.

Please have a look. The changes are mostly trivial.

Regards
ChenYu

Chen-Yu Tsai (4):
PCI: rockchip: Make 'ep-gpios' DT property optional
dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B
arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4
arm64: dts: rockchip: rk3399: Add NanoPi M4B

 .../devicetree/bindings/arm/rockchip.yaml     |  1 +
 arch/arm64/boot/dts/rockchip/Makefile         |  1 +
 .../boot/dts/rockchip/rk3399-nanopc-t4.dts    |  1 +
 .../boot/dts/rockchip/rk3399-nanopi-m4b.dts   | 52 +++++++++++++++++++
 .../boot/dts/rockchip/rk3399-nanopi4.dtsi     |  1 -
 drivers/pci/controller/pcie-rockchip.c        |  2 +-
 6 files changed, 56 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts
Signature · 7 lines
2.29.1


_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip
#1 lore raw

PATCH v2 1/4 PCI: rockchip: Make 'ep-gpios' DT property optional

From: Chen-Yu Tsai <[email protected]>

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")

---
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(-)
drivers/pci/controller/pcie-rockchip.c +1 -1
index 904dec0d3a88..c95950e9004f 100644
@@ -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);
Signature · 1 line
2.29.1
maintainer Reviewed-by on v2 1/4
#2 lore raw

Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional

Am Mittwoch, 18. November 2020, 08:17:21 CET schrieb Chen-Yu Tsai:

Quoted 5 lines

From: Chen-Yu Tsai <[email protected]>

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.

Quoted 7 lines

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")

I'll pick up patches 2-4 separately, after giving Rob a chance to look at the simple binding.

Heiko

Quoted 23 lines

---
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(-)
drivers/pci/controller/pcie-rockchip.c +1 -1
index 904dec0d3a88..c95950e9004f 100644
@@ -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);
#3 lore raw

Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional

Ping

Quoted 10 lines · Heiko Stübner

Am Mittwoch, 18. November 2020, 08:17:21 CET schrieb Chen-Yu Tsai:

Quoted 8 lines

From: Chen-Yu Tsai <[email protected]>

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().

Quoted 6 lines
Quoted 4 lines
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")

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

Quoted 22 lines

I'll pick up patches 2-4 separately, after giving Rob a chance to look at the simple binding.

Heiko

Quoted 16 lines

---
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(-)
drivers/pci/controller/pcie-rockchip.c +0 -0
index 904dec0d3a88..c95950e9004f 100644
@@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
      }
 
Quoted 11 lines

drivers/pci/controller/pcie-rockchip.c int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) · line 124

Quoted 7 lines
drivers/pci/controller/pcie-rockchip.c +1 -1
      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-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip

maintainer
#4 lore raw

Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional

In reply to Chen-Yu Tsai
Quoted 27 lines · Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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")

---
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(-)
drivers/pci/controller/pcie-rockchip.c +0 -0
index 904dec0d3a88..c95950e9004f 100644

drivers/pci/controller/pcie-rockchip.c int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) · line 123

Quoted 7 lines
drivers/pci/controller/pcie-rockchip.c +1 -1
@@ -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.

Quoted 4 lines
drivers/pci/controller/pcie-rockchip.c +0 -1
                        return PTR_ERR(rockchip->ep_gpio);
--

2.29.1

#5 lore raw

Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional

Quoted 31 lines · Rob Herring
Quoted 29 lines · Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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")

---
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(-)
drivers/pci/controller/pcie-rockchip.c +0 -0
index 904dec0d3a88..c95950e9004f 100644
@@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
        }
 
Quoted 9 lines

drivers/pci/controller/pcie-rockchip.c int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) · line 123

Quoted 5 lines
drivers/pci/controller/pcie-rockchip.c +1 -1
        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

Quoted 4 lines
Quoted 4 lines
drivers/pci/controller/pcie-rockchip.c +0 -1
                        return PTR_ERR(rockchip->ep_gpio);
--

2.29.1

_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip

maintainer
#6 lore raw

Re: [PATCH v2 1/4] PCI: rockchip: Make 'ep-gpios' DT property optional

Quoted 43 lines · Chen-Yu Tsai
Quoted 31 lines · Rob Herring
Quoted 29 lines · Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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")

---
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(-)
drivers/pci/controller/pcie-rockchip.c +0 -0
index 904dec0d3a88..c95950e9004f 100644
@@ -118,7 +118,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
        }
 
Quoted 9 lines

drivers/pci/controller/pcie-rockchip.c int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) · line 123

Quoted 5 lines
drivers/pci/controller/pcie-rockchip.c +1 -1
        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.

Quoted 5 lines

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-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip

#7 lore raw

PATCH v2 2/4 dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B

In reply to Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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.

---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/rockchip.yaml +1 -0
index 37fd456170d2..1c0ec57ba860 100644
@@ -126,6 +126,7 @@ properties:
           - enum:
               - friendlyarm,nanopc-t4
               - friendlyarm,nanopi-m4
+              - friendlyarm,nanopi-m4b
               - friendlyarm,nanopi-neo4
           - const: rockchip,rk3399
 
Signature · 7 lines
2.29.1


_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip
maintainer Acked-by on v2 2/4
#8 lore raw

Re: [PATCH v2 2/4] dt-bindings: arm: rockchip: Add FriendlyARM NanoPi M4B

Quoted 21 lines · Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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

Quoted 7 lines

Add a compatible string for the new board revision.

---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 1 +
 1 file changed, 1 insertion(+)

_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip

#9 lore raw

PATCH v2 3/4 arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4

In reply to Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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")
---
 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(-)
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts +1 -0
index e0d75617bb7e..452728b82e42 100644
@@ -95,6 +95,7 @@ map3 {
 };
 
 &pcie0 {
+	ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
 	num-lanes = <4>;
 	vpcie3v3-supply = <&vcc3v3_sys>;
 };
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi +0 -1
index 76a8b40a93c6..48ed4aaa37f3 100644
@@ -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>;
Signature · 1 line
2.29.1
Reviewed-by on v2 3/4
#10 lore raw

Re: [PATCH v2 3/4] arm64: dts: rockchip: nanopi4: Move ep-gpios property to nanopc-t4

Quoted 10 lines · Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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.

Quoted 7 lines

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.

Quoted 25 lines
Fixes e7a095908227 ("arm64: dts: rockchip: Add devicetree for NanoPC-T4")
---
  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(-)
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts +1 -0
index e0d75617bb7e..452728b82e42 100644
@@ -95,6 +95,7 @@ map3 {
  };
 
  &pcie0 {
+	ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
  	num-lanes = <4>;
  	vpcie3v3-supply = <&vcc3v3_sys>;
  };
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi +0 -0
index 76a8b40a93c6..48ed4aaa37f3 100644

arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi &pcie_phy { · line 509

Quoted 7 lines
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi +0 -1
@@ -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-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip

#11 lore raw

PATCH v2 4/4 arm64: dts: rockchip: rk3399: Add NanoPi M4B

In reply to Chen-Yu Tsai

From: Chen-Yu Tsai <[email protected]>

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.

---
 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
arch/arm64/boot/dts/rockchip/Makefile +1 -0
index 5a53979b7057..fd47414e40eb 100644
@@ -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
arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts new file +52 -0

52 lines not on this page · raw message

Signature · 1 line
2.29.1