mirror of
https://github.com/torvalds/linux.git
synced 2026-05-04 22:43:04 -04:00
Pull SoC driver updates from Arnd Bergmann:
"Nothing particular important in the SoC driver updates, just the usual
improvements to for drivers/soc and a couple of subsystems that don't
fit anywhere else:
- The largest set of updates is for Qualcomm SoC drivers, extending
the set of supported features for additional SoCs in the QSEECOM,
LLCC and socinfo drivers.a
- The ti_sci firmware driver gains support for power managment
- The drivers/reset subsystem sees a rework of the microchip sparx5
and amlogic reset drivers to support additional chips, plus a few
minor updates on other platforms
- The SCMI firmware interface driver gains support for two protocol
extensions, allowing more flexible use of the shared memory area
and new DT binding properties for configurability.
- Mediatek SoC drivers gain support for power managment on the MT8188
SoC and a new driver for DVFS.
- The AMD/Xilinx ZynqMP SoC drivers gain support for system reboot
and a few bugfixes
- The Hisilicon Kunpeng HCCS driver gains support for configuring
lanes through sysfs
Finally, there are cleanups and minor fixes for drivers/{soc, bus,
memory}, including changing back the .remove_new callback to .remove,
as well as a few other updates for freescale (powerpc) soc drivers,
NXP i.MX soc drivers, cznic turris platform driver, memory controller
drviers, TI OMAP SoC drivers, and Tegra firmware drivers"
* tag 'soc-drivers-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (116 commits)
soc: fsl: cpm1: qmc: Set the ret error code on platform_get_irq() failure
soc: fsl: rcpm: fix missing of_node_put() in copy_ippdexpcr1_setting()
soc: fsl: cpm1: tsa: switch to for_each_available_child_of_node_scoped()
platform: cznic: turris-omnia-mcu: Rename variable holding GPIO line names
platform: cznic: turris-omnia-mcu: Document the driver private data structure
firmware: turris-mox-rwtm: Document the driver private data structure
bus: Switch back to struct platform_driver::remove()
soc: qcom: ice: Remove the device_link field in qcom_ice
drm/msm/adreno: Setup SMMU aparture for per-process page table
firmware: qcom: scm: Introduce CP_SMMU_APERTURE_ID
firmware: arm_scpi: Check the DVFS OPP count returned by the firmware
soc: qcom: socinfo: add IPQ5424/IPQ5404 SoC ID
dt-bindings: arm: qcom,ids: add SoC ID for IPQ5424/IPQ5404
soc: qcom: llcc: Flip the manual slice configuration condition
dt-bindings: firmware: qcom,scm: Document sm8750 SCM
firmware: qcom: uefisecapp: Allow X1E Devkit devices
misc: lan966x_pci: Fix dtc warn 'Missing interrupt-parent'
misc: lan966x_pci: Fix dtc warns 'missing or empty reg/ranges property'
soc: qcom: llcc: Add LLCC configuration for the QCS8300 platform
dt-bindings: cache: qcom,llcc: Document the QCS8300 LLCC
...
300 lines
8.5 KiB
YAML
300 lines
8.5 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/cache/qcom,llcc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Last Level Cache Controller
|
|
|
|
maintainers:
|
|
- Bjorn Andersson <andersson@kernel.org>
|
|
|
|
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:
|
|
- qcom,qcs615-llcc
|
|
- qcom,qcs8300-llcc
|
|
- qcom,qdu1000-llcc
|
|
- qcom,sa8775p-llcc
|
|
- qcom,sar1130p-llcc
|
|
- qcom,sar2130p-llcc
|
|
- qcom,sc7180-llcc
|
|
- qcom,sc7280-llcc
|
|
- qcom,sc8180x-llcc
|
|
- qcom,sc8280xp-llcc
|
|
- qcom,sdm845-llcc
|
|
- qcom,sm6350-llcc
|
|
- qcom,sm7150-llcc
|
|
- qcom,sm8150-llcc
|
|
- qcom,sm8250-llcc
|
|
- qcom,sm8350-llcc
|
|
- qcom,sm8450-llcc
|
|
- qcom,sm8550-llcc
|
|
- qcom,sm8650-llcc
|
|
- qcom,x1e80100-llcc
|
|
|
|
reg:
|
|
minItems: 2
|
|
maxItems: 10
|
|
|
|
reg-names:
|
|
minItems: 2
|
|
maxItems: 10
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
nvmem-cells:
|
|
items:
|
|
- description: Reference to an nvmem node for multi channel DDR
|
|
|
|
nvmem-cell-names:
|
|
items:
|
|
- const: multi-chan-ddr
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,sar1130p-llcc
|
|
- qcom,sar2130p-llcc
|
|
then:
|
|
properties:
|
|
reg:
|
|
items:
|
|
- description: LLCC0 base register region
|
|
- description: LLCC1 base register region
|
|
- description: LLCC broadcast OR register region
|
|
- description: LLCC broadcast AND register region
|
|
- description: LLCC scratchpad broadcast OR register region
|
|
- description: LLCC scratchpad broadcast AND register region
|
|
reg-names:
|
|
items:
|
|
- const: llcc0_base
|
|
- const: llcc1_base
|
|
- const: llcc_broadcast_base
|
|
- const: llcc_broadcast_and_base
|
|
- const: llcc_scratchpad_broadcast_base
|
|
- const: llcc_scratchpad_broadcast_and_base
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,qcs615-llcc
|
|
- 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
|
|
|
|
- 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
|
|
- 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:
|
|
- qcom,qdu1000-llcc
|
|
- qcom,sc8180x-llcc
|
|
- qcom,sc8280xp-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: 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,x1e80100-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: LLCC6 base register region
|
|
- description: LLCC7 base register region
|
|
- description: LLCC broadcast base register region
|
|
- description: LLCC broadcast AND 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
|
|
- const: llcc_broadcast_and_base
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,qcs8300-llcc
|
|
- qcom,sdm845-llcc
|
|
- qcom,sm8150-llcc
|
|
- qcom,sm8250-llcc
|
|
- qcom,sm8350-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: 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:
|
|
- qcom,sm8450-llcc
|
|
- qcom,sm8550-llcc
|
|
- qcom,sm8650-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: LLCC broadcast OR register region
|
|
- description: LLCC broadcast AND register region
|
|
reg-names:
|
|
items:
|
|
- const: llcc0_base
|
|
- const: llcc1_base
|
|
- const: llcc2_base
|
|
- const: llcc3_base
|
|
- const: llcc_broadcast_base
|
|
- const: llcc_broadcast_and_base
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
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>;
|
|
};
|
|
};
|