xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/stericsson,db8500-prcmu.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/stericsson,db8500-prcmu.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
75956d97fSEmmanuel Vadottitle: ST-Ericsson DB8500 PRCMU - Power Reset and Control Management Unit
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Linus Walleij <linus.walleij@linaro.org>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel Vadotdescription:
135956d97fSEmmanuel Vadot  The DB8500 Power Reset and Control Management Unit is an XP70 8-bit
145956d97fSEmmanuel Vadot  microprocessor that is embedded in the always-on power domain of the
155956d97fSEmmanuel Vadot  DB8500 SoCs to manage the low power states, powering up and down parts
165956d97fSEmmanuel Vadot  of the silicon, and controlling reset of different IP blocks.
175956d97fSEmmanuel Vadot
185956d97fSEmmanuel Vadotproperties:
195956d97fSEmmanuel Vadot  $nodename:
205956d97fSEmmanuel Vadot    pattern: '^prcmu@[0-9a-f]+$'
215956d97fSEmmanuel Vadot
225956d97fSEmmanuel Vadot  compatible:
235956d97fSEmmanuel Vadot    description: The device is compatible both to the device-specific
245956d97fSEmmanuel Vadot      compatible "stericsson,db8500-prcmu" and "syscon". The latter
255956d97fSEmmanuel Vadot      compatible is needed for the device to be exposed as a system
265956d97fSEmmanuel Vadot      controller so that arbitrary registers can be access by
275956d97fSEmmanuel Vadot      different operating system components.
285956d97fSEmmanuel Vadot    items:
295956d97fSEmmanuel Vadot      - const: stericsson,db8500-prcmu
305956d97fSEmmanuel Vadot      - const: syscon
315956d97fSEmmanuel Vadot
325956d97fSEmmanuel Vadot  reg:
335956d97fSEmmanuel Vadot    items:
345956d97fSEmmanuel Vadot      - description: Main PRCMU register area
355956d97fSEmmanuel Vadot      - description: PRCMU TCPM register area
365956d97fSEmmanuel Vadot      - description: PRCMU TCDM register area
375956d97fSEmmanuel Vadot
385956d97fSEmmanuel Vadot  reg-names:
395956d97fSEmmanuel Vadot    items:
405956d97fSEmmanuel Vadot      - const: prcmu
415956d97fSEmmanuel Vadot      - const: prcmu-tcpm
425956d97fSEmmanuel Vadot      - const: prcmu-tcdm
435956d97fSEmmanuel Vadot
445956d97fSEmmanuel Vadot  interrupts:
455956d97fSEmmanuel Vadot    maxItems: 1
465956d97fSEmmanuel Vadot
475956d97fSEmmanuel Vadot  '#address-cells':
485956d97fSEmmanuel Vadot    const: 1
495956d97fSEmmanuel Vadot
505956d97fSEmmanuel Vadot  '#size-cells':
515956d97fSEmmanuel Vadot    const: 1
525956d97fSEmmanuel Vadot
535956d97fSEmmanuel Vadot  ranges: true
545956d97fSEmmanuel Vadot
555956d97fSEmmanuel Vadot  interrupt-controller: true
565956d97fSEmmanuel Vadot
575956d97fSEmmanuel Vadot  '#interrupt-cells':
585956d97fSEmmanuel Vadot    const: 2
595956d97fSEmmanuel Vadot
605956d97fSEmmanuel Vadot  db8500-prcmu-regulators:
615956d97fSEmmanuel Vadot    description: Node describing the DB8500 regulators. These are mainly
625956d97fSEmmanuel Vadot      power rails inside the silicon but some of those are also routed
635956d97fSEmmanuel Vadot      out to external pins.
645956d97fSEmmanuel Vadot    type: object
655956d97fSEmmanuel Vadot
665956d97fSEmmanuel Vadot    properties:
675956d97fSEmmanuel Vadot      compatible:
685956d97fSEmmanuel Vadot        const: stericsson,db8500-prcmu-regulator
695956d97fSEmmanuel Vadot
705956d97fSEmmanuel Vadot      db8500_vape:
715956d97fSEmmanuel Vadot        description: The voltage for the application processor, the
725956d97fSEmmanuel Vadot          main voltage domain for the chip.
735956d97fSEmmanuel Vadot        type: object
745956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
75aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
765956d97fSEmmanuel Vadot
775956d97fSEmmanuel Vadot      db8500_varm:
78*84943d6fSEmmanuel Vadot        description: The voltage for the ARM Cortex-A9 CPU.
795956d97fSEmmanuel Vadot        type: object
805956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
81aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
825956d97fSEmmanuel Vadot
835956d97fSEmmanuel Vadot      db8500_vmodem:
845956d97fSEmmanuel Vadot        description: The voltage for the modem subsystem.
855956d97fSEmmanuel Vadot        type: object
865956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
87aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
885956d97fSEmmanuel Vadot
895956d97fSEmmanuel Vadot      db8500_vpll:
905956d97fSEmmanuel Vadot        description: The voltage for the phase locked loop clocks.
915956d97fSEmmanuel Vadot        type: object
925956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
93aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
945956d97fSEmmanuel Vadot
955956d97fSEmmanuel Vadot      db8500_vsmps1:
965956d97fSEmmanuel Vadot        description: Also known as VIO12, is a step-down voltage regulator
975956d97fSEmmanuel Vadot          for 1.2V I/O. SMPS means System Management Power Source.
985956d97fSEmmanuel Vadot        type: object
995956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
100aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1015956d97fSEmmanuel Vadot
1025956d97fSEmmanuel Vadot      db8500_vsmps2:
1035956d97fSEmmanuel Vadot        description: Also known as VIO18, is a step-down voltage regulator
1045956d97fSEmmanuel Vadot          for 1.8V I/O. SMPS means System Management Power Source.
1055956d97fSEmmanuel Vadot        type: object
1065956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
107aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1085956d97fSEmmanuel Vadot
1095956d97fSEmmanuel Vadot      db8500_vsmps3:
1105956d97fSEmmanuel Vadot        description: This is a step-down voltage regulator
1115956d97fSEmmanuel Vadot          for 0.87 thru 1.875V I/O. SMPS means System Management Power Source.
1125956d97fSEmmanuel Vadot        type: object
1135956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
114aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1155956d97fSEmmanuel Vadot
1165956d97fSEmmanuel Vadot      db8500_vrf1:
117aa1a8ff2SEmmanuel Vadot        description: RF transceiver voltage regulator.
1185956d97fSEmmanuel Vadot        type: object
1195956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
120aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1215956d97fSEmmanuel Vadot
1225956d97fSEmmanuel Vadot      db8500_sva_mmdsp:
1235956d97fSEmmanuel Vadot        description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
1245956d97fSEmmanuel Vadot          voltage regulator. This is the voltage for the accelerator DSP
1255956d97fSEmmanuel Vadot          for video encoding and decoding.
1265956d97fSEmmanuel Vadot        type: object
1275956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
128aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1295956d97fSEmmanuel Vadot
1305956d97fSEmmanuel Vadot      db8500_sva_mmdsp_ret:
1315956d97fSEmmanuel Vadot        description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
1325956d97fSEmmanuel Vadot          voltage regulator for retention mode.
1335956d97fSEmmanuel Vadot        type: object
1345956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
135aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1365956d97fSEmmanuel Vadot
1375956d97fSEmmanuel Vadot      db8500_sva_pipe:
1385956d97fSEmmanuel Vadot        description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
1395956d97fSEmmanuel Vadot          voltage regulator for the data pipe.
1405956d97fSEmmanuel Vadot        type: object
1415956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
142aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1435956d97fSEmmanuel Vadot
1445956d97fSEmmanuel Vadot      db8500_sia_mmdsp:
1455956d97fSEmmanuel Vadot        description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
1465956d97fSEmmanuel Vadot          voltage regulator. This is the voltage for the accelerator DSP
1475956d97fSEmmanuel Vadot          for image encoding and decoding.
1485956d97fSEmmanuel Vadot        type: object
1495956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
150aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1515956d97fSEmmanuel Vadot
1525956d97fSEmmanuel Vadot      db8500_sia_mmdsp_ret:
1535956d97fSEmmanuel Vadot        description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
1545956d97fSEmmanuel Vadot          voltage regulator for retention mode.
1555956d97fSEmmanuel Vadot        type: object
1565956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
157aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1585956d97fSEmmanuel Vadot
1595956d97fSEmmanuel Vadot      db8500_sia_pipe:
1605956d97fSEmmanuel Vadot        description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
1615956d97fSEmmanuel Vadot          voltage regulator for the data pipe.
1625956d97fSEmmanuel Vadot        type: object
1635956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
164aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1655956d97fSEmmanuel Vadot
1665956d97fSEmmanuel Vadot      db8500_sga:
1675956d97fSEmmanuel Vadot        description: Smart Graphics Accelerator (SGA) voltage regulator.
1685956d97fSEmmanuel Vadot          This is in effect controlling the power to the MALI400 3D
1695956d97fSEmmanuel Vadot          accelerator block.
1705956d97fSEmmanuel Vadot        type: object
1715956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
172aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1735956d97fSEmmanuel Vadot
1745956d97fSEmmanuel Vadot      db8500_b2r2_mcde:
1755956d97fSEmmanuel Vadot        description: Blit Blend Rotate and Rescale (B2R2), and Multi-Channel
1765956d97fSEmmanuel Vadot          Display Engine (MCDE) voltage regulator. These are two graphics
1775956d97fSEmmanuel Vadot          blocks.
1785956d97fSEmmanuel Vadot        type: object
1795956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
180aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1815956d97fSEmmanuel Vadot
1825956d97fSEmmanuel Vadot      db8500_esram12:
1835956d97fSEmmanuel Vadot        description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator.
1845956d97fSEmmanuel Vadot        type: object
1855956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
186aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1875956d97fSEmmanuel Vadot
1885956d97fSEmmanuel Vadot      db8500_esram12_ret:
1895956d97fSEmmanuel Vadot        description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator for
1905956d97fSEmmanuel Vadot          retention mode.
1915956d97fSEmmanuel Vadot        type: object
1925956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
193aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
1945956d97fSEmmanuel Vadot
1955956d97fSEmmanuel Vadot      db8500_esram34:
1965956d97fSEmmanuel Vadot        description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator.
1975956d97fSEmmanuel Vadot        type: object
1985956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
199aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
2005956d97fSEmmanuel Vadot
2015956d97fSEmmanuel Vadot      db8500_esram34_ret:
2025956d97fSEmmanuel Vadot        description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator for
2035956d97fSEmmanuel Vadot          retention mode.
2045956d97fSEmmanuel Vadot        type: object
2055956d97fSEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
206aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
2075956d97fSEmmanuel Vadot
2085956d97fSEmmanuel Vadot    required:
2095956d97fSEmmanuel Vadot      - compatible
2105956d97fSEmmanuel Vadot      - db8500_vape
2115956d97fSEmmanuel Vadot      - db8500_varm
2125956d97fSEmmanuel Vadot      - db8500_vmodem
2135956d97fSEmmanuel Vadot      - db8500_vpll
2145956d97fSEmmanuel Vadot      - db8500_vsmps1
2155956d97fSEmmanuel Vadot      - db8500_vsmps2
2165956d97fSEmmanuel Vadot      - db8500_vsmps3
2175956d97fSEmmanuel Vadot      - db8500_vrf1
2185956d97fSEmmanuel Vadot      - db8500_sva_mmdsp
2195956d97fSEmmanuel Vadot      - db8500_sva_mmdsp_ret
2205956d97fSEmmanuel Vadot      - db8500_sva_pipe
2215956d97fSEmmanuel Vadot      - db8500_sia_mmdsp
2225956d97fSEmmanuel Vadot      - db8500_sia_mmdsp_ret
2235956d97fSEmmanuel Vadot      - db8500_sia_pipe
2245956d97fSEmmanuel Vadot      - db8500_sga
2255956d97fSEmmanuel Vadot      - db8500_b2r2_mcde
2265956d97fSEmmanuel Vadot      - db8500_esram12
2275956d97fSEmmanuel Vadot      - db8500_esram12_ret
2285956d97fSEmmanuel Vadot      - db8500_esram34
2295956d97fSEmmanuel Vadot      - db8500_esram34_ret
2305956d97fSEmmanuel Vadot
2315956d97fSEmmanuel Vadot    additionalProperties: false
2325956d97fSEmmanuel Vadot
2335956d97fSEmmanuel VadotpatternProperties:
2345956d97fSEmmanuel Vadot  "^thermal@[0-9a-f]+$":
2355956d97fSEmmanuel Vadot    description: Node describing the DB8500 thermal control functions.
2365956d97fSEmmanuel Vadot      This binds to an operating system driver that monitors the
2375956d97fSEmmanuel Vadot      temperature of the SoC.
2385956d97fSEmmanuel Vadot    type: object
2395956d97fSEmmanuel Vadot
2405956d97fSEmmanuel Vadot    properties:
2415956d97fSEmmanuel Vadot      compatible:
2425956d97fSEmmanuel Vadot        const: stericsson,db8500-thermal
2435956d97fSEmmanuel Vadot
2445956d97fSEmmanuel Vadot      reg:
2455956d97fSEmmanuel Vadot        maxItems: 1
2465956d97fSEmmanuel Vadot
2475956d97fSEmmanuel Vadot      interrupts:
2485956d97fSEmmanuel Vadot        items:
2495956d97fSEmmanuel Vadot          - description: Hotmon low interrupt (falling temperature)
2505956d97fSEmmanuel Vadot          - description: Hotmon high interrupt (rising temperature)
2515956d97fSEmmanuel Vadot
2525956d97fSEmmanuel Vadot      interrupt-names:
2535956d97fSEmmanuel Vadot        items:
2545956d97fSEmmanuel Vadot          - const: IRQ_HOTMON_LOW
2555956d97fSEmmanuel Vadot          - const: IRQ_HOTMON_HIGH
2565956d97fSEmmanuel Vadot
2575956d97fSEmmanuel Vadot      '#thermal-sensor-cells':
2585956d97fSEmmanuel Vadot        const: 0
2595956d97fSEmmanuel Vadot
2605956d97fSEmmanuel Vadot    additionalProperties: false
2615956d97fSEmmanuel Vadot
2625956d97fSEmmanuel Vadot  "^prcmu-timer-4@[0-9a-f]+$":
2635956d97fSEmmanuel Vadot    description: Node describing the externally visible timer 4 in the
2645956d97fSEmmanuel Vadot      PRCMU block. This timer is interesting to the operating system
2655956d97fSEmmanuel Vadot      since even thought it has a very low resolution (32768 Hz) it is
2665956d97fSEmmanuel Vadot      always on, and thus provides a consistent monotonic timeline for
2675956d97fSEmmanuel Vadot      the system.
2685956d97fSEmmanuel Vadot    type: object
2695956d97fSEmmanuel Vadot
2705956d97fSEmmanuel Vadot    properties:
2715956d97fSEmmanuel Vadot      compatible:
2725956d97fSEmmanuel Vadot        const: stericsson,db8500-prcmu-timer-4
2735956d97fSEmmanuel Vadot
2745956d97fSEmmanuel Vadot      reg:
2755956d97fSEmmanuel Vadot        maxItems: 1
2765956d97fSEmmanuel Vadot
2775956d97fSEmmanuel Vadot    additionalProperties: false
2785956d97fSEmmanuel Vadot
2795956d97fSEmmanuel Vadot  "^ab850[05]$":
2805956d97fSEmmanuel Vadot    description: Node describing the Analog Baseband 8500 mixed-signals
2815956d97fSEmmanuel Vadot      ASIC AB8500 and subcomponents. The AB8500 is accessed through the
2825956d97fSEmmanuel Vadot      PRCMU and hence it appears here. This component has a separate
2835956d97fSEmmanuel Vadot      set of devicetree bindings. The AB8505 is a newer version of the
2845956d97fSEmmanuel Vadot      same ASIC.
2855956d97fSEmmanuel Vadot    type: object
286c9ccf3a3SEmmanuel Vadot    $ref: stericsson,ab8500.yaml#
2875956d97fSEmmanuel Vadot
2885956d97fSEmmanuel Vadotrequired:
2895956d97fSEmmanuel Vadot  - compatible
2905956d97fSEmmanuel Vadot  - reg
2915956d97fSEmmanuel Vadot  - '#address-cells'
2925956d97fSEmmanuel Vadot  - '#size-cells'
2935956d97fSEmmanuel Vadot  - ranges
2945956d97fSEmmanuel Vadot  - interrupts
2955956d97fSEmmanuel Vadot  - interrupt-controller
2965956d97fSEmmanuel Vadot  - '#interrupt-cells'
2975956d97fSEmmanuel Vadot  - db8500-prcmu-regulators
2985956d97fSEmmanuel Vadot
2995956d97fSEmmanuel VadotadditionalProperties: false
300