- Add Krzysztof Kozlowski as co-maintainer for DT bindings providing much needed help. - DT schema validation now takes DTB files as input rather than intermediate YAML files. This decouples the validation from the source level syntax information. There's a bunch of schema fixes as a result of switching to DTB based validation which exposed some errors and incomplete schemas and examples. - Kbuild improvements to explicitly warn users running 'make dt_binding_check' on missing yamllint - Expand DT_SCHEMA_FILES kbuild variable to take just a partial filename or path instead of the full path to 1 file. - Convert various bindings to schema format: mscc,vsc7514-switch, multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma, msm/mdp4, rda,8810pl-uart - New schemas for u-boot environment variable partition, TI clksel - New compatible strings for Renesas RZ/V2L SoC - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated HiSilicon - Add/fix schemas for QEMU Arm 'virt' machine - Drop unused of_alias_get_alias_list() function - Add a script to check DT unittest EXPECT message output. Pass messages also now print by default at PR_INFO level to help test automation. -----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmI8s64QHHJvYmhAa2Vy bmVsLm9yZwAKCRD6+121jbxhwx3tD/4j56NE+aLkL636+I8tGFm3r+r6uLLT4SWh zDuiX3MP9OKfhJw43TjjURLwX5adBnG3nn505IXcAeiMRgEiciOpSa12w0mXyjMX QgVOcoaI3H2GBMEddJRo1PLTM/K5sYzZxAKLB827xoOk4mGNA0ZBAHvlB3W+yLE5 CE5yTaFoL4EMXuhWMtMrMlG1PQrbO3FpQ2DHBKrpxHPJmnHLk3c0YtMSTHGQnWbN AxT3S6RSsOLwLzZAXi2AlswqY82n5KtUf/RBrYi8rdr/xnIsCfMeXxafkP2Hyxkq L9RfKVn05c0LRtO1Eh8kYr+lmYmcWz/SIdJZXzpviIgE9MJapCAk0blBZ4S/FH0B EVGB1JkwCZFck6DBmkNJxAwR0iQOGWkJIkn6iBPNF0dHp58eE6adaXjhFH3uBEHk dXFaxPlvZ3P/Q2I/vmQ//m5tZMyjeCY2BlVYpkUJMOFfN26MIGHUmUlLnovLDqu4 lYgZG4V244uYzALLbURpbp+5dlPH/PL2gxvJJNqTS+/hXktQx1XnML4wD+xfJ4nT OY5DD7Z+KGBrdsMtxkFtIFvKD63E2gtAR5RZO0J/txlzhW7Wg6fJbhJZeRFhZKmN GAfud2s6rliyygByBL4ea50DSLLQpc/9HZtFmZ3NTILM6NbUR74sHt+1EZ1hee+M LaNsSscHuQ== =g1li -----END PGP SIGNATURE----- Merge tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - Add Krzysztof Kozlowski as co-maintainer for DT bindings providing much needed help. - DT schema validation now takes DTB files as input rather than intermediate YAML files. This decouples the validation from the source level syntax information. There's a bunch of schema fixes as a result of switching to DTB based validation which exposed some errors and incomplete schemas and examples. - Kbuild improvements to explicitly warn users running 'make dt_binding_check' on missing yamllint - Expand DT_SCHEMA_FILES kbuild variable to take just a partial filename or path instead of the full path to 1 file. - Convert various bindings to schema format: mscc,vsc7514-switch, multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma, msm/mdp4, rda,8810pl-uart - New schemas for u-boot environment variable partition, TI clksel - New compatible strings for Renesas RZ/V2L SoC - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated HiSilicon - Add/fix schemas for QEMU Arm 'virt' machine - Drop unused of_alias_get_alias_list() function - Add a script to check DT unittest EXPECT message output. Pass messages also now print by default at PR_INFO level to help test automation. * tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (96 commits) dt-bindings: kbuild: Make DT_SCHEMA_LINT a recursive variable dt-bindings: nvmem: add U-Boot environment variables binding dt-bindings: ufs: qcom: Add SM6350 compatible string dt-bindings: dmaengine: sifive,fu540-c000: include generic schema dt-bindings: gpio: pca95xx: drop useless consumer example Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs" dt-bindings: virtio,mmio: Allow setting devices 'dma-coherent' dt-bindings: gnss: Add two more chips dt-bindings: gnss: Rewrite sirfstar binding in YAML dt-bindings: gnss: Modify u-blox to use common bindings dt-bindings: gnss: Rewrite common bindings in YAML dt-bindings: ata: ahci-platform: Add rk3568-dwc-ahci compatible dt-bindings: ata: ahci-platform: Add power-domains property dt-bindings: ata: ahci-platform: Convert DT bindings to yaml dt-bindings: kbuild: Use DTB files for validation dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate dt-bindings: Add QEMU virt machine compatible dt-bindings: arm: Convert QEMU fw-cfg to DT schema dt-bindings: i2c: at91: Add SAMA7G5 compatible strings list dt-bindings: i2c: convert i2c-at91 to json-schema ...
140 lines
4.2 KiB
YAML
140 lines
4.2 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/memory-controllers/samsung,exynos5422-dmc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: |
|
|
Samsung Exynos5422 SoC frequency and voltage scaling for Dynamic Memory
|
|
Controller device
|
|
|
|
maintainers:
|
|
- Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
|
|
- Lukasz Luba <lukasz.luba@arm.com>
|
|
|
|
description: |
|
|
The Samsung Exynos5422 SoC has DMC (Dynamic Memory Controller) to which the
|
|
DRAM memory chips are connected. The driver is to monitor the controller in
|
|
runtime and switch frequency and voltage. To monitor the usage of the
|
|
controller in runtime, the driver uses the PPMU (Platform Performance
|
|
Monitoring Unit), which is able to measure the current load of the memory.
|
|
When 'userspace' governor is used for the driver, an application is able to
|
|
switch the DMC and memory frequency.
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- const: samsung,exynos5422-dmc
|
|
|
|
clock-names:
|
|
items:
|
|
- const: fout_spll
|
|
- const: mout_sclk_spll
|
|
- const: ff_dout_spll2
|
|
- const: fout_bpll
|
|
- const: mout_bpll
|
|
- const: sclk_bpll
|
|
- const: mout_mx_mspll_ccore
|
|
- const: mout_mclk_cdrex
|
|
|
|
clocks:
|
|
minItems: 8
|
|
maxItems: 8
|
|
|
|
devfreq-events:
|
|
$ref: '/schemas/types.yaml#/definitions/phandle-array'
|
|
minItems: 1
|
|
maxItems: 16
|
|
items:
|
|
maxItems: 1
|
|
description: phandles of the PPMU events used by the controller.
|
|
|
|
device-handle:
|
|
$ref: '/schemas/types.yaml#/definitions/phandle'
|
|
description: |
|
|
phandle of the connected DRAM memory device. For more information please
|
|
refer to jedec,lpddr3.yaml.
|
|
|
|
operating-points-v2: true
|
|
|
|
interrupts:
|
|
items:
|
|
- description: DMC internal performance event counters in DREX0
|
|
- description: DMC internal performance event counters in DREX1
|
|
|
|
interrupt-names:
|
|
items:
|
|
- const: drex_0
|
|
- const: drex_1
|
|
|
|
reg:
|
|
items:
|
|
- description: registers of DREX0
|
|
- description: registers of DREX1
|
|
|
|
samsung,syscon-clk:
|
|
$ref: '/schemas/types.yaml#/definitions/phandle'
|
|
description: |
|
|
Phandle of the clock register set used by the controller, these registers
|
|
are used for enabling a 'pause' feature and are not exposed by clock
|
|
framework but they must be used in a safe way. The register offsets are
|
|
in the driver code and specyfic for this SoC type.
|
|
|
|
vdd-supply: true
|
|
|
|
required:
|
|
- compatible
|
|
- clock-names
|
|
- clocks
|
|
- devfreq-events
|
|
- device-handle
|
|
- reg
|
|
- samsung,syscon-clk
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/exynos5420.h>
|
|
ppmu_dmc0_0: ppmu@10d00000 {
|
|
compatible = "samsung,exynos-ppmu";
|
|
reg = <0x10d00000 0x2000>;
|
|
clocks = <&clock CLK_PCLK_PPMU_DREX0_0>;
|
|
clock-names = "ppmu";
|
|
events {
|
|
ppmu_event_dmc0_0: ppmu-event3-dmc0-0 {
|
|
event-name = "ppmu-event3-dmc0_0";
|
|
};
|
|
};
|
|
};
|
|
|
|
memory-controller@10c20000 {
|
|
compatible = "samsung,exynos5422-dmc";
|
|
reg = <0x10c20000 0x10000>, <0x10c30000 0x10000>;
|
|
clocks = <&clock CLK_FOUT_SPLL>,
|
|
<&clock CLK_MOUT_SCLK_SPLL>,
|
|
<&clock CLK_FF_DOUT_SPLL2>,
|
|
<&clock CLK_FOUT_BPLL>,
|
|
<&clock CLK_MOUT_BPLL>,
|
|
<&clock CLK_SCLK_BPLL>,
|
|
<&clock CLK_MOUT_MX_MSPLL_CCORE>,
|
|
<&clock CLK_MOUT_MCLK_CDREX>;
|
|
clock-names = "fout_spll",
|
|
"mout_sclk_spll",
|
|
"ff_dout_spll2",
|
|
"fout_bpll",
|
|
"mout_bpll",
|
|
"sclk_bpll",
|
|
"mout_mx_mspll_ccore",
|
|
"mout_mclk_cdrex";
|
|
operating-points-v2 = <&dmc_opp_table>;
|
|
devfreq-events = <&ppmu_event3_dmc0_0>, <&ppmu_event3_dmc0_1>,
|
|
<&ppmu_event3_dmc1_0>, <&ppmu_event3_dmc1_1>;
|
|
device-handle = <&samsung_K3QF2F20DB>;
|
|
vdd-supply = <&buck1_reg>;
|
|
samsung,syscon-clk = <&clock>;
|
|
interrupt-parent = <&combiner>;
|
|
interrupts = <16 0>, <16 1>;
|
|
interrupt-names = "drex_0", "drex_1";
|
|
};
|