mirror of
https://github.com/torvalds/linux.git
synced 2026-04-27 02:52:27 -04:00
The MIPI and DisplayPort phys are actually part of the Power Management Unit system controller, thus allow them as its children, instead of specifying as separate device nodes with syscon phandle. Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230127194057.186458-2-krzysztof.kozlowski@linaro.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
177 lines
4.2 KiB
YAML
177 lines
4.2 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Samsung Exynos SoC series Power Management Unit (PMU)
|
|
|
|
maintainers:
|
|
- Krzysztof Kozlowski <krzk@kernel.org>
|
|
|
|
# Custom select to avoid matching all nodes with 'syscon'
|
|
select:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- samsung,exynos3250-pmu
|
|
- samsung,exynos4210-pmu
|
|
- samsung,exynos4412-pmu
|
|
- samsung,exynos5250-pmu
|
|
- samsung,exynos5260-pmu
|
|
- samsung,exynos5410-pmu
|
|
- samsung,exynos5420-pmu
|
|
- samsung,exynos5433-pmu
|
|
- samsung,exynos7-pmu
|
|
- samsung,exynos850-pmu
|
|
- samsung-s5pv210-pmu
|
|
required:
|
|
- compatible
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- samsung,exynos3250-pmu
|
|
- samsung,exynos4210-pmu
|
|
- samsung,exynos4412-pmu
|
|
- samsung,exynos5250-pmu
|
|
- samsung,exynos5260-pmu
|
|
- samsung,exynos5410-pmu
|
|
- samsung,exynos5420-pmu
|
|
- samsung,exynos5433-pmu
|
|
- samsung,exynos7-pmu
|
|
- samsung,exynos850-pmu
|
|
- samsung-s5pv210-pmu
|
|
- const: syscon
|
|
- items:
|
|
- enum:
|
|
- samsung,exynos5250-pmu
|
|
- samsung,exynos5420-pmu
|
|
- samsung,exynos5433-pmu
|
|
- const: simple-mfd
|
|
- const: syscon
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
'#clock-cells':
|
|
const: 1
|
|
|
|
clock-names:
|
|
description:
|
|
List of clock names for particular CLKOUT mux inputs
|
|
minItems: 1
|
|
maxItems: 32
|
|
items:
|
|
pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 32
|
|
|
|
dp-phy:
|
|
$ref: /schemas/phy/samsung,dp-video-phy.yaml
|
|
unevaluatedProperties: false
|
|
|
|
interrupt-controller:
|
|
description:
|
|
Some PMUs are capable of behaving as an interrupt controller (mostly
|
|
to wake up a suspended PMU).
|
|
|
|
'#interrupt-cells':
|
|
description:
|
|
Must be identical to the that of the parent interrupt controller.
|
|
const: 3
|
|
|
|
mipi-phy:
|
|
$ref: /schemas/phy/samsung,mipi-video-phy.yaml
|
|
unevaluatedProperties: false
|
|
|
|
reboot-mode:
|
|
$ref: /schemas/power/reset/syscon-reboot-mode.yaml
|
|
type: object
|
|
description:
|
|
Reboot mode to alter bootloader behavior for the next boot
|
|
|
|
syscon-poweroff:
|
|
$ref: /schemas/power/reset/syscon-poweroff.yaml#
|
|
type: object
|
|
description:
|
|
Node for power off method
|
|
|
|
syscon-reboot:
|
|
$ref: /schemas/power/reset/syscon-reboot.yaml#
|
|
type: object
|
|
description:
|
|
Node for reboot method
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- samsung,exynos3250-pmu
|
|
- samsung,exynos4210-pmu
|
|
- samsung,exynos4412-pmu
|
|
- samsung,exynos5250-pmu
|
|
- samsung,exynos5410-pmu
|
|
- samsung,exynos5420-pmu
|
|
- samsung,exynos5433-pmu
|
|
then:
|
|
required:
|
|
- '#clock-cells'
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- samsung,exynos5250-pmu
|
|
- samsung,exynos5420-pmu
|
|
- samsung,exynos5433-pmu
|
|
then:
|
|
properties:
|
|
dp-phy: true
|
|
mipi-phy: true
|
|
else:
|
|
properties:
|
|
dp-phy: false
|
|
mipi-phy: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/exynos5250.h>
|
|
|
|
pmu_system_controller: system-controller@10040000 {
|
|
compatible = "samsung,exynos5250-pmu", "syscon";
|
|
reg = <0x10040000 0x5000>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <3>;
|
|
interrupt-parent = <&gic>;
|
|
#clock-cells = <1>;
|
|
clock-names = "clkout16";
|
|
clocks = <&clock CLK_FIN_PLL>;
|
|
|
|
dp-phy {
|
|
compatible = "samsung,exynos5250-dp-video-phy";
|
|
#phy-cells = <0>;
|
|
};
|
|
|
|
mipi-phy {
|
|
compatible = "samsung,s5pv210-mipi-video-phy";
|
|
#phy-cells = <1>;
|
|
};
|
|
};
|