2023-04-19 19:25:30

by Daniel Golle

[permalink] [raw]
Subject: [PATCH 1/2] arm64: dts: mt7622: declare SPI-NAND present on BPI-R64

The SPI-NOR node in the device tree of the BananaPi R64 has most likely
been copied from the reference board's device tree even though the R64
comes with an SPI-NAND chip rather than SPI-NOR.

Setup the Serial NAND Flash Interface (SNFI) controller, enable
hardware BCH error detection and correction engine and add the SPI-NAND
chip including basic partitions,

Signed-off-by: Daniel Golle <[email protected]>
---
.../dts/mediatek/mt7622-bananapi-bpi-r64.dts | 39 ++++++++++++++++---
1 file changed, 34 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
index af3fe61e40938..d583e816684cf 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
@@ -248,14 +248,42 @@ &nandc {
status = "disabled";
};

-&nor_flash {
- pinctrl-names = "default";
- pinctrl-0 = <&spi_nor_pins>;
- status = "disabled";
+&bch {
+ status = "okay";
+};

+&snfi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&serial_nand_pins>;
+ status = "okay";
flash@0 {
- compatible = "jedec,spi-nor";
+ compatible = "spi-nand";
reg = <0>;
+ spi-tx-bus-width = <4>;
+ spi-rx-bus-width = <4>;
+ nand-ecc-engine = <&snfi>;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "bl2";
+ reg = <0x0 0x80000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "fip";
+ reg = <0x80000 0x200000>;
+ read-only;
+ };
+
+ ubi: partition@280000 {
+ label = "ubi";
+ reg = <0x280000 0x7d80000>;
+ };
+ };
};
};


base-commit: 13961ef828cbc254cc272221b7fc54851caa39a7
--
2.40.0


2023-05-29 14:50:01

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: mt7622: declare SPI-NAND present on BPI-R64



On 19/04/2023 21:15, Daniel Golle wrote:
> The SPI-NOR node in the device tree of the BananaPi R64 has most likely
> been copied from the reference board's device tree even though the R64
> comes with an SPI-NAND chip rather than SPI-NOR.
>
> Setup the Serial NAND Flash Interface (SNFI) controller, enable
> hardware BCH error detection and correction engine and add the SPI-NAND
> chip including basic partitions,
>
> Signed-off-by: Daniel Golle <[email protected]>

Applied, thanks

> ---
> .../dts/mediatek/mt7622-bananapi-bpi-r64.dts | 39 ++++++++++++++++---
> 1 file changed, 34 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
> index af3fe61e40938..d583e816684cf 100644
> --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
> @@ -248,14 +248,42 @@ &nandc {
> status = "disabled";
> };
>
> -&nor_flash {
> - pinctrl-names = "default";
> - pinctrl-0 = <&spi_nor_pins>;
> - status = "disabled";
> +&bch {
> + status = "okay";
> +};
>
> +&snfi {
> + pinctrl-names = "default";
> + pinctrl-0 = <&serial_nand_pins>;
> + status = "okay";
> flash@0 {
> - compatible = "jedec,spi-nor";
> + compatible = "spi-nand";
> reg = <0>;
> + spi-tx-bus-width = <4>;
> + spi-rx-bus-width = <4>;
> + nand-ecc-engine = <&snfi>;
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + label = "bl2";
> + reg = <0x0 0x80000>;
> + read-only;
> + };
> +
> + partition@80000 {
> + label = "fip";
> + reg = <0x80000 0x200000>;
> + read-only;
> + };
> +
> + ubi: partition@280000 {
> + label = "ubi";
> + reg = <0x280000 0x7d80000>;
> + };
> + };
> };
> };
>
>
> base-commit: 13961ef828cbc254cc272221b7fc54851caa39a7