diff mbox series

[2/4] arm: dts: bcm: Update bcm6846 and bcm96846

Message ID 20240930-bcmbca-nand-support-v1-2-e637c65de947@linaro.org
State New
Headers show
Series mtd: rawnand: brcmnand: Add BCMBCA support | expand

Commit Message

Linus Walleij Sept. 30, 2024, 1:24 p.m. UTC
Update the devicetrees for the BCM6846 and the reference
design BCM96846 from the Linux kernel so we get support
for NAND. (Linux v6.11-rc7).

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/dts/bcm6846.dtsi | 34 ++++++++++++++++++++++++++++++++++
 arch/arm/dts/bcm96846.dts | 14 ++++++++++++++
 2 files changed, 48 insertions(+)

Comments

Neil Armstrong Sept. 30, 2024, 1:29 p.m. UTC | #1
Hi,

On 30/09/2024 15:24, Linus Walleij wrote:
> Update the devicetrees for the BCM6846 and the reference
> design BCM96846 from the Linux kernel so we get support
> for NAND. (Linux v6.11-rc7).

Maybe time to switch to OF_UPSTREAM instead of syncing ?

Neil

> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>   arch/arm/dts/bcm6846.dtsi | 34 ++++++++++++++++++++++++++++++++++
>   arch/arm/dts/bcm96846.dts | 14 ++++++++++++++
>   2 files changed, 48 insertions(+)
> 
> diff --git a/arch/arm/dts/bcm6846.dtsi b/arch/arm/dts/bcm6846.dtsi
> index 8aa47a2583b2..ee361cb00b7c 100644
> --- a/arch/arm/dts/bcm6846.dtsi
> +++ b/arch/arm/dts/bcm6846.dtsi
> @@ -35,6 +35,8 @@
>   
>   		L2_0: l2-cache0 {
>   			compatible = "cache";
> +			cache-level = <2>;
> +			cache-unified;
>   		};
>   	};
>   
> @@ -60,6 +62,12 @@
>   			#clock-cells = <0>;
>   			clock-frequency = <200000000>;
>   		};
> +
> +		hsspi_pll: hsspi-pll {
> +			compatible = "fixed-clock";
> +			#clock-cells = <0>;
> +			clock-frequency = <400000000>;
> +		};
>   	};
>   
>   	psci {
> @@ -99,5 +107,31 @@
>   			clock-names = "refclk";
>   			status = "disabled";
>   		};
> +
> +		hsspi: spi@1000 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			compatible = "brcm,bcm6846-hsspi", "brcm,bcmbca-hsspi-v1.0";
> +			reg = <0x1000 0x600>;
> +			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&hsspi_pll &hsspi_pll>;
> +			clock-names = "hsspi", "pll";
> +			num-cs = <8>;
> +			status = "disabled";
> +		};
> +
> +		nand_controller: nand-controller@1800 {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
> +			reg = <0x1800 0x600>, <0x2000 0x10>;
> +			reg-names = "nand", "nand-int-base";
> +			status = "disabled";
> +
> +			nandcs: nand@0 {
> +				compatible = "brcm,nandcs";
> +				reg = <0>;
> +			};
> +		};
>   	};
>   };
> diff --git a/arch/arm/dts/bcm96846.dts b/arch/arm/dts/bcm96846.dts
> index c70ebccabc19..943896afb7cc 100644
> --- a/arch/arm/dts/bcm96846.dts
> +++ b/arch/arm/dts/bcm96846.dts
> @@ -28,3 +28,17 @@
>   &uart0 {
>   	status = "okay";
>   };
> +
> +&hsspi {
> +	status = "okay";
> +};
> +
> +&nand_controller {
> +	brcm,wp-not-connected;
> +	status = "okay";
> +};
> +
> +&nandcs {
> +	nand-on-flash-bbt;
> +	brcm,nand-ecc-use-strap;
> +};
>
diff mbox series

Patch

diff --git a/arch/arm/dts/bcm6846.dtsi b/arch/arm/dts/bcm6846.dtsi
index 8aa47a2583b2..ee361cb00b7c 100644
--- a/arch/arm/dts/bcm6846.dtsi
+++ b/arch/arm/dts/bcm6846.dtsi
@@ -35,6 +35,8 @@ 
 
 		L2_0: l2-cache0 {
 			compatible = "cache";
+			cache-level = <2>;
+			cache-unified;
 		};
 	};
 
@@ -60,6 +62,12 @@ 
 			#clock-cells = <0>;
 			clock-frequency = <200000000>;
 		};
+
+		hsspi_pll: hsspi-pll {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <400000000>;
+		};
 	};
 
 	psci {
@@ -99,5 +107,31 @@ 
 			clock-names = "refclk";
 			status = "disabled";
 		};
+
+		hsspi: spi@1000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "brcm,bcm6846-hsspi", "brcm,bcmbca-hsspi-v1.0";
+			reg = <0x1000 0x600>;
+			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&hsspi_pll &hsspi_pll>;
+			clock-names = "hsspi", "pll";
+			num-cs = <8>;
+			status = "disabled";
+		};
+
+		nand_controller: nand-controller@1800 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+			reg = <0x1800 0x600>, <0x2000 0x10>;
+			reg-names = "nand", "nand-int-base";
+			status = "disabled";
+
+			nandcs: nand@0 {
+				compatible = "brcm,nandcs";
+				reg = <0>;
+			};
+		};
 	};
 };
diff --git a/arch/arm/dts/bcm96846.dts b/arch/arm/dts/bcm96846.dts
index c70ebccabc19..943896afb7cc 100644
--- a/arch/arm/dts/bcm96846.dts
+++ b/arch/arm/dts/bcm96846.dts
@@ -28,3 +28,17 @@ 
 &uart0 {
 	status = "okay";
 };
+
+&hsspi {
+	status = "okay";
+};
+
+&nand_controller {
+	brcm,wp-not-connected;
+	status = "okay";
+};
+
+&nandcs {
+	nand-on-flash-bbt;
+	brcm,nand-ecc-use-strap;
+};