Tegra194: access XUSB_PADCTL registers on Si/FPGA platforms
Many simulation/emulation platforms do not support this hardware block leading to SErrors during register accesses. This patch conditionally accesses the registers from this block only on actual Si and FPGA platforms. Change-Id: Ic22817a8c9f81978ba88c5362bfd734a0040d35d Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
This commit is contained in:
parent
ceb12020fb
commit
db891f32f6
|
@ -430,18 +430,21 @@ int32_t tegra_soc_pwr_domain_on_finish(const psci_power_state_t *target_state)
|
|||
* in above registers to support both virtualization and
|
||||
* non-virtualization platforms
|
||||
*/
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_HOST);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_0, TEGRA_SID_XUSB_VF0);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_1, TEGRA_SID_XUSB_VF1);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_2, TEGRA_SID_XUSB_VF2);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_3, TEGRA_SID_XUSB_VF3);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_DEV_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_DEV);
|
||||
if (tegra_platform_is_silicon() || tegra_platform_is_fpga()) {
|
||||
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_HOST);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_0, TEGRA_SID_XUSB_VF0);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_1, TEGRA_SID_XUSB_VF1);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_2, TEGRA_SID_XUSB_VF2);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_3, TEGRA_SID_XUSB_VF3);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_DEV_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_DEV);
|
||||
}
|
||||
|
||||
/*
|
||||
* Reset power state info for the last core doing SC7
|
||||
|
|
|
@ -233,18 +233,21 @@ void plat_early_platform_setup(void)
|
|||
* above registers to support both virtualization and
|
||||
* non-virtualization platforms
|
||||
*/
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_HOST);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_0, TEGRA_SID_XUSB_VF0);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_1, TEGRA_SID_XUSB_VF1);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_2, TEGRA_SID_XUSB_VF2);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_3, TEGRA_SID_XUSB_VF3);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_DEV_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_DEV);
|
||||
if (tegra_platform_is_silicon() || tegra_platform_is_fpga()) {
|
||||
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_HOST);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_0, TEGRA_SID_XUSB_VF0);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_1, TEGRA_SID_XUSB_VF1);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_2, TEGRA_SID_XUSB_VF2);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_HOST_AXI_STREAMID_VF_3, TEGRA_SID_XUSB_VF3);
|
||||
mmio_write_32(TEGRA_XUSB_PADCTL_BASE +
|
||||
XUSB_PADCTL_DEV_AXI_STREAMID_PF_0, TEGRA_SID_XUSB_DEV);
|
||||
}
|
||||
}
|
||||
|
||||
/* Secure IRQs for Tegra194 */
|
||||
|
|
Loading…
Reference in New Issue