brintos

brintos / linux-shallow public Read only

0
0
Text · 5.1 KiB · 15fcd8f Raw
211 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Samsung Exynos SoC series Power Management Unit (PMU)8 9maintainers:10  - Krzysztof Kozlowski <krzk@kernel.org>11 12# Custom select to avoid matching all nodes with 'syscon'13select:14  properties:15    compatible:16      contains:17        enum:18          - google,gs101-pmu19          - samsung,exynos3250-pmu20          - samsung,exynos4210-pmu21          - samsung,exynos4212-pmu22          - samsung,exynos4412-pmu23          - samsung,exynos5250-pmu24          - samsung,exynos5260-pmu25          - samsung,exynos5410-pmu26          - samsung,exynos5420-pmu27          - samsung,exynos5433-pmu28          - samsung,exynos7-pmu29          - samsung,exynos850-pmu30          - samsung-s5pv210-pmu31  required:32    - compatible33 34properties:35  compatible:36    oneOf:37      - items:38          - enum:39              - google,gs101-pmu40              - samsung,exynos3250-pmu41              - samsung,exynos4210-pmu42              - samsung,exynos4212-pmu43              - samsung,exynos4412-pmu44              - samsung,exynos5250-pmu45              - samsung,exynos5260-pmu46              - samsung,exynos5410-pmu47              - samsung,exynos5420-pmu48              - samsung,exynos5433-pmu49              - samsung,exynos7-pmu50              - samsung,exynos850-pmu51              - samsung-s5pv210-pmu52          - const: syscon53      - items:54          - enum:55              - samsung,exynos7885-pmu56              - samsung,exynosautov9-pmu57              - samsung,exynosautov920-pmu58              - tesla,fsd-pmu59          - const: samsung,exynos7-pmu60          - const: syscon61      - items:62          - enum:63              - samsung,exynos3250-pmu64              - samsung,exynos4210-pmu65              - samsung,exynos4212-pmu66              - samsung,exynos4412-pmu67              - samsung,exynos5250-pmu68              - samsung,exynos5420-pmu69              - samsung,exynos5433-pmu70          - const: simple-mfd71          - const: syscon72 73  reg:74    maxItems: 175 76  '#clock-cells':77    const: 178 79  clock-names:80    description:81      List of clock names for particular CLKOUT mux inputs82    minItems: 183    maxItems: 3284    items:85      pattern: '^clkout([0-9]|[12][0-9]|3[0-1])$'86 87  clocks:88    minItems: 189    maxItems: 3290 91  dp-phy:92    $ref: /schemas/phy/samsung,dp-video-phy.yaml93    unevaluatedProperties: false94 95  interrupt-controller:96    description:97      Some PMUs are capable of behaving as an interrupt controller (mostly98      to wake up a suspended PMU).99 100  '#interrupt-cells':101    description:102      Must be identical to the that of the parent interrupt controller.103    const: 3104 105  mipi-phy:106    $ref: /schemas/phy/samsung,mipi-video-phy.yaml107    unevaluatedProperties: false108 109  reboot-mode:110    $ref: /schemas/power/reset/syscon-reboot-mode.yaml111    type: object112    description:113      Reboot mode to alter bootloader behavior for the next boot114 115  syscon-poweroff:116    $ref: /schemas/power/reset/syscon-poweroff.yaml#117    type: object118    description:119      Node for power off method120 121  syscon-reboot:122    $ref: /schemas/power/reset/syscon-reboot.yaml#123    type: object124    description:125      Node for reboot method126 127required:128  - compatible129  - reg130 131additionalProperties: false132 133allOf:134  - if:135      properties:136        compatible:137          contains:138            enum:139              - samsung,exynos3250-pmu140              - samsung,exynos4210-pmu141              - samsung,exynos4212-pmu142              - samsung,exynos4412-pmu143              - samsung,exynos5250-pmu144              - samsung,exynos5410-pmu145              - samsung,exynos5420-pmu146              - samsung,exynos5433-pmu147    then:148      required:149        - '#clock-cells'150        - clock-names151        - clocks152 153  - if:154      properties:155        compatible:156          contains:157            enum:158              - samsung,exynos3250-pmu159              - samsung,exynos4210-pmu160              - samsung,exynos4212-pmu161              - samsung,exynos4412-pmu162              - samsung,exynos5250-pmu163              - samsung,exynos5420-pmu164              - samsung,exynos5433-pmu165    then:166      properties:167        mipi-phy: true168    else:169      properties:170        mipi-phy: false171 172  - if:173      properties:174        compatible:175          contains:176            enum:177              - samsung,exynos5250-pmu178              - samsung,exynos5420-pmu179              - samsung,exynos5433-pmu180    then:181      properties:182        dp-phy: true183    else:184      properties:185        dp-phy: false186 187examples:188  - |189    #include <dt-bindings/clock/exynos5250.h>190 191    pmu_system_controller: system-controller@10040000 {192        compatible = "samsung,exynos5250-pmu", "syscon";193        reg = <0x10040000 0x5000>;194        interrupt-controller;195        #interrupt-cells = <3>;196        interrupt-parent = <&gic>;197        #clock-cells = <1>;198        clock-names = "clkout16";199        clocks = <&clock CLK_FIN_PLL>;200 201        dp-phy {202            compatible = "samsung,exynos5250-dp-video-phy";203            #phy-cells = <0>;204        };205 206        mipi-phy {207            compatible = "samsung,s5pv210-mipi-video-phy";208            #phy-cells = <1>;209        };210    };211