mbox series

[v3,0/9] msm8937/msm8976/qcs404 icc patches

Message ID 20240709102728.15349-1-a39.skl@gmail.com
Headers show
Series msm8937/msm8976/qcs404 icc patches | expand

Message

Adam Skladowski July 9, 2024, 10:22 a.m. UTC
This series introduce new ICC drivers for some legacy socs
while at it also updates a bit of qcs404 driver which seems
to not receive much attention lately.
Please take in consideration i do not own any qcs404 board
so i cannot test anything else than if it compiles.

Changes since v2
================
1. Moved yamls from separate files into shared file.
2. Added commit to fix description of msm8953 yaml.
3. Reworded "Changes since v1" in cover.

Changes since v1
================
1. Reworded commit messages.
2. Dropped intf clocks from MSM8976 driver and yaml.
3. Aligned yamls to qcom,msm8953.yaml format.
4. Removed redundant nodes from MSM8939 examples.
5. Added regmap include into qcs404 regmap commit.
6. Added coeffs to MSM8976 driver.
7. Added MSM8953 ab_coeff patch.

Adam Skladowski (9):
  dt-bindings: interconnect: qcom: Add Qualcomm MSM8976 NoC
  interconnect: qcom: Add MSM8976 interconnect provider driver
  dt-bindings: interconnect: qcom: Add Qualcomm MSM8937 NoC
  interconnect: qcom: Add MSM8937 interconnect provider driver
  interconnect: qcom: qcs404: Mark AP-owned nodes as such
  interconnect: qcom: qcs404: Add regmaps and more bus descriptions
  dt-bindings: interconnect: qcom: msm8939: Fix example
  interconnect: qcom: msm8953: Add ab_coeff
  dt-bindings: interconnect: qcom: msm8953: Fix 'See also' in
    description

 .../bindings/interconnect/qcom,msm8939.yaml   |   25 +-
 .../bindings/interconnect/qcom,msm8953.yaml   |    3 +-
 drivers/interconnect/qcom/Kconfig             |   18 +
 drivers/interconnect/qcom/Makefile            |    4 +
 drivers/interconnect/qcom/msm8937.c           | 1372 ++++++++++++++++
 drivers/interconnect/qcom/msm8953.c           |    2 +
 drivers/interconnect/qcom/msm8976.c           | 1440 +++++++++++++++++
 drivers/interconnect/qcom/qcs404.c            |  127 +-
 .../dt-bindings/interconnect/qcom,msm8937.h   |   93 ++
 .../dt-bindings/interconnect/qcom,msm8976.h   |   97 ++
 10 files changed, 3165 insertions(+), 16 deletions(-)
 create mode 100644 drivers/interconnect/qcom/msm8937.c
 create mode 100644 drivers/interconnect/qcom/msm8976.c
 create mode 100644 include/dt-bindings/interconnect/qcom,msm8937.h
 create mode 100644 include/dt-bindings/interconnect/qcom,msm8976.h

Comments

Rob Herring July 10, 2024, 3:54 p.m. UTC | #1
On Tue, Jul 09, 2024 at 12:22:46PM +0200, Adam Skladowski wrote:
> Add bindings for Qualcomm MSM8976 Network-On-Chip interconnect devices.
> 
> Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
> ---
>  .../bindings/interconnect/qcom,msm8939.yaml   | 15 ++-
>  .../dt-bindings/interconnect/qcom,msm8976.h   | 97 +++++++++++++++++++
>  2 files changed, 107 insertions(+), 5 deletions(-)
>  create mode 100644 include/dt-bindings/interconnect/qcom,msm8976.h

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Rob Herring July 10, 2024, 3:56 p.m. UTC | #2
On Tue, Jul 09, 2024 at 12:22:48PM +0200, Adam Skladowski wrote:
> Add bindings for Qualcomm MSM8937 Network-On-Chip interconnect devices.

That is obvious. What would be useful is detailing how 8937 is similar 
to the existing devices.

> 
> Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
> ---
>  .../bindings/interconnect/qcom,msm8939.yaml   |  8 +-
>  .../dt-bindings/interconnect/qcom,msm8937.h   | 93 +++++++++++++++++++
>  2 files changed, 99 insertions(+), 2 deletions(-)
>  create mode 100644 include/dt-bindings/interconnect/qcom,msm8937.h
> 
> diff --git a/Documentation/devicetree/bindings/interconnect/qcom,msm8939.yaml b/Documentation/devicetree/bindings/interconnect/qcom,msm8939.yaml
> index 0641a3c992a5..d19e20247df8 100644
> --- a/Documentation/devicetree/bindings/interconnect/qcom,msm8939.yaml
> +++ b/Documentation/devicetree/bindings/interconnect/qcom,msm8939.yaml
> @@ -4,13 +4,13 @@
>  $id: http://devicetree.org/schemas/interconnect/qcom,msm8939.yaml#
>  $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
> -title: Qualcomm MSM8939/MSM8976 Network-On-Chip interconnect
> +title: Qualcomm MSM8937/MSM8939/MSM8976 Network-On-Chip interconnect
>  
>  maintainers:
>    - Konrad Dybcio <konradybcio@kernel.org>
>  
>  description:
> -  The Qualcomm MSM8939/MSM8976 interconnect providers support
> +  The Qualcomm MSM8937/MSM8939/MSM8976 interconnect providers support
>    adjusting the bandwidth requirements between the various NoC fabrics.
>  
>  allOf:
> @@ -19,6 +19,9 @@ allOf:
>  properties:
>    compatible:
>      enum:
> +      - qcom,msm8937-bimc
> +      - qcom,msm8937-pcnoc
> +      - qcom,msm8937-snoc
>        - qcom,msm8939-bimc
>        - qcom,msm8939-pcnoc
>        - qcom,msm8939-snoc
> @@ -43,6 +46,7 @@ patternProperties:
>      properties:
>        compatible:
>          enum:
> +          - qcom,msm8937-snoc-mm
>            - qcom,msm8939-snoc-mm
>            - qcom,msm8976-snoc-mm
>  
> diff --git a/include/dt-bindings/interconnect/qcom,msm8937.h b/include/dt-bindings/interconnect/qcom,msm8937.h
> new file mode 100644
> index 000000000000..98b8a4637aab
> --- /dev/null
> +++ b/include/dt-bindings/interconnect/qcom,msm8937.h
> @@ -0,0 +1,93 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * Qualcomm MSM8937 interconnect IDs
> + */
> +
> +#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_MSM8937_H
> +#define __DT_BINDINGS_INTERCONNECT_QCOM_MSM8937_H
> +
> +/* BIMC fabric */
> +#define MAS_APPS_PROC		0
> +#define MAS_OXILI		1
> +#define MAS_SNOC_BIMC_0		2
> +#define MAS_SNOC_BIMC_2		3
> +#define MAS_SNOC_BIMC_1		4
> +#define MAS_TCU_0		5
> +#define SLV_EBI			6
> +#define SLV_BIMC_SNOC		7
> +
> +/* PCNOC fabric */
> +#define MAS_SPDM		0
> +#define MAS_BLSP_1		1
> +#define MAS_BLSP_2		2
> +#define MAS_USB_HS1		3
> +#define MAS_XI_USB_HS1		4
> +#define MAS_CRYPTO		5
> +#define MAS_SDCC_1		6
> +#define MAS_SDCC_2		7
> +#define MAS_SNOC_PCNOC		8
> +#define PCNOC_M_0		9
> +#define PCNOC_M_1		10
> +#define PCNOC_INT_0		11
> +#define PCNOC_INT_1		12
> +#define PCNOC_INT_2		13
> +#define PCNOC_INT_3		14
> +#define PCNOC_S_0		15
> +#define PCNOC_S_1		16
> +#define PCNOC_S_2		17
> +#define PCNOC_S_3		18
> +#define PCNOC_S_4		19
> +#define PCNOC_S_6		20
> +#define PCNOC_S_7		21
> +#define PCNOC_S_8		22
> +#define SLV_SDCC_2		23
> +#define SLV_SPDM		24
> +#define SLV_PDM			25
> +#define SLV_PRNG		26
> +#define SLV_TCSR		27
> +#define SLV_SNOC_CFG		28
> +#define SLV_MESSAGE_RAM		29
> +#define SLV_CAMERA_SS_CFG	30
> +#define SLV_DISP_SS_CFG		31
> +#define SLV_VENUS_CFG		32
> +#define SLV_GPU_CFG		33
> +#define SLV_TLMM		34
> +#define SLV_BLSP_1		35
> +#define SLV_BLSP_2		36
> +#define SLV_PMIC_ARB		37
> +#define SLV_SDCC_1		38
> +#define SLV_CRYPTO_0_CFG	39
> +#define SLV_USB_HS		40
> +#define SLV_TCU			41
> +#define SLV_PCNOC_SNOC		42
> +
> +/* SNOC fabric */
> +#define MAS_QDSS_BAM		0
> +#define MAS_BIMC_SNOC		1
> +#define MAS_PCNOC_SNOC		2
> +#define MAS_QDSS_ETR		3
> +#define QDSS_INT		4
> +#define SNOC_INT_0		5
> +#define SNOC_INT_1		6
> +#define SNOC_INT_2		7
> +#define SLV_KPSS_AHB		8
> +#define SLV_WCSS		9
> +#define SLV_SNOC_BIMC_1		10
> +#define SLV_IMEM		11
> +#define SLV_SNOC_PCNOC		12
> +#define SLV_QDSS_STM		13
> +#define SLV_CATS_1		14
> +#define SLV_LPASS		15
> +
> +/* SNOC-MM fabric */
> +#define MAS_JPEG		0
> +#define MAS_MDP			1
> +#define MAS_VENUS		2
> +#define MAS_VFE0		3
> +#define MAS_VFE1		4
> +#define MAS_CPP			5
> +#define SLV_SNOC_BIMC_0		6
> +#define SLV_SNOC_BIMC_2		7
> +#define SLV_CATS_0		8
> +
> +#endif /* __DT_BINDINGS_INTERCONNECT_QCOM_MSM8937_H */
> -- 
> 2.45.2
>
Rob Herring July 10, 2024, 3:58 p.m. UTC | #3
On Tue, 09 Jul 2024 12:22:48 +0200, Adam Skladowski wrote:
> Add bindings for Qualcomm MSM8937 Network-On-Chip interconnect devices.
> 
> Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
> ---
>  .../bindings/interconnect/qcom,msm8939.yaml   |  8 +-
>  .../dt-bindings/interconnect/qcom,msm8937.h   | 93 +++++++++++++++++++
>  2 files changed, 99 insertions(+), 2 deletions(-)
>  create mode 100644 include/dt-bindings/interconnect/qcom,msm8937.h
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Rob Herring July 10, 2024, 4:08 p.m. UTC | #4
On Tue, 09 Jul 2024 12:22:52 +0200, Adam Skladowski wrote:
> For now example list snoc_mm as children of bimc which is obviously
> not valid, drop bimc and move snoc_mm into snoc.
> 
> Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
> ---
>  .../devicetree/bindings/interconnect/qcom,msm8939.yaml      | 6 ------
>  1 file changed, 6 deletions(-)
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Rob Herring July 10, 2024, 4:11 p.m. UTC | #5
On Tue, 09 Jul 2024 12:22:54 +0200, Adam Skladowski wrote:
> "See also" in description seems to be wrongly defined,
> make it inline with other yamls.
> 
> Fixes: 791ed23f735b ("dt-bindings: interconnect: qcom: Add Qualcomm MSM8953 NoC")
> Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
> ---
>  .../devicetree/bindings/interconnect/qcom,msm8953.yaml         | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>