Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Samsung Exynos SoC series Power Management Unit (PMU)
0008 
0009 maintainers:
0010   - Krzysztof Kozlowski <krzk@kernel.org>
0011 
0012 # Custom select to avoid matching all nodes with 'syscon'
0013 select:
0014   properties:
0015     compatible:
0016       contains:
0017         enum:
0018           - samsung,exynos3250-pmu
0019           - samsung,exynos4210-pmu
0020           - samsung,exynos4412-pmu
0021           - samsung,exynos5250-pmu
0022           - samsung,exynos5260-pmu
0023           - samsung,exynos5410-pmu
0024           - samsung,exynos5420-pmu
0025           - samsung,exynos5433-pmu
0026           - samsung,exynos7-pmu
0027           - samsung,exynos850-pmu
0028           - samsung-s5pv210-pmu
0029   required:
0030     - compatible
0031 
0032 properties:
0033   compatible:
0034     items:
0035       - enum:
0036           - samsung,exynos3250-pmu
0037           - samsung,exynos4210-pmu
0038           - samsung,exynos4412-pmu
0039           - samsung,exynos5250-pmu
0040           - samsung,exynos5260-pmu
0041           - samsung,exynos5410-pmu
0042           - samsung,exynos5420-pmu
0043           - samsung,exynos5433-pmu
0044           - samsung,exynos7-pmu
0045           - samsung,exynos850-pmu
0046           - samsung-s5pv210-pmu
0047       - const: syscon
0048 
0049   reg:
0050     maxItems: 1
0051 
0052   '#clock-cells':
0053     const: 1
0054 
0055   clock-names:
0056     description:
0057       List of clock names for particular CLKOUT mux inputs
0058     minItems: 1
0059     maxItems: 32
0060     items:
0061       pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'
0062 
0063   clocks:
0064     minItems: 1
0065     maxItems: 32
0066 
0067   interrupt-controller:
0068     description:
0069       Some PMUs are capable of behaving as an interrupt controller (mostly
0070       to wake up a suspended PMU).
0071 
0072   '#interrupt-cells':
0073     description:
0074       Must be identical to the that of the parent interrupt controller.
0075     const: 3
0076 
0077   reboot-mode:
0078     $ref: /schemas/power/reset/syscon-reboot-mode.yaml
0079     type: object
0080     description:
0081       Reboot mode to alter bootloader behavior for the next boot
0082 
0083   syscon-poweroff:
0084     $ref: /schemas/power/reset/syscon-poweroff.yaml#
0085     type: object
0086     description:
0087       Node for power off method
0088 
0089   syscon-reboot:
0090     $ref: /schemas/power/reset/syscon-reboot.yaml#
0091     type: object
0092     description:
0093       Node for reboot method
0094 
0095 required:
0096   - compatible
0097   - reg
0098 
0099 additionalProperties: false
0100 
0101 allOf:
0102   - if:
0103       properties:
0104         compatible:
0105           contains:
0106             enum:
0107               - samsung,exynos3250-pmu
0108               - samsung,exynos4210-pmu
0109               - samsung,exynos4412-pmu
0110               - samsung,exynos5250-pmu
0111               - samsung,exynos5410-pmu
0112               - samsung,exynos5420-pmu
0113               - samsung,exynos5433-pmu
0114     then:
0115       required:
0116         - '#clock-cells'
0117         - clock-names
0118         - clocks
0119 
0120 examples:
0121   - |
0122     #include <dt-bindings/clock/exynos5250.h>
0123 
0124     pmu_system_controller: system-controller@10040000 {
0125         compatible = "samsung,exynos5250-pmu", "syscon";
0126         reg = <0x10040000 0x5000>;
0127         interrupt-controller;
0128         #interrupt-cells = <3>;
0129         interrupt-parent = <&gic>;
0130         #clock-cells = <1>;
0131         clock-names = "clkout16";
0132         clocks = <&clock CLK_FIN_PLL>;
0133     };