From nobody Fri Dec 19 17:53:11 2025 Received: from relay.smtp-ext.broadcom.com (unknown [192.19.166.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C62C171AE; Fri, 23 Feb 2024 03:48:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.19.166.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708660118; cv=none; b=G4zyoV57XcK/3rEXgd7pBgBeXbvtw3KapHXPaiK0EMcS4LsTy8wAWTi7+ANtAdD4G5wleO6x2PtLpvDc0varNcAZU4dqMKj8L6dcU+/s8c7GxjvlR7yGGmvDIQV4VtzWIrypjkNAa13OG8ufZBBYdC5SKzincc+8YIgSBiojxQY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708660118; c=relaxed/simple; bh=qOex9Lc+JQ8NRm94VQlXUYDsA9lrs7AJX95xppQfXoE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PltYX1lC+37D7L5nU+ZwcYriXdjOlHZFTn2s/dMkQr+cR0CO+moE/OC4jXr4qL6e/homft4aXv/9RONI5XeRSxBG3VpfQ8DtKiVuwaj8qomJUP7vakG+6M+ZS6vRNgDVBjYVv0cQhHQi0dYAFfxhTn9V+oLjkCPKsi6msvNDMGg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=IojI8iM/; arc=none smtp.client-ip=192.19.166.228 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="IojI8iM/" Received: from mail-lvn-it-01.lvn.broadcom.net (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id B0EF5C005937; Thu, 22 Feb 2024 19:48:30 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com B0EF5C005937 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1708660110; bh=qOex9Lc+JQ8NRm94VQlXUYDsA9lrs7AJX95xppQfXoE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IojI8iM/vWZfI+uGf3QujqTUoBgKAqpbc3iJTIwJKqRhxwq4G/JlqcrQXu+uvmNmH h1Lhz5xENPt5r3vqFqvf/7JhHRfRswGWkbUGpONiOuTvXxxqoM8VRe8b5rXj9/1iIP ayD4sqZbHDhcLFm2KjaOLH9LVgbPFqba/2G9oyDo= Received: from bcacpedev-irv-3.lvn.broadcom.net (bcacpedev-irv-3.lvn.broadcom.net [10.173.232.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail-lvn-it-01.lvn.broadcom.net (Postfix) with ESMTPSA id 4BC5618041CAC4; Thu, 22 Feb 2024 19:48:29 -0800 (PST) From: William Zhang To: Linux MTD List , Linux ARM List , Broadcom Kernel List Cc: f.fainelli@gmail.com, kursad.oney@broadcom.com, joel.peshkin@broadcom.com, anand.gore@broadcom.com, dregan@mail.com, kamal.dasu@broadcom.com, tomer.yacoby@broadcom.com, dan.beygelman@broadcom.com, William Zhang , David Regan , devicetree@vger.kernel.org, Conor Dooley , linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Rob Herring , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , Florian Fainelli Subject: [PATCH v6 08/13] arm64: dts: broadcom: bcmbca: Add NAND controller node Date: Thu, 22 Feb 2024 19:47:53 -0800 Message-Id: <20240223034758.13753-9-william.zhang@broadcom.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20240223034758.13753-1-william.zhang@broadcom.com> References: <20240223034758.13753-1-william.zhang@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for Broadcom STB NAND controller in BCMBCA ARMv8 chip dts files. Signed-off-by: William Zhang Reviewed-by: David Regan --- Changes in v6: None Changes in v5: None Changes in v4: - Move the board related dts setting from SoC dtsi to board dts Changes in v3: None Changes in v2: - Add nand controller node label for 4908 so it is consistent with other SoCs and can be referenced by board dts file arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 4 ++-- arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi | 14 ++++++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm63146.dtsi | 14 ++++++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi | 14 ++++++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm6813.dtsi | 14 ++++++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm6856.dtsi | 14 ++++++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi | 14 ++++++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dts | 10 ++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts | 10 ++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm963146.dts | 10 ++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts | 10 ++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm96813.dts | 10 ++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm96856.dts | 10 ++++++++++ arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts | 10 ++++++++++ 14 files changed, 156 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm4908.dtsi index 2f124b027bbf..336016e334d9 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi @@ -589,7 +589,7 @@ hsspi: spi@1000 { status =3D "disabled"; }; =20 - nand-controller@1800 { + nand_controller: nand-controller@1800 { #address-cells =3D <1>; #size-cells =3D <0>; compatible =3D "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmna= nd"; @@ -597,7 +597,7 @@ nand-controller@1800 { reg-names =3D "nand", "nand-int-base"; interrupts =3D ; interrupt-names =3D "nand_ctlrdy"; - status =3D "okay"; + status =3D "disabled"; =20 nandcs: nand@0 { compatible =3D "brcm,nandcs"; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm4912.dtsi index d658c81f7285..14b2adfb817c 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi @@ -138,6 +138,20 @@ hsspi: spi@1000 { status =3D "disabled"; }; =20 + nand_controller: nand-controller@1800 { + #address-cells =3D <1>; + #size-cells =3D <0>; + compatible =3D "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmna= nd"; + reg =3D <0x1800 0x600>, <0x2000 0x10>; + reg-names =3D "nand", "nand-int-base"; + status =3D "disabled"; + + nandcs: nand@0 { + compatible =3D "brcm,nandcs"; + reg =3D <0>; + }; + }; + uart0: serial@12000 { compatible =3D "arm,pl011", "arm,primecell"; reg =3D <0x12000 0x1000>; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm63146.dtsi b/arch/arm64= /boot/dts/broadcom/bcmbca/bcm63146.dtsi index 4f474d47022e..589b8a1efc72 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm63146.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63146.dtsi @@ -119,6 +119,20 @@ hsspi: spi@1000 { status =3D "disabled"; }; =20 + nand_controller: nand-controller@1800 { + #address-cells =3D <1>; + #size-cells =3D <0>; + compatible =3D "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmna= nd"; + reg =3D <0x1800 0x600>, <0x2000 0x10>; + reg-names =3D "nand", "nand-int-base"; + status =3D "disabled"; + + nandcs: nand@0 { + compatible =3D "brcm,nandcs"; + reg =3D <0>; + }; + }; + uart0: serial@12000 { compatible =3D "arm,pl011", "arm,primecell"; reg =3D <0x12000 0x1000>; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi b/arch/arm64= /boot/dts/broadcom/bcmbca/bcm63158.dtsi index 909f254dc47d..48d618e75866 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi @@ -137,6 +137,20 @@ hsspi: spi@1000 { status =3D "disabled"; }; =20 + nand_controller: nand-controller@1800 { + #address-cells =3D <1>; + #size-cells =3D <0>; + compatible =3D "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmna= nd"; + reg =3D <0x1800 0x600>, <0x2000 0x10>; + reg-names =3D "nand", "nand-int-base"; + status =3D "disabled"; + + nandcs: nand@0 { + compatible =3D "brcm,nandcs"; + reg =3D <0>; + }; + }; + uart0: serial@12000 { compatible =3D "arm,pl011", "arm,primecell"; reg =3D <0x12000 0x1000>; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6813.dtsi b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm6813.dtsi index 685ae32951c9..1d1303cf90f3 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6813.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6813.dtsi @@ -138,6 +138,20 @@ hsspi: spi@1000 { status =3D "disabled"; }; =20 + nand_controller: nand-controller@1800 { + #address-cells =3D <1>; + #size-cells =3D <0>; + compatible =3D "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmna= nd"; + reg =3D <0x1800 0x600>, <0x2000 0x10>; + reg-names =3D "nand", "nand-int-base"; + status =3D "disabled"; + + nandcs: nand@0 { + compatible =3D "brcm,nandcs"; + reg =3D <0>; + }; + }; + uart0: serial@12000 { compatible =3D "arm,pl011", "arm,primecell"; reg =3D <0x12000 0x1000>; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6856.dtsi b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm6856.dtsi index 820553ce541b..00c62c1e5df0 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6856.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6856.dtsi @@ -119,5 +119,19 @@ hsspi: spi@1000 { num-cs =3D <8>; status =3D "disabled"; }; + + nand_controller: nand-controller@1800 { + #address-cells =3D <1>; + #size-cells =3D <0>; + compatible =3D "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmna= nd"; + reg =3D <0x1800 0x600>, <0x2000 0x10>; + reg-names =3D "nand", "nand-int-base"; + status =3D "disabled"; + + nandcs: nand@0 { + compatible =3D "brcm,nandcs"; + reg =3D <0>; + }; + }; }; }; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm6858.dtsi index 0eb93c298297..caeaf428dc15 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi @@ -156,5 +156,19 @@ hsspi: spi@1000 { num-cs =3D <8>; status =3D "disabled"; }; + + nand_controller: nand-controller@1800 { + #address-cells =3D <1>; + #size-cells =3D <0>; + compatible =3D "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmna= nd"; + reg =3D <0x1800 0x600>, <0x2000 0x10>; + reg-names =3D "nand", "nand-int-base"; + status =3D "disabled"; + + nandcs: nand@0 { + compatible =3D "brcm,nandcs"; + reg =3D <0>; + }; + }; }; }; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dts b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm94908.dts index c4e6e71f6310..030ffa5364fb 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dts +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dts @@ -32,3 +32,13 @@ &uart0 { &hsspi { status =3D "okay"; }; + +&nand_controller { + brcm,wp-not-connected; + status =3D "okay"; +}; + +&nandcs { + nand-on-flash-bbt; + brcm,nand-ecc-use-strap; +}; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm94912.dts index e69cd683211a..4b779e6c22e1 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts @@ -32,3 +32,13 @@ &uart0 { &hsspi { status =3D "okay"; }; + +&nand_controller { + brcm,wp-not-connected; + status =3D "okay"; +}; + +&nandcs { + nand-on-flash-bbt; + brcm,nand-ecc-use-strap; +}; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm963146.dts b/arch/arm64= /boot/dts/broadcom/bcmbca/bcm963146.dts index db2c82d6dfd8..2851e8e41bf4 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm963146.dts +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963146.dts @@ -32,3 +32,13 @@ &uart0 { &hsspi { status =3D "okay"; }; + +&nand_controller { + brcm,wp-not-connected; + status =3D "okay"; +}; + +&nandcs { + nand-on-flash-bbt; + brcm,nand-ecc-use-strap; +}; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts b/arch/arm64= /boot/dts/broadcom/bcmbca/bcm963158.dts index 25c12bc63545..17dc594fe83f 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts @@ -32,3 +32,13 @@ &uart0 { &hsspi { status =3D "okay"; }; + +&nand_controller { + brcm,wp-not-connected; + status =3D "okay"; +}; + +&nandcs { + nand-on-flash-bbt; + brcm,nand-ecc-use-strap; +}; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96813.dts b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm96813.dts index faba21f03120..34832a734734 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96813.dts +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96813.dts @@ -32,3 +32,13 @@ &uart0 { &hsspi { status =3D "okay"; }; + +&nand_controller { + brcm,wp-not-connected; + status =3D "okay"; +}; + +&nandcs { + nand-on-flash-bbt; + brcm,nand-ecc-use-strap; +}; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96856.dts b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm96856.dts index 9808331eede2..e1396b5544b7 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96856.dts +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96856.dts @@ -32,3 +32,13 @@ &uart0 { &hsspi { status =3D "okay"; }; + +&nand_controller { + brcm,wp-not-connected; + status =3D "okay"; +}; + +&nandcs { + nand-on-flash-bbt; + brcm,nand-ecc-use-strap; +}; diff --git a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts b/arch/arm64/= boot/dts/broadcom/bcmbca/bcm96858.dts index 1f561c8e13b0..30bbf6f2917e 100644 --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts @@ -32,3 +32,13 @@ &uart0 { &hsspi { status =3D "okay"; }; + +&nand_controller { + brcm,wp-not-connected; + status =3D "okay"; +}; + +&nandcs { + nand-on-flash-bbt; + brcm,nand-ecc-use-strap; +}; --=20 2.37.3