584d7c53bd
This commit introduces new subtarget for Marvell EBU Armada Cortex A53 processor based devices. The first device is Globalscale ESPRESSObin. Some hardware specs: SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53 processor up to 1.2GHz RAM: 512MB, 1GB or 2GB DDR3 Storage: SATA interface µSD card slot with footprint for an optional 4GB EMMC 4MB SPI NOR flash for bootloader Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports Connectors: USB 3.0 USB 2.0 µUSB port connected to PL2303SA (USB to serial bridge controller) for UART access Expansion: 2x 46-pin GPIO headers for accessories and shields with I2C, GPIOs, PWM, UART, SPI, MMC, etc MiniPCIe slot Misc: Reset button, JTAG interface Currently booting only from µSD card is supported. The boards depending on date of dispatch can come with various U-Boot versions. For the newest version 2017.03-armada-17.10 no manual intervention should be needed to boot OpenWrt image. For the older ones it's necessary to modify default U-Boot environment: 1. Interrupt boot process to run U-Boot command line, 2. Run following commands: (for version 2017.03-armada-17.06 and 2017.03-armada-17.08) setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000" saveenv (for version 2015.01-armada-17.02 and 2015.01-armada-17.04) setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait" setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}" saveenv 3. Poweroff, insert SD card with OpenWrt image, boot and enjoy. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
55 lines
2.2 KiB
Diff
55 lines
2.2 KiB
Diff
From patchwork Thu Sep 28 12:58:36 2017
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
Subject: [v2,5/7] PCI: aardvark: disable LOS state by default
|
|
X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
X-Patchwork-Id: 819590
|
|
Message-Id: <20170928125838.11887-6-thomas.petazzoni@free-electrons.com>
|
|
To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
|
|
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
|
|
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
|
|
<gregory.clement@free-electrons.com>,
|
|
Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
|
|
Yehuda Yitschak <yehuday@marvell.com>,
|
|
linux-arm-kernel@lists.infradead.org, Antoine Tenart
|
|
<antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
|
|
<miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
|
|
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Date: Thu, 28 Sep 2017 14:58:36 +0200
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
List-Id: <linux-pci.vger.kernel.org>
|
|
|
|
From: Victor Gu <xigu@marvell.com>
|
|
|
|
Some PCIe devices do not support LOS, and will cause timeouts if the
|
|
root complex forces the LOS state. This patch disables the LOS state
|
|
by default.
|
|
|
|
This is part of fixing bug
|
|
https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
|
|
reported as the user to be important to get a Intel 7260 mini-PCIe
|
|
WiFi card working.
|
|
|
|
Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
|
|
Signed-off-by: Victor Gu <xigu@marvell.com>
|
|
Reviewed-by: Evan Wang <xswang@marvell.com>
|
|
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
|
|
[Thomas: tweak commit log.]
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
---
|
|
drivers/pci/host/pci-aardvark.c | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
--- a/drivers/pci/host/pci-aardvark.c
|
|
+++ b/drivers/pci/host/pci-aardvark.c
|
|
@@ -368,8 +368,7 @@ static void advk_pcie_setup_hw(struct ad
|
|
|
|
advk_pcie_wait_for_link(pcie);
|
|
|
|
- reg = PCIE_CORE_LINK_L0S_ENTRY |
|
|
- (1 << PCIE_CORE_LINK_WIDTH_SHIFT);
|
|
+ reg = (1 << PCIE_CORE_LINK_WIDTH_SHIFT);
|
|
advk_writel(pcie, reg, PCIE_CORE_LINK_CTRL_STAT_REG);
|
|
|
|
reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG);
|