2019-10-19 04:37:12 -07:00
|
|
|
# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
|
|
|
|
%YAML 1.2
|
|
|
|
---
|
2023-03-30 10:32:56 -07:00
|
|
|
$id: http://devicetree.org/schemas/cache/qcom,llcc.yaml#
|
2019-10-19 04:37:12 -07:00
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
title: Last Level Cache Controller
|
|
|
|
|
|
|
|
maintainers:
|
2023-03-14 01:04:30 -07:00
|
|
|
- Bjorn Andersson <andersson@kernel.org>
|
2019-10-19 04:37:12 -07:00
|
|
|
|
|
|
|
description: |
|
|
|
|
LLCC (Last Level Cache Controller) provides last level of cache memory in SoC,
|
|
|
|
that can be shared by multiple clients. Clients here are different cores in the
|
|
|
|
SoC, the idea is to minimize the local caches at the clients and migrate to
|
|
|
|
common pool of memory. Cache memory is divided into partitions called slices
|
|
|
|
which are assigned to clients. Clients can query the slice details, activate
|
|
|
|
and deactivate them.
|
|
|
|
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
enum:
|
2023-08-30 03:56:49 -07:00
|
|
|
- qcom,qdu1000-llcc
|
2024-05-29 03:15:32 -07:00
|
|
|
- qcom,sa8775p-llcc
|
2019-10-19 04:37:13 -07:00
|
|
|
- qcom,sc7180-llcc
|
2021-02-25 02:30:17 -07:00
|
|
|
- qcom,sc7280-llcc
|
2022-05-02 14:54:05 -07:00
|
|
|
- qcom,sc8180x-llcc
|
|
|
|
- qcom,sc8280xp-llcc
|
2019-10-19 04:37:12 -07:00
|
|
|
- qcom,sdm845-llcc
|
2021-12-13 01:26:02 -07:00
|
|
|
- qcom,sm6350-llcc
|
2023-03-05 13:26:26 -07:00
|
|
|
- qcom,sm7150-llcc
|
2020-09-30 01:14:12 -07:00
|
|
|
- qcom,sm8150-llcc
|
2020-11-30 02:39:21 -07:00
|
|
|
- qcom,sm8250-llcc
|
2022-01-28 00:47:14 -07:00
|
|
|
- qcom,sm8350-llcc
|
2022-01-28 00:47:15 -07:00
|
|
|
- qcom,sm8450-llcc
|
2022-11-16 04:30:04 -07:00
|
|
|
- qcom,sm8550-llcc
|
2023-10-30 02:45:14 -07:00
|
|
|
- qcom,sm8650-llcc
|
2023-11-17 02:53:14 -07:00
|
|
|
- qcom,x1e80100-llcc
|
2019-10-19 04:37:12 -07:00
|
|
|
|
|
|
|
reg:
|
2023-03-14 01:04:31 -07:00
|
|
|
minItems: 2
|
|
|
|
maxItems: 9
|
2019-10-19 04:37:12 -07:00
|
|
|
|
|
|
|
reg-names:
|
2023-03-14 01:04:31 -07:00
|
|
|
minItems: 2
|
|
|
|
maxItems: 9
|
2019-10-19 04:37:12 -07:00
|
|
|
|
|
|
|
interrupts:
|
|
|
|
maxItems: 1
|
|
|
|
|
2023-08-30 03:56:49 -07:00
|
|
|
nvmem-cells:
|
|
|
|
items:
|
|
|
|
- description: Reference to an nvmem node for multi channel DDR
|
|
|
|
|
|
|
|
nvmem-cell-names:
|
|
|
|
items:
|
|
|
|
- const: multi-chan-ddr
|
|
|
|
|
2019-10-19 04:37:12 -07:00
|
|
|
required:
|
|
|
|
- compatible
|
|
|
|
- reg
|
|
|
|
- reg-names
|
|
|
|
|
2023-03-14 01:04:31 -07:00
|
|
|
allOf:
|
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,sc7180-llcc
|
|
|
|
- qcom,sm6350-llcc
|
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
items:
|
|
|
|
- description: LLCC0 base register region
|
|
|
|
- description: LLCC broadcast base register region
|
|
|
|
reg-names:
|
|
|
|
items:
|
|
|
|
- const: llcc0_base
|
|
|
|
- const: llcc_broadcast_base
|
|
|
|
|
2024-05-29 03:15:32 -07:00
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,sa8775p-llcc
|
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
items:
|
|
|
|
- description: LLCC0 base register region
|
|
|
|
- description: LLCC1 base register region
|
|
|
|
- description: LLCC2 base register region
|
|
|
|
- description: LLCC3 base register region
|
|
|
|
- description: LLCC4 base register region
|
|
|
|
- description: LLCC5 base register region
|
|
|
|
- description: LLCC broadcast base register region
|
|
|
|
reg-names:
|
|
|
|
items:
|
|
|
|
- const: llcc0_base
|
|
|
|
- const: llcc1_base
|
|
|
|
- const: llcc2_base
|
|
|
|
- const: llcc3_base
|
|
|
|
- const: llcc4_base
|
|
|
|
- const: llcc5_base
|
2023-03-14 01:04:31 -07:00
|
|
|
- const: llcc_broadcast_base
|
|
|
|
|
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,sc7280-llcc
|
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
items:
|
|
|
|
- description: LLCC0 base register region
|
|
|
|
- description: LLCC1 base register region
|
|
|
|
- description: LLCC broadcast base register region
|
|
|
|
reg-names:
|
|
|
|
items:
|
|
|
|
- const: llcc0_base
|
|
|
|
- const: llcc1_base
|
|
|
|
- const: llcc_broadcast_base
|
|
|
|
|
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
2024-06-18 23:16:41 -07:00
|
|
|
- qcom,qdu1000-llcc
|
2023-03-14 01:04:31 -07:00
|
|
|
- qcom,sc8180x-llcc
|
|
|
|
- qcom,sc8280xp-llcc
|
2023-11-17 02:53:14 -07:00
|
|
|
- qcom,x1e80100-llcc
|
2023-03-14 01:04:31 -07:00
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
items:
|
|
|
|
- description: LLCC0 base register region
|
|
|
|
- description: LLCC1 base register region
|
|
|
|
- description: LLCC2 base register region
|
|
|
|
- description: LLCC3 base register region
|
|
|
|
- description: LLCC4 base register region
|
|
|
|
- description: LLCC5 base register region
|
|
|
|
- description: LLCC6 base register region
|
|
|
|
- description: LLCC7 base register region
|
|
|
|
- description: LLCC broadcast base register region
|
|
|
|
reg-names:
|
|
|
|
items:
|
|
|
|
- const: llcc0_base
|
|
|
|
- const: llcc1_base
|
|
|
|
- const: llcc2_base
|
|
|
|
- const: llcc3_base
|
|
|
|
- const: llcc4_base
|
|
|
|
- const: llcc5_base
|
|
|
|
- const: llcc6_base
|
|
|
|
- const: llcc7_base
|
|
|
|
- const: llcc_broadcast_base
|
|
|
|
|
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,sdm845-llcc
|
|
|
|
- qcom,sm8150-llcc
|
|
|
|
- qcom,sm8250-llcc
|
|
|
|
- qcom,sm8350-llcc
|
2024-05-31 09:45:24 -07:00
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
items:
|
|
|
|
- description: LLCC0 base register region
|
|
|
|
- description: LLCC1 base register region
|
|
|
|
- description: LLCC2 base register region
|
|
|
|
- description: LLCC3 base register region
|
|
|
|
- description: LLCC broadcast base register region
|
|
|
|
reg-names:
|
|
|
|
items:
|
|
|
|
- const: llcc0_base
|
|
|
|
- const: llcc1_base
|
|
|
|
- const: llcc2_base
|
|
|
|
- const: llcc3_base
|
|
|
|
- const: llcc_broadcast_base
|
|
|
|
|
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
2023-03-14 01:04:31 -07:00
|
|
|
- qcom,sm8450-llcc
|
2023-05-16 19:18:49 -07:00
|
|
|
- qcom,sm8550-llcc
|
2024-05-31 09:45:24 -07:00
|
|
|
- qcom,sm8650-llcc
|
2023-03-14 01:04:31 -07:00
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
items:
|
|
|
|
- description: LLCC0 base register region
|
|
|
|
- description: LLCC1 base register region
|
|
|
|
- description: LLCC2 base register region
|
|
|
|
- description: LLCC3 base register region
|
2024-05-31 09:45:24 -07:00
|
|
|
- description: LLCC broadcast OR register region
|
|
|
|
- description: LLCC broadcast AND register region
|
2023-03-14 01:04:31 -07:00
|
|
|
reg-names:
|
|
|
|
items:
|
|
|
|
- const: llcc0_base
|
|
|
|
- const: llcc1_base
|
|
|
|
- const: llcc2_base
|
|
|
|
- const: llcc3_base
|
|
|
|
- const: llcc_broadcast_base
|
2024-05-31 09:45:24 -07:00
|
|
|
- const: llcc_broadcast_and_base
|
2023-03-14 01:04:31 -07:00
|
|
|
|
2020-03-25 15:05:41 -07:00
|
|
|
additionalProperties: false
|
|
|
|
|
2019-10-19 04:37:12 -07:00
|
|
|
examples:
|
|
|
|
- |
|
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
|
2023-03-14 01:04:31 -07:00
|
|
|
soc {
|
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
|
|
|
|
system-cache-controller@1100000 {
|
|
|
|
compatible = "qcom,sdm845-llcc";
|
|
|
|
reg = <0 0x01100000 0 0x50000>, <0 0x01180000 0 0x50000>,
|
|
|
|
<0 0x01200000 0 0x50000>, <0 0x01280000 0 0x50000>,
|
|
|
|
<0 0x01300000 0 0x50000>;
|
|
|
|
reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
|
|
|
|
"llcc3_base", "llcc_broadcast_base";
|
|
|
|
interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
2019-10-19 04:37:12 -07:00
|
|
|
};
|