162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2017 Marvell Technology Group Ltd. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Device Tree file for the Armada 80x0 SoC family 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci aliases { 1062306a36Sopenharmony_ci gpio1 = &cp1_gpio1; 1162306a36Sopenharmony_ci gpio2 = &cp0_gpio2; 1262306a36Sopenharmony_ci spi1 = &cp0_spi0; 1362306a36Sopenharmony_ci spi2 = &cp0_spi1; 1462306a36Sopenharmony_ci spi3 = &cp1_spi0; 1562306a36Sopenharmony_ci spi4 = &cp1_spi1; 1662306a36Sopenharmony_ci }; 1762306a36Sopenharmony_ci}; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci/* 2062306a36Sopenharmony_ci * Instantiate the master CP110 2162306a36Sopenharmony_ci */ 2262306a36Sopenharmony_ci#define CP11X_NAME cp0 2362306a36Sopenharmony_ci#define CP11X_BASE f2000000 2462306a36Sopenharmony_ci#define CP11X_PCIEx_MEM_BASE(iface) (0xf6000000 + (iface * 0x1000000)) 2562306a36Sopenharmony_ci#define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000 2662306a36Sopenharmony_ci#define CP11X_PCIE0_BASE f2600000 2762306a36Sopenharmony_ci#define CP11X_PCIE1_BASE f2620000 2862306a36Sopenharmony_ci#define CP11X_PCIE2_BASE f2640000 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci#include "armada-cp110.dtsi" 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#undef CP11X_NAME 3362306a36Sopenharmony_ci#undef CP11X_BASE 3462306a36Sopenharmony_ci#undef CP11X_PCIEx_MEM_BASE 3562306a36Sopenharmony_ci#undef CP11X_PCIEx_MEM_SIZE 3662306a36Sopenharmony_ci#undef CP11X_PCIE0_BASE 3762306a36Sopenharmony_ci#undef CP11X_PCIE1_BASE 3862306a36Sopenharmony_ci#undef CP11X_PCIE2_BASE 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci/* 4162306a36Sopenharmony_ci * Instantiate the slave CP110 4262306a36Sopenharmony_ci */ 4362306a36Sopenharmony_ci#define CP11X_NAME cp1 4462306a36Sopenharmony_ci#define CP11X_BASE f4000000 4562306a36Sopenharmony_ci#define CP11X_PCIEx_MEM_BASE(iface) (0xfa000000 + (iface * 0x1000000)) 4662306a36Sopenharmony_ci#define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000 4762306a36Sopenharmony_ci#define CP11X_PCIE0_BASE f4600000 4862306a36Sopenharmony_ci#define CP11X_PCIE1_BASE f4620000 4962306a36Sopenharmony_ci#define CP11X_PCIE2_BASE f4640000 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci#include "armada-cp110.dtsi" 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci#undef CP11X_NAME 5462306a36Sopenharmony_ci#undef CP11X_BASE 5562306a36Sopenharmony_ci#undef CP11X_PCIEx_MEM_BASE 5662306a36Sopenharmony_ci#undef CP11X_PCIEx_MEM_SIZE 5762306a36Sopenharmony_ci#undef CP11X_PCIE0_BASE 5862306a36Sopenharmony_ci#undef CP11X_PCIE1_BASE 5962306a36Sopenharmony_ci#undef CP11X_PCIE2_BASE 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci/* The 80x0 has two CP blocks, but uses only one block from each. */ 6262306a36Sopenharmony_ci&cp1_gpio1 { 6362306a36Sopenharmony_ci status = "okay"; 6462306a36Sopenharmony_ci}; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci&cp0_gpio2 { 6762306a36Sopenharmony_ci status = "okay"; 6862306a36Sopenharmony_ci}; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci&cp0_syscon0 { 7162306a36Sopenharmony_ci cp0_pinctrl: pinctrl { 7262306a36Sopenharmony_ci compatible = "marvell,armada-8k-cpm-pinctrl"; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci}; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci&cp1_syscon0 { 7762306a36Sopenharmony_ci cp1_pinctrl: pinctrl { 7862306a36Sopenharmony_ci compatible = "marvell,armada-8k-cps-pinctrl"; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci nand_pins: nand-pins { 8162306a36Sopenharmony_ci marvell,pins = 8262306a36Sopenharmony_ci "mpp0", "mpp1", "mpp2", "mpp3", 8362306a36Sopenharmony_ci "mpp4", "mpp5", "mpp6", "mpp7", 8462306a36Sopenharmony_ci "mpp8", "mpp9", "mpp10", "mpp11", 8562306a36Sopenharmony_ci "mpp15", "mpp16", "mpp17", "mpp18", 8662306a36Sopenharmony_ci "mpp19", "mpp20", "mpp21", "mpp22", 8762306a36Sopenharmony_ci "mpp23", "mpp24", "mpp25", "mpp26", 8862306a36Sopenharmony_ci "mpp27"; 8962306a36Sopenharmony_ci marvell,function = "dev"; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci nand_rb: nand-rb { 9362306a36Sopenharmony_ci marvell,pins = "mpp13", "mpp12"; 9462306a36Sopenharmony_ci marvell,function = "nf"; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci}; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci&cp1_crypto { 10062306a36Sopenharmony_ci /* 10162306a36Sopenharmony_ci * The cryptographic engine found on the cp110 10262306a36Sopenharmony_ci * master is enabled by default at the SoC 10362306a36Sopenharmony_ci * level. Because it is not possible as of now 10462306a36Sopenharmony_ci * to enable two cryptographic engines in 10562306a36Sopenharmony_ci * parallel, disable this one by default. 10662306a36Sopenharmony_ci */ 10762306a36Sopenharmony_ci status = "disabled"; 10862306a36Sopenharmony_ci}; 109