From d13d8ba1e4c04962a0a8594e5dbf441e578b1e3f Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Mon, 26 Mar 2018 15:55:55 +0800 Subject: arm64: a37xx: dts: add gpio head file including Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Ken Ma Signed-off-by: Stefan Roese --- arch/arm/dts/armada-37xx.dtsi | 1 + 1 file changed, 1 insertion(+) (limited to 'arch') diff --git a/arch/arm/dts/armada-37xx.dtsi b/arch/arm/dts/armada-37xx.dtsi index 690234234b..75a22deb4a 100644 --- a/arch/arm/dts/armada-37xx.dtsi +++ b/arch/arm/dts/armada-37xx.dtsi @@ -46,6 +46,7 @@ #include #include +#include / { model = "Marvell Armada 37xx SoC"; -- cgit v1.2.1 From d7d3ee5d64a59eee076e1d9653086d070806c2e8 Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Mon, 26 Mar 2018 15:55:57 +0800 Subject: arm64: a37xx: dts: Add pinctrl configuration for ESPRESSOBin board Reviewed-on: http://vgitil04.il.marvell.com:8080/40913 Reviewed-by: Wilson Ding Tested-by: Wilson Ding Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Ken Ma Signed-off-by: Stefan Roese --- arch/arm/dts/armada-3720-espressobin.dts | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'arch') diff --git a/arch/arm/dts/armada-3720-espressobin.dts b/arch/arm/dts/armada-3720-espressobin.dts index aa6587af66..5d8d27ebd1 100644 --- a/arch/arm/dts/armada-3720-espressobin.dts +++ b/arch/arm/dts/armada-3720-espressobin.dts @@ -89,6 +89,8 @@ ð0 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii_pins>; phy-mode = "rgmii"; phy_addr = <0x1>; fixed-link { @@ -98,6 +100,8 @@ }; &i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins>; status = "okay"; }; @@ -108,6 +112,8 @@ &spi0 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&spi_quad_pins>; spi-flash@0 { #address-cells = <1>; @@ -121,6 +127,8 @@ /* Exported on the micro USB connector CON32 through an FTDI */ &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; status = "okay"; }; -- cgit v1.2.1 From 4382e53e962a8f3fb34cd0747061987a477a5d64 Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Mon, 26 Mar 2018 15:55:58 +0800 Subject: arm64: a37xx: dts: Add additional pinctrl definition Add mmc pins, pcie pins and sdio pins definition and do these pins' configuration for DB board and espressobin board; Add uart2 pins configuration for DB board. Reviewed-on: http://vgitil04.il.marvell.com:8080/40914 Reviewed-by: Wilson Ding Tested-by: Wilson Ding Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Ken Ma Signed-off-by: Stefan Roese --- arch/arm/dts/armada-3720-db.dts | 4 ++++ arch/arm/dts/armada-37xx.dtsi | 14 ++++++++++++++ 2 files changed, 18 insertions(+) (limited to 'arch') diff --git a/arch/arm/dts/armada-3720-db.dts b/arch/arm/dts/armada-3720-db.dts index 5f06252e4e..88baf33f6b 100644 --- a/arch/arm/dts/armada-3720-db.dts +++ b/arch/arm/dts/armada-3720-db.dts @@ -100,6 +100,8 @@ &sdhci0 { bus-width = <4>; + pinctrl-names = "default"; + pinctrl-0 = <&sdio_pins>; status = "okay"; }; @@ -109,6 +111,8 @@ mmc-ddr-1_8v; mmc-hs400-1_8v; marvell,pad-type = "fixed-1-8v"; + pinctrl-names = "default"; + pinctrl-0 = <&mmc_pins>; status = "okay"; #address-cells = <1>; diff --git a/arch/arm/dts/armada-37xx.dtsi b/arch/arm/dts/armada-37xx.dtsi index 75a22deb4a..fab95bbc12 100644 --- a/arch/arm/dts/armada-37xx.dtsi +++ b/arch/arm/dts/armada-37xx.dtsi @@ -155,6 +155,11 @@ groups = "uart2"; function = "uart"; }; + + mmc_pins: mmc-pins { + groups = "emmc_nb"; + function = "emmc"; + }; }; pinctrl_sb: pinctrl-sb@18800 { @@ -178,6 +183,15 @@ function = "mii"; }; + sdio_pins: sdio-pins { + groups = "sdio_sb"; + function = "sdio"; + }; + + pcie_pins: pcie-pins { + groups = "pcie1"; + function = "pcie"; + }; }; usb3: usb@58000 { -- cgit v1.2.1 From 8aecbcd166d8ce81556e9bb4ab6b160f18a524d1 Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Mon, 26 Mar 2018 15:56:00 +0800 Subject: arm64: a37xx: dts: Fix the number of GPIO on south bridge The number of pins in South Bridge is 30 and not 29. There is a fix for the driver for the pinctrl, but a fix is also need at device tree level for the GPIO. Reviewed-on: http://vgitil04.il.marvell.com:8080/43286 Reviewed-by: Hua Jing Tested-by: iSoC Platform CI Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Ken Ma Signed-off-by: Stefan Roese --- arch/arm/dts/armada-37xx.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/arm/dts/armada-37xx.dtsi b/arch/arm/dts/armada-37xx.dtsi index fab95bbc12..d139a617a9 100644 --- a/arch/arm/dts/armada-37xx.dtsi +++ b/arch/arm/dts/armada-37xx.dtsi @@ -168,7 +168,7 @@ reg = <0x18800 0x100>, <0x18C00 0x20>; gpiosb: gpiosb { #gpio-cells = <2>; - gpio-ranges = <&pinctrl_sb 0 0 29>; + gpio-ranges = <&pinctrl_sb 0 0 30>; gpio-controller; interrupts = , -- cgit v1.2.1 From 30aecc02f7c19fc3bc066e6e6ccfafe183fed428 Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Mon, 26 Mar 2018 15:56:04 +0800 Subject: arm64: a37xx: dts: Correct mpp definitions This patch corrects below mpp definitions for armada 3720 DB board and ESPRESSOBin board: - "smi" pins group is added and "smi" function is set for eth0; - Now pcie pins are used as gpio to implement PCIe function in hardware, so "pcie" group function is changed to "gpio". Reviewed-on: http://vgitil04.il.marvell.com:8080/43287 Reviewed-by: Hua Jing Tested-by: iSoC Platform CI Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Ken Ma Signed-off-by: Stefan Roese --- arch/arm/dts/armada-3720-db.dts | 2 +- arch/arm/dts/armada-3720-espressobin.dts | 2 +- arch/arm/dts/armada-37xx.dtsi | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) (limited to 'arch') diff --git a/arch/arm/dts/armada-3720-db.dts b/arch/arm/dts/armada-3720-db.dts index 88baf33f6b..52fc134bad 100644 --- a/arch/arm/dts/armada-3720-db.dts +++ b/arch/arm/dts/armada-3720-db.dts @@ -82,7 +82,7 @@ ð0 { pinctrl-names = "default"; - pinctrl-0 = <&rgmii_pins>; + pinctrl-0 = <&rgmii_pins>, <&smi_pins>; status = "okay"; phy-mode = "rgmii"; }; diff --git a/arch/arm/dts/armada-3720-espressobin.dts b/arch/arm/dts/armada-3720-espressobin.dts index 5d8d27ebd1..4e70d885bc 100644 --- a/arch/arm/dts/armada-3720-espressobin.dts +++ b/arch/arm/dts/armada-3720-espressobin.dts @@ -90,7 +90,7 @@ ð0 { status = "okay"; pinctrl-names = "default"; - pinctrl-0 = <&rgmii_pins>; + pinctrl-0 = <&rgmii_pins>, <&smi_pins>; phy-mode = "rgmii"; phy_addr = <0x1>; fixed-link { diff --git a/arch/arm/dts/armada-37xx.dtsi b/arch/arm/dts/armada-37xx.dtsi index d139a617a9..301f9eecc4 100644 --- a/arch/arm/dts/armada-37xx.dtsi +++ b/arch/arm/dts/armada-37xx.dtsi @@ -183,6 +183,11 @@ function = "mii"; }; + smi_pins: smi-pins { + groups = "smi"; + function = "smi"; + }; + sdio_pins: sdio-pins { groups = "sdio_sb"; function = "sdio"; @@ -190,7 +195,7 @@ pcie_pins: pcie-pins { groups = "pcie1"; - function = "pcie"; + function = "gpio"; }; }; -- cgit v1.2.1 From fd81eb9edf0dac0b220972c2502d55fba9056b04 Mon Sep 17 00:00:00 2001 From: Ken Ma Date: Mon, 26 Mar 2018 15:56:06 +0800 Subject: Revert "arm64: a37xx: dts: Add pin control nodes to DT" The commit "arm64: mvebu: Add pinctrl nodes for Armada 3700" has added new pinctrl nodes. This reverts commit f7cab0f95b05ec6a66fe4796b9ad44406d0cc864. Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Ken Ma Signed-off-by: Stefan Roese --- arch/arm/dts/armada-37xx.dtsi | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'arch') diff --git a/arch/arm/dts/armada-37xx.dtsi b/arch/arm/dts/armada-37xx.dtsi index 301f9eecc4..9fc87c9272 100644 --- a/arch/arm/dts/armada-37xx.dtsi +++ b/arch/arm/dts/armada-37xx.dtsi @@ -286,20 +286,6 @@ status = "disabled"; }; - pinctl0: pinctl@13830 { /* north bridge */ - compatible = "marvell,armada-3700-pinctl"; - bank-name = "armada-3700-nb"; - reg = <0x13830 0x4>; - pin-count = <36>; - }; - - pinctl1: pinctl@18830 { /* south bridge */ - compatible = "marvell,armada-3700-pinctl"; - bank-name = "armada-3700-sb"; - reg = <0x18830 0x4>; - pin-count = <30>; - }; - comphy: comphy@18300 { compatible = "marvell,mvebu-comphy", "marvell,comphy-armada-3700"; reg = <0x18300 0x28>, -- cgit v1.2.1 From 92e7a6814c62c5b1cace880eab0cad9e92fbbff1 Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Mon, 26 Mar 2018 15:57:28 +0800 Subject: arm64: a37xx: populate pcie memory region This patch added a new region of 32MiB AT 0xe800.0000 to Armada37x0's memory map. This region is supposed to be mapped in MMU in order to enable the access to the PCI I/O or MEM resources. Signed-off-by: Wilson Ding Reviewed-on: http://vgitil04.il.marvell.com:8080/38724 Tested-by: iSoC Platform CI Reviewed-by: Victor Gu Signed-off-by: Ken Ma Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Stefan Roese --- arch/arm/mach-mvebu/armada3700/cpu.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'arch') diff --git a/arch/arm/mach-mvebu/armada3700/cpu.c b/arch/arm/mach-mvebu/armada3700/cpu.c index b9214f7bd9..ab4164cbe0 100644 --- a/arch/arm/mach-mvebu/armada3700/cpu.c +++ b/arch/arm/mach-mvebu/armada3700/cpu.c @@ -45,6 +45,14 @@ static struct mm_region mvebu_mem_map[] = { .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE }, + { + /* PCI regions */ + .phys = 0xe8000000UL, + .virt = 0xe8000000UL, + .size = 0x02000000UL, /* 32MiB master PCI space */ + .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE + }, { /* List terminator */ 0, -- cgit v1.2.1 From 9734104fe40e6abc0e6f3fb9ca8b34c69e5e5d7c Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Mon, 26 Mar 2018 15:57:31 +0800 Subject: arm64: a37xx: dts: enable pcie port This patch enabled PCIe port on both devel-board and espressobin board. Cc: Simon Glass Cc: Stefan Roese Signed-off-by: Wilson Ding Signed-off-by: Ken Ma Signed-off-by: Stefan Roese --- arch/arm/dts/armada-3720-db.dts | 8 ++++++++ arch/arm/dts/armada-3720-espressobin.dts | 7 +++++++ arch/arm/dts/armada-37xx.dtsi | 16 ++++++++++++++++ 3 files changed, 31 insertions(+) (limited to 'arch') diff --git a/arch/arm/dts/armada-3720-db.dts b/arch/arm/dts/armada-3720-db.dts index 52fc134bad..770c08aa7d 100644 --- a/arch/arm/dts/armada-3720-db.dts +++ b/arch/arm/dts/armada-3720-db.dts @@ -154,3 +154,11 @@ &usb3 { status = "okay"; }; + +/* CON17 */ +&pcie0 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie_pins>; + reset-gpio = <&gpiosb 3 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; diff --git a/arch/arm/dts/armada-3720-espressobin.dts b/arch/arm/dts/armada-3720-espressobin.dts index 4e70d885bc..7bfccb0435 100644 --- a/arch/arm/dts/armada-3720-espressobin.dts +++ b/arch/arm/dts/armada-3720-espressobin.dts @@ -141,3 +141,10 @@ &usb3 { status = "okay"; }; + +&pcie0 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie_pins>; + reset-gpio = <&gpiosb 3 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; diff --git a/arch/arm/dts/armada-37xx.dtsi b/arch/arm/dts/armada-37xx.dtsi index 9fc87c9272..54007428ed 100644 --- a/arch/arm/dts/armada-37xx.dtsi +++ b/arch/arm/dts/armada-37xx.dtsi @@ -294,5 +294,21 @@ max-lanes = <2>; }; }; + + pcie0: pcie@d0070000 { + compatible = "marvell,armada-37xx-pcie"; + reg = <0 0xd0070000 0 0x20000>; + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + num-lanes = <1>; + status = "disabled"; + + bus-range = <0 0xff>; + ranges = <0x82000000 0 0xe8000000 + 0 0xe8000000 0 0x1000000 /* Port 0 MEM */ + 0x81000000 0 0xe9000000 + 0 0xe9000000 0 0x10000>; /* Port 0 IO*/ + }; }; }; -- cgit v1.2.1