mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-05 11:53:41 +00:00

Convert the Spreadtrum SC27xx PMIC bindings to DT schema. Adjust the filename to match the compatible of the only in-tree user, SC2731. Change #interrupt-cells value to 1, as according to [1] that is the correct value. Move partial examples of child nodes in the child node schemas to this new MFD schema to have one complete example. [1] https://lore.kernel.org/lkml/b6a32917d1e231277d240a4084bebb6ad91247e3.1550060544.git.baolin.wang@linaro.org/ Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Acked-by: Sebastian Reichel <sre@kernel.org> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Acked-by: Jonathan Cameron <jic23@kernel.org> Link: https://lore.kernel.org/r/efd200c3b5b75405e4e450d064b026f10ae2f8e0.1730709384.git.stano.jakubek@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
104 lines
2.3 KiB
YAML
104 lines
2.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iio/adc/sprd,sc2720-adc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Spreadtrum SC27XX series PMICs ADC
|
|
|
|
maintainers:
|
|
- Baolin Wang <baolin.wang7@gmail.com>
|
|
|
|
description:
|
|
Supports the ADC found on these PMICs.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- sprd,sc2720-adc
|
|
- sprd,sc2721-adc
|
|
- sprd,sc2723-adc
|
|
- sprd,sc2730-adc
|
|
- sprd,sc2731-adc
|
|
- sprd,ump9620-adc
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
"#io-channel-cells":
|
|
const: 1
|
|
|
|
hwlocks:
|
|
maxItems: 1
|
|
|
|
nvmem-cells: true
|
|
|
|
nvmem-cell-names: true
|
|
|
|
allOf:
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- sprd,ump9620-adc
|
|
then:
|
|
properties:
|
|
nvmem-cells:
|
|
maxItems: 2
|
|
nvmem-cell-names:
|
|
items:
|
|
- const: big_scale_calib
|
|
- const: small_scale_calib
|
|
|
|
else:
|
|
properties:
|
|
nvmem-cells:
|
|
maxItems: 6
|
|
nvmem-cell-names:
|
|
items:
|
|
- const: big_scale_calib1
|
|
- const: big_scale_calib2
|
|
- const: small_scale_calib1
|
|
- const: small_scale_calib2
|
|
- const: vbat_det_cal1
|
|
- const: vbat_det_cal2
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- "#io-channel-cells"
|
|
- hwlocks
|
|
- nvmem-cells
|
|
- nvmem-cell-names
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
pmic {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
adc@504 {
|
|
compatible = "sprd,ump9620-adc";
|
|
reg = <0x504>;
|
|
interrupt-parent = <&ump9620_pmic>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
|
|
#io-channel-cells = <1>;
|
|
hwlocks = <&hwlock 4>;
|
|
nvmem-cells = <&adc_bcal1>, <&adc_bcal2>,
|
|
<&adc_scal1>, <&adc_scal2>,
|
|
<&vbat_det_cal1>, <&vbat_det_cal2>;
|
|
nvmem-cell-names = "big_scale_calib1", "big_scale_calib2",
|
|
"small_scale_calib1", "small_scale_calib2",
|
|
"vbat_det_cal1", "vbat_det_cal2";
|
|
};
|
|
};
|
|
...
|