
Hi Sylwester,
On Fri, 2020-04-24 at 18:50 +0200, Sylwester Nawrocki wrote:
This patch adds basic driver for the Broadcom STB PCIe host controller. The code is based on Linux upstream driver (pcie-brcmstb.c) with MSI handling removed. The inbound access memory region is not currently parsed from dma-ranges DT property and a fixed 4GB region is used.
The patch has been tested on RPI4 board, i.e. on BCM2711 SoC with VL805 USB Host Controller.
Signed-off-by: Nicolas Saenz Julienne nsaenzjulienne@suse.de Signed-off-by: Sylwester Nawrocki s.nawrocki@samsung.com
Changes since RFC:
- reworked to align with current Linux mainline version and u-boot driver by Nicolas Saenz Julienne
[...]
- /*
* For config space accesses on the RC, show the right class for
* a PCIe-PCIe bridge (the default setting is to be EP mode).
*/
- tmp = readl(base + PCIE_RC_CFG_PRIV1_ID_VAL3);
- u32p_replace_bits(&tmp, 0x060400,
PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK);
- writel(tmp, base + PCIE_RC_CFG_PRIV1_ID_VAL3);
- if (pcie->ssc) {
ret = brcm_pcie_set_ssc(base);
This call should be like this:
ret = brcm_pcie_set_ssc(pcie);
It builds alright since base is a void pointer. But it obvioulsy causes issues further down the line.
Regards, Nicolas