[PATCH] ARM: dts: at91: sama7g5: Add NAND support
Nicolas Ferre
nicolas.ferre at microchip.com
Thu Feb 24 07:04:12 PST 2022
On 11/01/2022 at 14:05, Tudor Ambarus wrote:
> Add NAND support. The sama7g5's SMC IP is the same as sama5d2's with
> a slightly change: it provides a synchronous clock output (SMC clock)
> that is dedicated to FPGA usage. Since this doesn't interfere with the SMC
> NAND configuration, thus code will not be added in the current nand driver
> to address the FPGA usage, use the sama5d2's compatible and choose not to
> introduce dedicated compatibles for sama7g5.
> Tested with Micron MT29F4G08ABAEAWP NAND flash.
>
> Signed-off-by: Tudor Ambarus <tudor.ambarus at microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
> ---
> The patch depends on the following patch:
> https://lore.kernel.org/linux-clk/20220111125310.902856-1-tudor.ambarus@microchip.com/T/#u
Patch seems taken, so I add this one to at91-dt branch for 5.18 merge
window.
Best regards,
Nicolas
>
> arch/arm/boot/dts/sama7g5.dtsi | 55 ++++++++++++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
> diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi
> index eddcfbf4d223..7972cb8c2562 100644
> --- a/arch/arm/boot/dts/sama7g5.dtsi
> +++ b/arch/arm/boot/dts/sama7g5.dtsi
> @@ -75,6 +75,45 @@ soc {
> #size-cells = <1>;
> ranges;
>
> + nfc_sram: sram at 600000 {
> + compatible = "mmio-sram";
> + no-memory-wc;
> + reg = <0x00600000 0x2400>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0 0x00600000 0x2400>;
> + };
> +
> + nfc_io: nfc-io at 10000000 {
> + compatible = "atmel,sama5d3-nfc-io", "syscon";
> + reg = <0x10000000 0x8000000>;
> + };
> +
> + ebi: ebi at 40000000 {
> + compatible = "atmel,sama5d3-ebi";
> + #address-cells = <2>;
> + #size-cells = <1>;
> + atmel,smc = <&hsmc>;
> + reg = <0x40000000 0x20000000>;
> + ranges = <0x0 0x0 0x40000000 0x8000000
> + 0x1 0x0 0x48000000 0x8000000
> + 0x2 0x0 0x50000000 0x8000000
> + 0x3 0x0 0x58000000 0x8000000>;
> + clocks = <&pmc PMC_TYPE_CORE PMC_MCK1>;
> + status = "disabled";
> +
> + nand_controller: nand-controller {
> + compatible = "atmel,sama5d3-nand-controller";
> + atmel,nfc-sram = <&nfc_sram>;
> + atmel,nfc-io = <&nfc_io>;
> + ecc-engine = <&pmecc>;
> + #address-cells = <2>;
> + #size-cells = <1>;
> + ranges;
> + status = "disabled";
> + };
> + };
> +
> securam: securam at e0000000 {
> compatible = "microchip,sama7g5-securam", "atmel,sama5d2-securam", "mmio-sram";
> reg = <0xe0000000 0x4000>;
> @@ -181,6 +220,22 @@ tcb1: timer at e0800000 {
> clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
> };
>
> + hsmc: hsmc at e0808000 {
> + compatible = "atmel,sama5d2-smc", "syscon", "simple-mfd";
> + reg = <0xe0808000 0x1000>;
> + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + pmecc: ecc-engine at e0808070 {
> + compatible = "atmel,sama5d2-pmecc";
> + reg = <0xe0808070 0x490>,
> + <0xe0808500 0x200>;
> + };
> + };
> +
> qspi0: spi at e080c000 {
> compatible = "microchip,sama7g5-ospi";
> reg = <0xe080c000 0x400>, <0x20000000 0x10000000>;
--
Nicolas Ferre
More information about the linux-arm-kernel
mailing list