- Add support for the Cirrus Logic CS42L43 Audio CODEC - Fix-ups - Make use of specific printk() format tags for various optimisations - Kconfig / module modifications / tweaking - Simplify obtaining resources (memory, device data) using unified API helpers - Bunch of Device Tree additions, conversions and adaptions - Convert a bunch of Regmap configurations to use the Maple Tree cache - Ensure correct includes are present and remove some that are not required - Remove superfluous code - Reduce amount of cycles spent in critical sections - Omit the use of redundant casts and if relevant replace with better ones - Swap out raw_spin_{un}lock_irq{save,restore}() for spin_{un}lock_irq{save,restore}() - Bug Fixes - Repair theoretical deadlock situation - Fix some link-time dependencies - Use more appropriate datatype when casting -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmT14v8ACgkQUa+KL4f8 d2F+jw/+MqR0pdOuHiwRAWkPB+Zpk1+aOySF/gZynViSv0aVA/IGXvdTiXSvueut toCcA5LvfrEHzo4wOHF2NeHIs9ogGjuCPRhYTEnBWv8pRkD3fLI2x9nDCxrr6uje 6vvCoDZ8klHcjNw8AJTM/37UFCiqrN9EYb4aoKFVhc1331Fxhc3vYxPbCWr7MZyn A3AVpM5pHeS0+/huwwCwX44azYc8wdBMrqQ5t0FB/YNyndz2Sd0WBUbxqiSn+i94 p6J7xhP8mG2JveCcezxX7ixVta4rkinGnlSNjt3ej41OTr4rbMCY55CHuyR3KnL2 KtRm8MqFofnOUqMGr8LH21mVm6QgLEel19QsG4HVkIKSAJ7xWnPS9Gw7RzUhKGJP gHPqrwjgbzqyPBj5oCnVHiSuqjpnzYyMG1zUSYFzMY1eTe98fdHwAKHqsAQO9Zgp lFACynrGIFfcjbV2PKbmshBUdpX2rk5aM/QdOFN4/8X6oaxgzFndWBhKTJew5Jir ZRoTFONzdZRCK23YB7k4AncEYwy0fdsbNLuOJFHk3nHxmrTllpnXn1fcDL/H+vsF 3CGe7RBxRkzU06Sq4SlLBbqj5H4eeyyq8pP3kRF7y7KsI9G3GLeEW69LNkqYANxf 3tkC7MKt3qZp6UHx47gAqNaCS/cniF3rsLe7LgwTaxqg1+LNIbU= =MNYe -----END PGP SIGNATURE----- Merge tag 'mfd-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull NFD updates from Lee Jones: "New Drivers: - Add support for the Cirrus Logic CS42L43 Audio CODEC Fix-ups: - Make use of specific printk() format tags for various optimisations - Kconfig / module modifications / tweaking - Simplify obtaining resources (memory, device data) using unified API helpers - Bunch of Device Tree additions, conversions and adaptions - Convert a bunch of Regmap configurations to use the Maple Tree cache - Ensure correct includes are present and remove some that are not required - Remove superfluous code - Reduce amount of cycles spent in critical sections - Omit the use of redundant casts and if relevant replace with better ones - Swap out raw_spin_{un}lock_irq{save,restore}() for spin_{un}lock_irq{save,restore}() Bug Fixes: - Repair theoretical deadlock situation - Fix some link-time dependencies - Use more appropriate datatype when casting" * tag 'mfd-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (70 commits) mfd: mc13xxx: Simplify device data fetching in probe() mfd: rz-mtu3: Replace raw_spin_lock->spin_lock() mfd: rz-mtu3: Reduce critical sections mfd: mxs-lradc: Fix Wvoid-pointer-to-enum-cast warning mfd: wm31x: Fix Wvoid-pointer-to-enum-cast warning mfd: wm8994: Fix Wvoid-pointer-to-enum-cast warning mfd: tc3589: Fix Wvoid-pointer-to-enum-cast warning mfd: lp87565: Fix Wvoid-pointer-to-enum-cast warning mfd: hi6421-pmic: Fix Wvoid-pointer-to-enum-cast warning mfd: max77541: Fix Wvoid-pointer-to-enum-cast warning mfd: max14577: Fix Wvoid-pointer-to-enum-cast warning mfd: stmpe: Fix Wvoid-pointer-to-enum-cast warning mfd: rn5t618: Remove redundant of_match_ptr() mfd: lochnagar-i2c: Remove redundant of_match_ptr() mfd: stpmic1: Remove redundant of_match_ptr() mfd: act8945a: Remove redundant of_match_ptr() mfd: rsmu_spi: Remove redundant of_match_ptr() mfd: altera-a10sr: Remove redundant of_match_ptr() mfd: rsmu_i2c: Remove redundant of_match_ptr() mfd: tc3589x: Remove redundant of_match_ptr() ...
300 lines
8.7 KiB
YAML
300 lines
8.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/stericsson,db8500-prcmu.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ST-Ericsson DB8500 PRCMU - Power Reset and Control Management Unit
|
|
|
|
maintainers:
|
|
- Linus Walleij <linus.walleij@linaro.org>
|
|
|
|
description:
|
|
The DB8500 Power Reset and Control Management Unit is an XP70 8-bit
|
|
microprocessor that is embedded in the always-on power domain of the
|
|
DB8500 SoCs to manage the low power states, powering up and down parts
|
|
of the silicon, and controlling reset of different IP blocks.
|
|
|
|
properties:
|
|
$nodename:
|
|
pattern: '^prcmu@[0-9a-f]+$'
|
|
|
|
compatible:
|
|
description: The device is compatible both to the device-specific
|
|
compatible "stericsson,db8500-prcmu" and "syscon". The latter
|
|
compatible is needed for the device to be exposed as a system
|
|
controller so that arbitrary registers can be access by
|
|
different operating system components.
|
|
items:
|
|
- const: stericsson,db8500-prcmu
|
|
- const: syscon
|
|
|
|
reg:
|
|
items:
|
|
- description: Main PRCMU register area
|
|
- description: PRCMU TCPM register area
|
|
- description: PRCMU TCDM register area
|
|
|
|
reg-names:
|
|
items:
|
|
- const: prcmu
|
|
- const: prcmu-tcpm
|
|
- const: prcmu-tcdm
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
'#address-cells':
|
|
const: 1
|
|
|
|
'#size-cells':
|
|
const: 1
|
|
|
|
ranges: true
|
|
|
|
interrupt-controller: true
|
|
|
|
'#interrupt-cells':
|
|
const: 2
|
|
|
|
db8500-prcmu-regulators:
|
|
description: Node describing the DB8500 regulators. These are mainly
|
|
power rails inside the silicon but some of those are also routed
|
|
out to external pins.
|
|
type: object
|
|
|
|
properties:
|
|
compatible:
|
|
const: stericsson,db8500-prcmu-regulator
|
|
|
|
db8500_vape:
|
|
description: The voltage for the application processor, the
|
|
main voltage domain for the chip.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_varm:
|
|
description: The voltage for the ARM Cortex A-9 CPU.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_vmodem:
|
|
description: The voltage for the modem subsystem.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_vpll:
|
|
description: The voltage for the phase locked loop clocks.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_vsmps1:
|
|
description: Also known as VIO12, is a step-down voltage regulator
|
|
for 1.2V I/O. SMPS means System Management Power Source.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_vsmps2:
|
|
description: Also known as VIO18, is a step-down voltage regulator
|
|
for 1.8V I/O. SMPS means System Management Power Source.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_vsmps3:
|
|
description: This is a step-down voltage regulator
|
|
for 0.87 thru 1.875V I/O. SMPS means System Management Power Source.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_vrf1:
|
|
description: RF transceiver voltage regulator.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_sva_mmdsp:
|
|
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
|
voltage regulator. This is the voltage for the accelerator DSP
|
|
for video encoding and decoding.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_sva_mmdsp_ret:
|
|
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
|
voltage regulator for retention mode.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_sva_pipe:
|
|
description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
|
|
voltage regulator for the data pipe.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_sia_mmdsp:
|
|
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
|
voltage regulator. This is the voltage for the accelerator DSP
|
|
for image encoding and decoding.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_sia_mmdsp_ret:
|
|
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
|
voltage regulator for retention mode.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_sia_pipe:
|
|
description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
|
|
voltage regulator for the data pipe.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_sga:
|
|
description: Smart Graphics Accelerator (SGA) voltage regulator.
|
|
This is in effect controlling the power to the MALI400 3D
|
|
accelerator block.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_b2r2_mcde:
|
|
description: Blit Blend Rotate and Rescale (B2R2), and Multi-Channel
|
|
Display Engine (MCDE) voltage regulator. These are two graphics
|
|
blocks.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_esram12:
|
|
description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_esram12_ret:
|
|
description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator for
|
|
retention mode.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_esram34:
|
|
description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
db8500_esram34_ret:
|
|
description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator for
|
|
retention mode.
|
|
type: object
|
|
$ref: ../regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- db8500_vape
|
|
- db8500_varm
|
|
- db8500_vmodem
|
|
- db8500_vpll
|
|
- db8500_vsmps1
|
|
- db8500_vsmps2
|
|
- db8500_vsmps3
|
|
- db8500_vrf1
|
|
- db8500_sva_mmdsp
|
|
- db8500_sva_mmdsp_ret
|
|
- db8500_sva_pipe
|
|
- db8500_sia_mmdsp
|
|
- db8500_sia_mmdsp_ret
|
|
- db8500_sia_pipe
|
|
- db8500_sga
|
|
- db8500_b2r2_mcde
|
|
- db8500_esram12
|
|
- db8500_esram12_ret
|
|
- db8500_esram34
|
|
- db8500_esram34_ret
|
|
|
|
additionalProperties: false
|
|
|
|
patternProperties:
|
|
"^thermal@[0-9a-f]+$":
|
|
description: Node describing the DB8500 thermal control functions.
|
|
This binds to an operating system driver that monitors the
|
|
temperature of the SoC.
|
|
type: object
|
|
|
|
properties:
|
|
compatible:
|
|
const: stericsson,db8500-thermal
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
items:
|
|
- description: Hotmon low interrupt (falling temperature)
|
|
- description: Hotmon high interrupt (rising temperature)
|
|
|
|
interrupt-names:
|
|
items:
|
|
- const: IRQ_HOTMON_LOW
|
|
- const: IRQ_HOTMON_HIGH
|
|
|
|
'#thermal-sensor-cells':
|
|
const: 0
|
|
|
|
additionalProperties: false
|
|
|
|
"^prcmu-timer-4@[0-9a-f]+$":
|
|
description: Node describing the externally visible timer 4 in the
|
|
PRCMU block. This timer is interesting to the operating system
|
|
since even thought it has a very low resolution (32768 Hz) it is
|
|
always on, and thus provides a consistent monotonic timeline for
|
|
the system.
|
|
type: object
|
|
|
|
properties:
|
|
compatible:
|
|
const: stericsson,db8500-prcmu-timer-4
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
additionalProperties: false
|
|
|
|
"^ab850[05]$":
|
|
description: Node describing the Analog Baseband 8500 mixed-signals
|
|
ASIC AB8500 and subcomponents. The AB8500 is accessed through the
|
|
PRCMU and hence it appears here. This component has a separate
|
|
set of devicetree bindings. The AB8505 is a newer version of the
|
|
same ASIC.
|
|
type: object
|
|
$ref: stericsson,ab8500.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- '#address-cells'
|
|
- '#size-cells'
|
|
- ranges
|
|
- interrupts
|
|
- interrupt-controller
|
|
- '#interrupt-cells'
|
|
- db8500-prcmu-regulators
|
|
|
|
additionalProperties: false
|