mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 02:15:02 +00:00
Merge patch series "Add QOS support for J722S and AM62P"
Jayesh Choudhary <j-choudhary@ti.com> says: Add QOS support for DSS in TI K3 SoC to route the DSS traffic through RT queue by setting orderID as 15: - J722S - AM62P Link: https://lore.kernel.org/r/20241126070614.47136-1-j-choudhary@ti.com
This commit is contained in:
commit
b83ac2a541
10 changed files with 216 additions and 0 deletions
|
@ -159,6 +159,8 @@ void board_init_f(ulong dummy)
|
|||
}
|
||||
|
||||
spl_enable_cache();
|
||||
|
||||
setup_qos();
|
||||
debug("am62px_init: %s done\n", __func__);
|
||||
}
|
||||
|
||||
|
|
|
@ -165,6 +165,7 @@ void board_init_f(ulong dummy)
|
|||
{
|
||||
k3_spl_init();
|
||||
k3_mem_init();
|
||||
setup_qos();
|
||||
}
|
||||
|
||||
static u32 __get_backup_bootmedia(u32 devstat)
|
||||
|
|
|
@ -4,3 +4,4 @@
|
|||
|
||||
obj-y += clk-data.o
|
||||
obj-y += dev-data.o
|
||||
obj-y += am62p_qos_uboot.o
|
||||
|
|
42
arch/arm/mach-k3/r5/am62px/am62p_qos.h
Normal file
42
arch/arm/mach-k3/r5/am62px/am62p_qos.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Keystone3 Quality of service endpoint definitions
|
||||
* Auto generated by K3 Resource Partitioning Tool
|
||||
*
|
||||
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
|
||||
#define PULSAR_UL_WKUP_0_CPU0_RMST 0x45D14000
|
||||
#define PULSAR_UL_WKUP_0_CPU0_WMST 0x45D14400
|
||||
#define PULSAR_UL_WKUP_0_CPU0_PMST 0x45D14800
|
||||
#define PULSAR_UL_MAIN_0_CPU0_RMST 0x45D15000
|
||||
#define PULSAR_UL_MAIN_0_CPU0_WMST 0x45D15400
|
||||
#define PULSAR_UL_MAIN_0_CPU0_PMST 0x45D15800
|
||||
#define PULSAR_ULS_MCU_0_CPU0_RMST 0x45D18000
|
||||
#define PULSAR_ULS_MCU_0_CPU0_WMST 0x45D18400
|
||||
#define PULSAR_ULS_MCU_0_CPU0_PMST 0x45D18800
|
||||
#define SAM62A_A53_512KB_WRAP_MAIN_0_A53_QUAD_WRAP_CBA_AXI_R 0x45D20400
|
||||
#define SAM62A_A53_512KB_WRAP_MAIN_0_A53_QUAD_WRAP_CBA_AXI_W 0x45D20800
|
||||
#define DEBUGSS_K3_WRAP_CV0_MAIN_0_VBUSMW 0x45D21800
|
||||
#define DEBUGSS_K3_WRAP_CV0_MAIN_0_VBUSMR 0x45D21C00
|
||||
#define GIC500SS_1_4_MAIN_0_MEM_WR_VBUSM 0x45D22000
|
||||
#define GIC500SS_1_4_MAIN_0_MEM_RD_VBUSM 0x45D22400
|
||||
#define EMMCSD4SS_MAIN_0_EMMCSDSS_RD 0x45D23000
|
||||
#define EMMCSD4SS_MAIN_0_EMMCSDSS_WR 0x45D23400
|
||||
#define EMMCSD4SS_MAIN_1_EMMCSDSS_WR 0x45D23800
|
||||
#define EMMCSD4SS_MAIN_1_EMMCSDSS_RD 0x45D23C00
|
||||
#define SA3SS_AM62A_MAIN_0_CTXCACH_EXT_DMA 0x45D25400
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_PRI_M_VBUSM_R_ASYNC 0x45D26800
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_PRI_M_VBUSM_W_ASYNC 0x45D26C00
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_SEC_M_VBUSM_R_ASYNC 0x45D27000
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_SEC_M_VBUSM_W_ASYNC 0x45D27400
|
||||
#define SAM67_GPU_BXS464_WRAP_MAIN_0_M_VBUSM_W_SYNC 0x45D29800
|
||||
#define SAM67_GPU_BXS464_WRAP_MAIN_0_M_VBUSM_R_SYNC 0x45D2A000
|
||||
#define K3_DSS_UL_MAIN_0_VBUSM_DMA 0x45D30000
|
||||
#define K3_DSS_UL_MAIN_1_VBUSM_DMA 0x45D30400
|
||||
#define USB2SS_16FFC_MAIN_0_MSTR0 0x45D34000
|
||||
#define USB2SS_16FFC_MAIN_0_MSTW0 0x45D34400
|
||||
#define EMMC8SS_16FFC_MAIN_0_EMMCSS_WR 0x45D34800
|
||||
#define EMMC8SS_16FFC_MAIN_0_EMMCSS_RD 0x45D34C00
|
||||
#define USB2SS_16FFC_MAIN_1_MSTR0 0x45D35000
|
||||
#define USB2SS_16FFC_MAIN_1_MSTW0 0x45D35400
|
58
arch/arm/mach-k3/r5/am62px/am62p_qos_uboot.c
Normal file
58
arch/arm/mach-k3/r5/am62px/am62p_qos_uboot.c
Normal file
|
@ -0,0 +1,58 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* am62p Quality of Service (QoS) Configuration Data
|
||||
*
|
||||
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
|
||||
#include <asm/arch/k3-qos.h>
|
||||
#include "am62p_qos.h"
|
||||
|
||||
struct k3_qos_data qos_data[] = {
|
||||
/* modules_qosConfig0 - 1 endpoints, 4 channels */
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 0),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 1),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 2),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 3),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
|
||||
/* modules_qosConfig1 - 1 endpoints, 4 channels */
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 0),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 1),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 2),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 3),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
|
||||
/* Following registers set 1:1 mapping for orderID MAP1/MAP2
|
||||
* remap registers. orderID x is remapped to orderID x again
|
||||
* This is to ensure orderID from MAP register is unchanged
|
||||
*/
|
||||
|
||||
/* K3_DSS_UL_MAIN_0_VBUSM_DMA - 0 groups */
|
||||
|
||||
/* K3_DSS_UL_MAIN_1_VBUSM_DMA - 0 groups */
|
||||
};
|
||||
|
||||
u32 qos_count = ARRAY_SIZE(qos_data);
|
|
@ -4,3 +4,4 @@
|
|||
|
||||
obj-y += clk-data.o
|
||||
obj-y += dev-data.o
|
||||
obj-y += j722s_qos_uboot.o
|
||||
|
|
51
arch/arm/mach-k3/r5/j722s/j722s_qos.h
Normal file
51
arch/arm/mach-k3/r5/j722s/j722s_qos.h
Normal file
|
@ -0,0 +1,51 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Keystone3 Quality of service endpoint definitions
|
||||
* Auto generated by K3 Resource Partitioning Tool
|
||||
*
|
||||
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
|
||||
#define PULSAR_UL_WKUP_0_CPU0_RMST 0x45D14000
|
||||
#define PULSAR_UL_WKUP_0_CPU0_WMST 0x45D14400
|
||||
#define PULSAR_UL_WKUP_0_CPU0_PMST 0x45D14800
|
||||
#define PULSAR_UL_MAIN_0_CPU0_RMST 0x45D15000
|
||||
#define PULSAR_UL_MAIN_0_CPU0_WMST 0x45D15400
|
||||
#define PULSAR_UL_MAIN_0_CPU0_PMST 0x45D15800
|
||||
#define PULSAR_ULS_MCU_0_CPU0_RMST 0x45D18000
|
||||
#define PULSAR_ULS_MCU_0_CPU0_WMST 0x45D18400
|
||||
#define PULSAR_ULS_MCU_0_CPU0_PMST 0x45D18800
|
||||
#define SAM62A_A53_512KB_WRAP_MAIN_0_A53_QUAD_WRAP_CBA_AXI_R 0x45D20400
|
||||
#define SAM62A_A53_512KB_WRAP_MAIN_0_A53_QUAD_WRAP_CBA_AXI_W 0x45D20800
|
||||
#define DEBUGSS_K3_WRAP_CV0_MAIN_0_VBUSMW 0x45D21800
|
||||
#define DEBUGSS_K3_WRAP_CV0_MAIN_0_VBUSMR 0x45D21C00
|
||||
#define GIC500SS_1_4_MAIN_0_MEM_WR_VBUSM 0x45D22000
|
||||
#define GIC500SS_1_4_MAIN_0_MEM_RD_VBUSM 0x45D22400
|
||||
#define EMMCSD4SS_MAIN_0_EMMCSDSS_RD 0x45D23000
|
||||
#define EMMCSD4SS_MAIN_0_EMMCSDSS_WR 0x45D23400
|
||||
#define EMMCSD4SS_MAIN_1_EMMCSDSS_WR 0x45D23800
|
||||
#define EMMCSD4SS_MAIN_1_EMMCSDSS_RD 0x45D23C00
|
||||
#define USB3P0SS64_16FFC_MAIN_0_MSTR0 0x45D24800
|
||||
#define USB3P0SS64_16FFC_MAIN_0_MSTW0 0x45D24C00
|
||||
#define SA3SS_AM62A_MAIN_0_CTXCACH_EXT_DMA 0x45D25400
|
||||
#define K3_JPGENC_E5010_MAIN_0_M_VBUSM_W 0x45D25800
|
||||
#define K3_JPGENC_E5010_MAIN_0_M_VBUSM_R 0x45D25C00
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_PRI_M_VBUSM_R_ASYNC 0x45D26800
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_PRI_M_VBUSM_W_ASYNC 0x45D26C00
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_SEC_M_VBUSM_R_ASYNC 0x45D27000
|
||||
#define K3_VPU_WAVE521CL_MAIN_0_SEC_M_VBUSM_W_ASYNC 0x45D27400
|
||||
#define SAM67_C7XV_WRAP_MAIN_0_C7XV_SOC 0x45D27800
|
||||
#define SAM67_VPAC_WRAP_MAIN_0_LDC0_M_MST 0x45D28000
|
||||
#define PCIE_G2X1_64_MAIN_0_PCIE_MST_RD 0x45D29000
|
||||
#define PCIE_G2X1_64_MAIN_0_PCIE_MST_WR 0x45D29400
|
||||
#define SAM67_GPU_BXS464_WRAP_MAIN_0_M_VBUSM_W_SYNC 0x45D29800
|
||||
#define SAM67_GPU_BXS464_WRAP_MAIN_0_M_VBUSM_R_SYNC 0x45D2A000
|
||||
#define SAM67_C7XV_WRAP_MAIN_1_C7XV_SOC 0x45D2C000
|
||||
#define K3_DSS_UL_MAIN_0_VBUSM_DMA 0x45D30000
|
||||
#define K3_DSS_UL_MAIN_1_VBUSM_DMA 0x45D30400
|
||||
#define USB2SS_16FFC_MAIN_0_MSTR0 0x45D34000
|
||||
#define USB2SS_16FFC_MAIN_0_MSTW0 0x45D34400
|
||||
#define EMMC8SS_16FFC_MAIN_0_EMMCSS_WR 0x45D34800
|
||||
#define EMMC8SS_16FFC_MAIN_0_EMMCSS_RD 0x45D34C00
|
||||
#define USB2SS_16FFC_MAIN_1_MSTR0 0x45D35000
|
||||
#define USB2SS_16FFC_MAIN_1_MSTW0 0x45D35400
|
58
arch/arm/mach-k3/r5/j722s/j722s_qos_uboot.c
Normal file
58
arch/arm/mach-k3/r5/j722s/j722s_qos_uboot.c
Normal file
|
@ -0,0 +1,58 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* j722s Quality of Service (QoS) Configuration Data
|
||||
*
|
||||
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
|
||||
*/
|
||||
|
||||
#include <asm/arch/k3-qos.h>
|
||||
#include "j722s_qos.h"
|
||||
|
||||
struct k3_qos_data qos_data[] = {
|
||||
/* modules_qosConfig0 - 1 endpoints, 4 channels */
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 0),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 1),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 2),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_0_VBUSM_DMA, 3),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
|
||||
/* modules_qosConfig1 - 1 endpoints, 4 channels */
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 0),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 1),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 2),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
{
|
||||
.reg = K3_QOS_REG(K3_DSS_UL_MAIN_1_VBUSM_DMA, 3),
|
||||
.val = K3_QOS_VAL(0, 15, 0, 0, 0, 0),
|
||||
},
|
||||
|
||||
/* Following registers set 1:1 mapping for orderID MAP1/MAP2
|
||||
* remap registers. orderID x is remapped to orderID x again
|
||||
* This is to ensure orderID from MAP register is unchanged
|
||||
*/
|
||||
|
||||
/* K3_DSS_UL_MAIN_0_VBUSM_DMA - 0 groups */
|
||||
|
||||
/* K3_DSS_UL_MAIN_1_VBUSM_DMA - 0 groups */
|
||||
};
|
||||
|
||||
u32 qos_count = ARRAY_SIZE(qos_data);
|
|
@ -89,6 +89,7 @@ CONFIG_TI_SCI_PROTOCOL=y
|
|||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_OMAP24XX=y
|
||||
CONFIG_DM_MAILBOX=y
|
||||
CONFIG_K3_QOS=y
|
||||
CONFIG_K3_SEC_PROXY=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
|
|
|
@ -89,6 +89,7 @@ CONFIG_TI_SCI_PROTOCOL=y
|
|||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_OMAP24XX=y
|
||||
CONFIG_DM_MAILBOX=y
|
||||
CONFIG_K3_QOS=y
|
||||
CONFIG_K3_SEC_PROXY=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
|
|
Loading…
Add table
Reference in a new issue