Hello All, This series adds the QoS for DSS on J721E, J721S2 and J784S4 family of SoCs.
Before adding the support, cleanup is done for AM62A QoS support[0] and common bit mask defines are moved to the common file so that they are not defined every time we add QoS support for a new K3 platform. Further, to simplify the logic, macros are used to populate the value of registers and values as suggested by Andrew[1] Before adding QoS support, we need to map the ORDERID to the traffic type (RT/NRT) in J7 platforms. On J721E, ORDERID 0-7 and 8-15 are two groups which needs to be mapped. We are mapping 0-7 to NRT and 8-15 ORDERID as RT for both NAVSS0_NBSS_NB0 and NAVSS0_NBSS_NB1 On J721S2 and J784S4, we have 3 groups, 0-3, 4-9, 10-15. Here we are mapping first two groups as NRT and 10-15 as RT for both NAVSS0_NBSS_NB0 and NAVSS0_NBSS_NB1. Changelog v1->v2: - Simplify the logic to populate values[1] - Remove ASEL type which is to be taken up separately as suggested in [2] v1 patch link: <https://patchwork.ozlabs.org/project/uboot/list/?series=407729&state=%2A&archive=both> [0]: https://lore.kernel.org/all/20230414072725.8802-1-a-bhat...@ti.com/ [1]: https://patchwork.ozlabs.org/project/uboot/patch/20240522113726.302908-2-j-choudh...@ti.com/#3315446 [2]: https://patchwork.ozlabs.org/project/uboot/patch/20240522113726.302908-3-j-choudh...@ti.com/#3315467 Jayesh Choudhary (8): arm: mach-k3: am62a_qos: Move common bit MACROS to k3_qos header file arm: mach-k3: am62a: Simplify the logic for QOS reg and val propagation arm: mach-k3: j721e: Enable QoS for DSS arm: mach-k3: j721s2: Enable QoS for DSS arm: mach-k3: j784s4: Enable QoS for DSS configs: j721e_evm_r5_defconfig: Enable CONFIG_K3_QOS configs: j721s2_evm_r5_defconfig: Enable CONFIG_K3_QOS configs: j784s4_evm_r5_defconfig: Enable CONFIG_K3_QOS arch/arm/mach-k3/include/mach/k3-qos.h | 20 +++ arch/arm/mach-k3/j721e/j721e_init.c | 28 ++++ arch/arm/mach-k3/j721s2/j721s2_init.c | 30 +++++ arch/arm/mach-k3/j784s4/j784s4_init.c | 30 +++++ arch/arm/mach-k3/r5/am62ax/am62a_qos.h | 74 ---------- arch/arm/mach-k3/r5/am62ax/am62a_qos_uboot.c | 24 ++-- arch/arm/mach-k3/r5/j721e/Makefile | 1 + arch/arm/mach-k3/r5/j721e/j721e_qos.h | 96 +++++++++++++ arch/arm/mach-k3/r5/j721e/j721e_qos_uboot.c | 126 ++++++++++++++++++ arch/arm/mach-k3/r5/j721s2/Makefile | 1 + arch/arm/mach-k3/r5/j721s2/j721s2_qos.h | 79 +++++++++++ arch/arm/mach-k3/r5/j721s2/j721s2_qos_uboot.c | 110 +++++++++++++++ arch/arm/mach-k3/r5/j784s4/Makefile | 1 + arch/arm/mach-k3/r5/j784s4/j784s4_qos.h | 83 ++++++++++++ arch/arm/mach-k3/r5/j784s4/j784s4_qos_uboot.c | 110 +++++++++++++++ configs/j721e_evm_r5_defconfig | 1 + configs/j721s2_evm_r5_defconfig | 1 + configs/j784s4_evm_r5_defconfig | 1 + 18 files changed, 730 insertions(+), 86 deletions(-) create mode 100644 arch/arm/mach-k3/r5/j721e/j721e_qos.h create mode 100644 arch/arm/mach-k3/r5/j721e/j721e_qos_uboot.c create mode 100644 arch/arm/mach-k3/r5/j721s2/j721s2_qos.h create mode 100644 arch/arm/mach-k3/r5/j721s2/j721s2_qos_uboot.c create mode 100644 arch/arm/mach-k3/r5/j784s4/j784s4_qos.h create mode 100644 arch/arm/mach-k3/r5/j784s4/j784s4_qos_uboot.c -- 2.25.1