Merge d72cd4ad41 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi into android-mainline
A little step en route to v5.13-rc1 Signed-off-by: Lee Jones <lee.jones@linaro.org> Change-Id: Ia19a3fd31f6fb286efb764d6aba4945f7ad3706c
This commit is contained in:
@@ -1933,6 +1933,9 @@ N: Kukjin Kim
|
||||
E: kgene@kernel.org
|
||||
D: Samsung S3C, S5P and Exynos ARM architectures
|
||||
|
||||
N: Milo Kim
|
||||
D: TI LP855x, LP8727 and LP8788 drivers
|
||||
|
||||
N: Sangbeom Kim
|
||||
E: sbkim73@samsung.com
|
||||
D: Samsung SoC Audio (ASoC) drivers
|
||||
|
||||
@@ -44,3 +44,21 @@ Date: Feb 2020
|
||||
KernelVersion: 5.7
|
||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||
Description: Contains the device access mode: ro, rw or migration.
|
||||
|
||||
What: /sys/block/rnbd<N>/rnbd/resize
|
||||
Date: Feb 2020
|
||||
KernelVersion: 5.7
|
||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||
Description: Write the number of sectors to change the size of the disk.
|
||||
|
||||
What: /sys/block/rnbd<N>/rnbd/remap_device
|
||||
Date: Feb 2020
|
||||
KernelVersion: 5.7
|
||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||
Description: Remap the disconnected device if the session is not destroyed yet.
|
||||
|
||||
What: /sys/block/rnbd<N>/rnbd/nr_poll_queues
|
||||
Date: Feb 2020
|
||||
KernelVersion: 5.7
|
||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||
Description: Contains the number of poll-mode queues
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
What: /sys/class/power_supply/<supply_name>/alarm
|
||||
Date: April 2021
|
||||
KernelVersion: 5.13
|
||||
Contact: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Description:
|
||||
Battery trip point. When the remaining battery capacity crosses this
|
||||
value in either direction, the system will be notified and if
|
||||
necessary woken.
|
||||
|
||||
Set to zero to clear/disable.
|
||||
|
||||
Access: Read, Write
|
||||
|
||||
Valid values: In micro-Wh or micro-Ah, depending on the power unit
|
||||
of the battery
|
||||
@@ -85,6 +85,19 @@ Description: Expected format is the following::
|
||||
|
||||
By default "rw" is used.
|
||||
|
||||
nr_poll_queues
|
||||
specifies the number of poll-mode queues. If the IO has HIPRI flag,
|
||||
the block-layer will send the IO via the poll-mode queue.
|
||||
For fast network and device the polling is faster than interrupt-base
|
||||
IO handling because it saves time for context switching, switching to
|
||||
another process, handling the interrupt and switching back to the
|
||||
issuing process.
|
||||
|
||||
Set -1 if you want to set it as the number of CPUs
|
||||
By default rnbd client creates only irq-mode queues.
|
||||
|
||||
NOTICE: MUST make a unique session for a device using the poll-mode queues.
|
||||
|
||||
Exit Codes:
|
||||
|
||||
If the device is already mapped it will fail with EEXIST. If the input
|
||||
|
||||
@@ -3604,6 +3604,96 @@
|
||||
Currently this function knows 686a and 8231 chips.
|
||||
Format: [spp|ps2|epp|ecp|ecpepp]
|
||||
|
||||
pata_legacy.all= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to non-zero to probe primary and secondary ISA
|
||||
port ranges on PCI systems where no PCI PATA device
|
||||
has been found at either range. Disabled by default.
|
||||
|
||||
pata_legacy.autospeed= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to non-zero if a chip is present that snoops speed
|
||||
changes. Disabled by default.
|
||||
|
||||
pata_legacy.ht6560a= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to 1, 2, or 3 for HT 6560A on the primary channel,
|
||||
the secondary channel, or both channels respectively.
|
||||
Disabled by default.
|
||||
|
||||
pata_legacy.ht6560b= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to 1, 2, or 3 for HT 6560B on the primary channel,
|
||||
the secondary channel, or both channels respectively.
|
||||
Disabled by default.
|
||||
|
||||
pata_legacy.iordy_mask= [HW,LIBATA]
|
||||
Format: <int>
|
||||
IORDY enable mask. Set individual bits to allow IORDY
|
||||
for the respective channel. Bit 0 is for the first
|
||||
legacy channel handled by this driver, bit 1 is for
|
||||
the second channel, and so on. The sequence will often
|
||||
correspond to the primary legacy channel, the secondary
|
||||
legacy channel, and so on, but the handling of a PCI
|
||||
bus and the use of other driver options may interfere
|
||||
with the sequence. By default IORDY is allowed across
|
||||
all channels.
|
||||
|
||||
pata_legacy.opti82c46x= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to 1, 2, or 3 for Opti 82c611A on the primary
|
||||
channel, the secondary channel, or both channels
|
||||
respectively. Disabled by default.
|
||||
|
||||
pata_legacy.opti82c611a= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to 1, 2, or 3 for Opti 82c465MV on the primary
|
||||
channel, the secondary channel, or both channels
|
||||
respectively. Disabled by default.
|
||||
|
||||
pata_legacy.pio_mask= [HW,LIBATA]
|
||||
Format: <int>
|
||||
PIO mode mask for autospeed devices. Set individual
|
||||
bits to allow the use of the respective PIO modes.
|
||||
Bit 0 is for mode 0, bit 1 is for mode 1, and so on.
|
||||
All modes allowed by default.
|
||||
|
||||
pata_legacy.probe_all= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to non-zero to probe tertiary and further ISA
|
||||
port ranges on PCI systems. Disabled by default.
|
||||
|
||||
pata_legacy.probe_mask= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Probe mask for legacy ISA PATA ports. Depending on
|
||||
platform configuration and the use of other driver
|
||||
options up to 6 legacy ports are supported: 0x1f0,
|
||||
0x170, 0x1e8, 0x168, 0x1e0, 0x160, however probing
|
||||
of individual ports can be disabled by setting the
|
||||
corresponding bits in the mask to 1. Bit 0 is for
|
||||
the first port in the list above (0x1f0), and so on.
|
||||
By default all supported ports are probed.
|
||||
|
||||
pata_legacy.qdi= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to non-zero to probe QDI controllers. By default
|
||||
set to 1 if CONFIG_PATA_QDI_MODULE, 0 otherwise.
|
||||
|
||||
pata_legacy.winbond= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Set to non-zero to probe Winbond controllers. Use
|
||||
the standard I/O port (0x130) if 1, otherwise the
|
||||
value given is the I/O port to use (typically 0x1b0).
|
||||
By default set to 1 if CONFIG_PATA_WINBOND_VLB_MODULE,
|
||||
0 otherwise.
|
||||
|
||||
pata_platform.pio_mask= [HW,LIBATA]
|
||||
Format: <int>
|
||||
Supported PIO mode mask. Set individual bits to allow
|
||||
the use of the respective PIO modes. Bit 0 is for
|
||||
mode 0, bit 1 is for mode 1, and so on. Mode 0 only
|
||||
allowed by default.
|
||||
|
||||
pause_on_oops=
|
||||
Halt all CPUs after the first oops has been printed for
|
||||
the specified number of seconds. This is to be used if
|
||||
|
||||
@@ -5,7 +5,7 @@ DT_MK_SCHEMA ?= dt-mk-schema
|
||||
|
||||
DT_SCHEMA_LINT = $(shell which yamllint)
|
||||
|
||||
DT_SCHEMA_MIN_VERSION = 2020.8.1
|
||||
DT_SCHEMA_MIN_VERSION = 2021.2.1
|
||||
|
||||
PHONY += check_dtschema_version
|
||||
check_dtschema_version:
|
||||
@@ -55,6 +55,9 @@ override DTC_FLAGS := \
|
||||
-Wno-graph_child_address \
|
||||
-Wno-interrupt_provider
|
||||
|
||||
# Disable undocumented compatible checks until warning free
|
||||
override DT_CHECKER_FLAGS ?=
|
||||
|
||||
$(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
|
||||
$(call if_changed_rule,chkdt)
|
||||
|
||||
|
||||
@@ -26,10 +26,7 @@ properties:
|
||||
- const: simple-mfd
|
||||
|
||||
mboxes:
|
||||
$ref: '/schemas/types.yaml#/definitions/phandle'
|
||||
description: |
|
||||
Phandle to the firmware device's Mailbox.
|
||||
(See: ../mailbox/mailbox.txt for more information)
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
type: object
|
||||
|
||||
@@ -258,13 +258,11 @@ properties:
|
||||
where voltage is in V, frequency is in MHz.
|
||||
|
||||
power-domains:
|
||||
$ref: '/schemas/types.yaml#/definitions/phandle-array'
|
||||
description:
|
||||
List of phandles and PM domain specifiers, as defined by bindings of the
|
||||
PM domain provider (see also ../power_domain.txt).
|
||||
|
||||
power-domain-names:
|
||||
$ref: '/schemas/types.yaml#/definitions/string-array'
|
||||
description:
|
||||
A list of power domain name strings sorted in the same order as the
|
||||
power-domains property.
|
||||
|
||||
@@ -38,6 +38,8 @@ Required properties:
|
||||
|
||||
Optional properties:
|
||||
- ceva,broken-gen2: limit to gen1 speed instead of gen2.
|
||||
- phys: phandle for the PHY device
|
||||
- resets: phandle to the reset controller for the SATA IP
|
||||
|
||||
Examples:
|
||||
ahci@fd0c0000 {
|
||||
@@ -56,4 +58,6 @@ Examples:
|
||||
ceva,p1-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
|
||||
ceva,p1-retry-params = /bits/ 16 <0x0216 0x7F06>;
|
||||
ceva,broken-gen2;
|
||||
phys = <&psgtr 1 PHY_TYPE_SATA 1 1>;
|
||||
resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,176 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Tegra AHCI SATA Controller
|
||||
|
||||
maintainers:
|
||||
- Thierry Reding <thierry.reding@gmail.com>
|
||||
- Jonathan Hunter <jonathanh@nvidia.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nvidia,tegra124-ahci
|
||||
- nvidia,tegra132-ahci
|
||||
- nvidia,tegra210-ahci
|
||||
- nvidia,tegra186-ahci
|
||||
|
||||
reg:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
items:
|
||||
- description: AHCI registers
|
||||
- description: SATA configuration and IPFS registers
|
||||
- description: SATA AUX registers
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: sata
|
||||
- const: sata-oob
|
||||
|
||||
clocks:
|
||||
maxItems: 2
|
||||
|
||||
reset-names:
|
||||
minItems: 2
|
||||
items:
|
||||
- const: sata
|
||||
- const: sata-cold
|
||||
- const: sata-oob
|
||||
|
||||
resets:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
|
||||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
interconnect-names:
|
||||
items:
|
||||
- const: dma-mem
|
||||
- const: write
|
||||
|
||||
interconnects:
|
||||
maxItems: 2
|
||||
|
||||
power-domains:
|
||||
items:
|
||||
- description: SAX power-domain
|
||||
|
||||
phy-names:
|
||||
items:
|
||||
- const: sata-0
|
||||
|
||||
phys:
|
||||
maxItems: 1
|
||||
|
||||
hvdd-supply:
|
||||
description: SATA HVDD regulator supply.
|
||||
|
||||
vddio-supply:
|
||||
description: SATA VDDIO regulator supply.
|
||||
|
||||
avdd-supply:
|
||||
description: SATA AVDD regulator supply.
|
||||
|
||||
target-5v-supply:
|
||||
description: SATA 5V power regulator supply.
|
||||
|
||||
target-12v-supply:
|
||||
description: SATA 12V power regulator supply.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clock-names
|
||||
- clocks
|
||||
- reset-names
|
||||
- resets
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nvidia,tegra124-ahci
|
||||
- nvidia,tegra132-ahci
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 2
|
||||
reset-names:
|
||||
minItems: 3
|
||||
resets:
|
||||
minItems: 3
|
||||
required:
|
||||
- phys
|
||||
- phy-names
|
||||
- hvdd-supply
|
||||
- vddio-supply
|
||||
- avdd-supply
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nvidia,tegra210-ahci
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 3
|
||||
reset-names:
|
||||
minItems: 3
|
||||
resets:
|
||||
minItems: 3
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nvidia,tegra186-ahci
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 3
|
||||
reset-names:
|
||||
maxItems: 2
|
||||
resets:
|
||||
maxItems: 2
|
||||
required:
|
||||
- iommus
|
||||
- interconnect-names
|
||||
- interconnects
|
||||
- power-domains
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/tegra210-car.h>
|
||||
#include <dt-bindings/reset/tegra210-car.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
sata@70020000 {
|
||||
compatible = "nvidia,tegra210-ahci";
|
||||
reg = <0x70027000 0x00002000>, /* AHCI */
|
||||
<0x70020000 0x00007000>, /* SATA */
|
||||
<0x70001100 0x00010000>; /* SATA AUX */
|
||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_SATA>,
|
||||
<&tegra_car TEGRA210_CLK_SATA_OOB>;
|
||||
clock-names = "sata", "sata-oob";
|
||||
resets = <&tegra_car 124>,
|
||||
<&tegra_car 129>,
|
||||
<&tegra_car 123>;
|
||||
reset-names = "sata", "sata-cold", "sata-oob";
|
||||
};
|
||||
@@ -1,44 +0,0 @@
|
||||
Tegra SoC SATA AHCI controller
|
||||
|
||||
Required properties :
|
||||
- compatible : Must be one of:
|
||||
- Tegra124 : "nvidia,tegra124-ahci"
|
||||
- Tegra132 : "nvidia,tegra132-ahci", "nvidia,tegra124-ahci"
|
||||
- Tegra210 : "nvidia,tegra210-ahci"
|
||||
- reg : Should contain 2 entries:
|
||||
- AHCI register set (SATA BAR5)
|
||||
- SATA register set
|
||||
- interrupts : Defines the interrupt used by SATA
|
||||
- clocks : Must contain an entry for each entry in clock-names.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
- clock-names : Must include the following entries:
|
||||
- sata
|
||||
- sata-oob
|
||||
- resets : Must contain an entry for each entry in reset-names.
|
||||
See ../reset/reset.txt for details.
|
||||
- reset-names : Must include the following entries:
|
||||
- sata
|
||||
- sata-oob
|
||||
- sata-cold
|
||||
- phys : Must contain an entry for each entry in phy-names.
|
||||
See ../phy/phy-bindings.txt for details.
|
||||
- phy-names : Must include the following entries:
|
||||
- For Tegra124 and Tegra132:
|
||||
- sata-phy : XUSB PADCTL SATA PHY
|
||||
- For Tegra124 and Tegra132:
|
||||
- hvdd-supply : Defines the SATA HVDD regulator
|
||||
- vddio-supply : Defines the SATA VDDIO regulator
|
||||
- avdd-supply : Defines the SATA AVDD regulator
|
||||
- target-5v-supply : Defines the SATA 5V power regulator
|
||||
- target-12v-supply : Defines the SATA 12V power regulator
|
||||
|
||||
Optional properties:
|
||||
- reg :
|
||||
- AUX register set
|
||||
- clock-names :
|
||||
- cml1 :
|
||||
cml1 clock should be defined here if the PHY driver
|
||||
doesn't manage them. If it does, they should not be.
|
||||
- phy-names :
|
||||
- For T210:
|
||||
- sata-phy
|
||||
@@ -44,7 +44,7 @@ examples:
|
||||
- |
|
||||
clk@1c20000 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-pll1";
|
||||
compatible = "allwinner,sun4i-a10-pll1-clk";
|
||||
reg = <0x01c20000 0x4>;
|
||||
clocks = <&osc24M>;
|
||||
clock-output-names = "osc24M";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
* Time Base Generator Clock bindings for Marvell Armada 37xx SoCs
|
||||
|
||||
Marvell Armada 37xx SoCs provde Time Base Generator clocks which are
|
||||
Marvell Armada 37xx SoCs provide Time Base Generator clocks which are
|
||||
used as parent clocks for the peripheral clocks.
|
||||
|
||||
The TBG clock consumer should specify the desired clock by having the
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/clock/mediatek,mt7621-sysc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MT7621 Clock Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
||||
|
||||
description: |
|
||||
The MT7621 has a PLL controller from where the cpu clock is provided
|
||||
as well as derived clocks for the bus and the peripherals. It also
|
||||
can gate SoC device clocks.
|
||||
|
||||
Each clock is assigned an identifier and client nodes use this identifier
|
||||
to specify the clock which they consume.
|
||||
|
||||
All these identifiers could be found in:
|
||||
[1]: <include/dt-bindings/clock/mt7621-clk.h>.
|
||||
|
||||
The clocks are provided inside a system controller node.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- const: mediatek,mt7621-sysc
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#clock-cells":
|
||||
description:
|
||||
The first cell indicates the clock number, see [1] for available
|
||||
clocks.
|
||||
const: 1
|
||||
|
||||
ralink,memctl:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle of syscon used to control memory registers
|
||||
|
||||
clock-output-names:
|
||||
maxItems: 8
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#clock-cells'
|
||||
- ralink,memctl
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/mt7621-clk.h>
|
||||
|
||||
sysc: sysc@0 {
|
||||
compatible = "mediatek,mt7621-sysc", "syscon";
|
||||
reg = <0x0 0x100>;
|
||||
#clock-cells = <1>;
|
||||
ralink,memctl = <&memc>;
|
||||
clock-output-names = "xtal", "cpu", "bus",
|
||||
"50m", "125m", "150m",
|
||||
"250m", "270m";
|
||||
};
|
||||
@@ -18,10 +18,12 @@ description: |
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- socionext,milbeaut-m10v-ccu
|
||||
enum:
|
||||
- socionext,milbeaut-m10v-ccu
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description: external clock
|
||||
@@ -41,7 +43,7 @@ examples:
|
||||
# Clock controller node:
|
||||
- |
|
||||
m10v-clk-ctrl@1d021000 {
|
||||
compatible = "socionext,milbeaut-m10v-clk-ccu";
|
||||
compatible = "socionext,milbeaut-m10v-ccu";
|
||||
reg = <0x1d021000 0x4000>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&clki40mhz>;
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/clock/qcom,gcc-sdm845.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Global Clock & Reset Controller Binding
|
||||
|
||||
maintainers:
|
||||
- Stephen Boyd <sboyd@kernel.org>
|
||||
- Taniya Das <tdas@codeaurora.org>
|
||||
|
||||
description: |
|
||||
Qualcomm global clock control module which supports the clocks, resets and
|
||||
power domains on SDM845
|
||||
|
||||
See also:
|
||||
- dt-bindings/clock/qcom,gcc-sdm845.h
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,gcc-sdm845
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Board XO source
|
||||
- description: Board active XO source
|
||||
- description: Sleep clock source
|
||||
- description: PCIE 0 Pipe clock source
|
||||
- description: PCIE 1 Pipe clock source
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: bi_tcxo
|
||||
- const: bi_tcxo_ao
|
||||
- const: sleep_clk
|
||||
- const: pcie_0_pipe_clk
|
||||
- const: pcie_1_pipe_clk
|
||||
|
||||
'#clock-cells':
|
||||
const: 1
|
||||
|
||||
'#reset-cells':
|
||||
const: 1
|
||||
|
||||
'#power-domain-cells':
|
||||
const: 1
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
protected-clocks:
|
||||
description:
|
||||
Protected clock specifier list as per common clock binding.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#clock-cells'
|
||||
- '#reset-cells'
|
||||
- '#power-domain-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
# Example for GCC for SDM845:
|
||||
- |
|
||||
#include <dt-bindings/clock/qcom,rpmh.h>
|
||||
clock-controller@100000 {
|
||||
compatible = "qcom,gcc-sdm845";
|
||||
reg = <0x100000 0x1f0000>;
|
||||
clocks = <&rpmhcc RPMH_CXO_CLK>,
|
||||
<&rpmhcc RPMH_CXO_CLK_A>,
|
||||
<&sleep_clk>,
|
||||
<&pcie0_lane>,
|
||||
<&pcie1_lane>;
|
||||
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk", "pcie_0_pipe_clk", "pcie_1_pipe_clk";
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
...
|
||||
@@ -32,7 +32,6 @@ description: |
|
||||
- dt-bindings/clock/qcom,gcc-mdm9615.h
|
||||
- dt-bindings/reset/qcom,gcc-mdm9615.h
|
||||
- dt-bindings/clock/qcom,gcc-sdm660.h (qcom,gcc-sdm630 and qcom,gcc-sdm660)
|
||||
- dt-bindings/clock/qcom,gcc-sdm845.h
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@@ -52,7 +51,6 @@ properties:
|
||||
- qcom,gcc-mdm9615
|
||||
- qcom,gcc-sdm630
|
||||
- qcom,gcc-sdm660
|
||||
- qcom,gcc-sdm845
|
||||
|
||||
'#clock-cells':
|
||||
const: 1
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/clock/rockchip,rk3568-cru.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROCKCHIP rk3568 Family Clock Control Module Binding
|
||||
|
||||
maintainers:
|
||||
- Elaine Zhang <zhangqing@rock-chips.com>
|
||||
- Heiko Stuebner <heiko@sntech.de>
|
||||
|
||||
description: |
|
||||
The RK3568 clock controller generates the clock and also implements a
|
||||
reset controller for SoC peripherals.
|
||||
(examples: provide SCLK_UART1\PCLK_UART1 and SRST_P_UART1\SRST_S_UART1 for UART module)
|
||||
Each clock is assigned an identifier and client nodes can use this identifier
|
||||
to specify the clock which they consume. All available clocks are defined as
|
||||
preprocessor macros in the dt-bindings/clock/rk3568-cru.h headers and can be
|
||||
used in device tree sources.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- rockchip,rk3568-cru
|
||||
- rockchip,rk3568-pmucru
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#clock-cells":
|
||||
const: 1
|
||||
|
||||
"#reset-cells":
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#clock-cells"
|
||||
- "#reset-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
# Clock Control Module node:
|
||||
- |
|
||||
pmucru: clock-controller@fdd00000 {
|
||||
compatible = "rockchip,rk3568-pmucru";
|
||||
reg = <0xfdd00000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
- |
|
||||
cru: clock-controller@fdd20000 {
|
||||
compatible = "rockchip,rk3568-cru";
|
||||
reg = <0xfdd20000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
@@ -12,6 +12,9 @@ Required properties:
|
||||
|
||||
Optional properties:
|
||||
|
||||
- manufacturer-id : <u32> Manufacturer ID value read from Mode Register 5
|
||||
- revision-id : <u32 u32> Revision IDs read from Mode Registers 6 and 7
|
||||
|
||||
The following optional properties represent the minimum value of some AC
|
||||
timing parameters of the DDR device in terms of number of clock cycles.
|
||||
These values shall be obtained from the device data-sheet.
|
||||
@@ -49,6 +52,8 @@ samsung_K3QF2F20DB: lpddr3 {
|
||||
compatible = "samsung,K3QF2F20DB", "jedec,lpddr3";
|
||||
density = <16384>;
|
||||
io-width = <32>;
|
||||
manufacturer-id = <1>;
|
||||
revision-id = <123 234>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
|
||||
@@ -73,7 +73,6 @@ properties:
|
||||
clock-output-names:
|
||||
description:
|
||||
Name of the LCD pixel clock created.
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
maxItems: 1
|
||||
|
||||
dmas:
|
||||
|
||||
@@ -77,12 +77,6 @@ examples:
|
||||
|
||||
clock-output-names = "dsi1_byte", "dsi1_ddr2", "dsi1_ddr";
|
||||
|
||||
pitouchscreen: panel@0 {
|
||||
compatible = "raspberrypi,touchscreen";
|
||||
reg = <0>;
|
||||
|
||||
/* ... */
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
@@ -2,14 +2,14 @@ Qualcomm Technologies, Inc. DPU KMS
|
||||
|
||||
Description:
|
||||
|
||||
Device tree bindings for MSM Mobile Display Subsytem(MDSS) that encapsulates
|
||||
Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
|
||||
sub-blocks like DPU display controller, DSI and DP interfaces etc.
|
||||
The DPU display controller is found in SDM845 SoC.
|
||||
|
||||
MDSS:
|
||||
Required properties:
|
||||
- compatible: "qcom,sdm845-mdss", "qcom,sc7180-mdss"
|
||||
- reg: physical base address and length of contoller's registers.
|
||||
- reg: physical base address and length of controller's registers.
|
||||
- reg-names: register region names. The following region is required:
|
||||
* "mdss"
|
||||
- power-domains: a power domain consumer specifier according to
|
||||
|
||||
@@ -40,7 +40,7 @@ additionalProperties: false
|
||||
examples:
|
||||
- |
|
||||
panel {
|
||||
compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
|
||||
compatible = "startek,startek-kd050c", "panel-dpi";
|
||||
label = "osddisplay";
|
||||
power-supply = <&vcc_supply>;
|
||||
backlight = <&backlight>;
|
||||
|
||||
@@ -64,7 +64,7 @@ examples:
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/dma/qcom-gpi.h>
|
||||
gpi_dma0: dma-controller@800000 {
|
||||
compatible = "qcom,gpi-dma";
|
||||
compatible = "qcom,sdm845-gpi-dma";
|
||||
#dma-cells = <3>;
|
||||
reg = <0x00800000 0x60000>;
|
||||
iommus = <&apps_smmu 0x0016 0x0>;
|
||||
|
||||
@@ -43,8 +43,7 @@ properties:
|
||||
|
||||
gpio-ranges: true
|
||||
|
||||
gpio-ranges-group-names:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
gpio-ranges-group-names: true
|
||||
|
||||
socionext,interrupt-ranges:
|
||||
description: |
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
$id: "http://devicetree.org/schemas/i2c/xlnx,xps-iic-2.00.a.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: ilinx IIC controller Device Tree Bindings
|
||||
title: Xilinx IIC controller Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- info@mocean-labs.com
|
||||
|
||||
@@ -157,9 +157,10 @@ examples:
|
||||
i2c-scl-hz = <100000>;
|
||||
|
||||
/* I2C device. */
|
||||
nunchuk: nunchuk@52 {
|
||||
compatible = "nintendo,nunchuk";
|
||||
reg = <0x52 0x0 0x10>;
|
||||
eeprom@57 {
|
||||
compatible = "atmel,24c01";
|
||||
reg = <0x57 0x0 0x10>;
|
||||
pagesize = <0x8>;
|
||||
};
|
||||
|
||||
/* I3C device with a static I2C address. */
|
||||
|
||||
@@ -53,11 +53,6 @@ examples:
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ts_adc_syscon: ts_adc_syscon@180a6000 {
|
||||
compatible = "brcm,iproc-ts-adc-syscon","syscon";
|
||||
reg = <0x180a6000 0xc30>;
|
||||
};
|
||||
|
||||
adc {
|
||||
compatible = "brcm,iproc-static-adc";
|
||||
adc-syscon = <&ts_adc_syscon>;
|
||||
|
||||
@@ -83,7 +83,7 @@ examples:
|
||||
#size-cells = <0>;
|
||||
|
||||
gyroscope@0 {
|
||||
compatible = "nxp,fxas2102c";
|
||||
compatible = "nxp,fxas21002c";
|
||||
reg = <0x0>;
|
||||
|
||||
spi-max-frequency = <2000000>;
|
||||
|
||||
@@ -48,7 +48,6 @@ properties:
|
||||
vdd-supply: true
|
||||
|
||||
capella,aset-resistance-ohms:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [50000, 100000, 300000, 600000]
|
||||
description: >
|
||||
Sensitivity calibration resistance. Note that calibration curves
|
||||
|
||||
@@ -11,12 +11,12 @@ maintainers:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: upisemi,asd5182
|
||||
const: upisemi,usd5182
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
upsemi,glass-coef:
|
||||
upisemi,glass-coef:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
glass attenuation factor - compensation factor of resolution 1000
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
===========
|
||||
Device Tree
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
ABI
|
||||
submitting-patches
|
||||
writing-bindings
|
||||
writing-schema
|
||||
submitting-patches
|
||||
|
||||
@@ -32,6 +32,12 @@ properties:
|
||||
Duration in seconds which the key should be kept pressed for device to
|
||||
power off automatically. Device with key pressed shutdown feature can
|
||||
specify this property.
|
||||
|
||||
reset-time-sec:
|
||||
description:
|
||||
Duration in seconds which the key should be kept pressed for device to
|
||||
reset automatically. Device with key pressed reset feature can specify
|
||||
this property.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
@@ -47,7 +47,7 @@ examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
htintc: interrupt-controller@1fb000080 {
|
||||
compatible = "loongson,htintc-1.0";
|
||||
compatible = "loongson,htpic-1.0";
|
||||
reg = <0xfb000080 0x40>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
$id: http://devicetree.org/schemas/leds/backlight/kinetic,ktd253.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Kinetic Technologies KTD253 one-wire backlight
|
||||
title: Kinetic Technologies KTD253 and KTD259 one-wire backlight
|
||||
|
||||
maintainers:
|
||||
- Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
description: |
|
||||
The Kinetic Technologies KTD253 is a white LED backlight that is
|
||||
The Kinetic Technologies KTD253 and KTD259 are white LED backlights
|
||||
controlled by a single GPIO line. If you just turn on the backlight
|
||||
it goes to maximum backlight then you can set the level of backlight
|
||||
using pulses on the enable wire. This is sometimes referred to as
|
||||
@@ -21,7 +21,10 @@ allOf:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: kinetic,ktd253
|
||||
items:
|
||||
- enum:
|
||||
- kinetic,ktd253
|
||||
- kinetic,ktd259
|
||||
|
||||
enable-gpios:
|
||||
description: GPIO to use to enable/disable and dim the backlight.
|
||||
|
||||
@@ -19,6 +19,7 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8941-wled
|
||||
- qcom,pmi8994-wled
|
||||
- qcom,pmi8998-wled
|
||||
- qcom,pm660l-wled
|
||||
- qcom,pm8150l-wled
|
||||
|
||||
@@ -14,6 +14,17 @@ properties:
|
||||
compatible:
|
||||
const: intel,lgm-ssoled
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: sso
|
||||
- const: fpid
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
@@ -36,8 +47,15 @@ properties:
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^led@[0-23]$":
|
||||
"^led@[0-2]$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
@@ -81,7 +99,7 @@ examples:
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
ssogpio: ssogpio@e0d40000 {
|
||||
compatible = "intel,sso-led";
|
||||
compatible = "intel,lgm-ssoled";
|
||||
reg = <0xE0D40000 0x2E4>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
@@ -103,8 +121,8 @@ examples:
|
||||
led-gpio = <&ssogpio 0 0>;
|
||||
};
|
||||
|
||||
led@23 {
|
||||
reg = <23>;
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
led-gpio = <&ssogpio 23 0>;
|
||||
|
||||
@@ -25,6 +25,8 @@ properties:
|
||||
items:
|
||||
- enum:
|
||||
- qcom,sm8250-ipcc
|
||||
- qcom,sm8350-ipcc
|
||||
- qcom,sc7280-ipcc
|
||||
- const: qcom,ipcc
|
||||
|
||||
reg:
|
||||
|
||||
@@ -15,6 +15,7 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- sprd,sc9860-mailbox
|
||||
- sprd,sc9863a-mailbox
|
||||
|
||||
reg:
|
||||
items:
|
||||
@@ -22,9 +23,15 @@ properties:
|
||||
- description: outbox registers' base address
|
||||
|
||||
interrupts:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
minItems: 2
|
||||
items:
|
||||
- description: inbox interrupt
|
||||
- description: outbox interrupt
|
||||
- const: inbox
|
||||
- const: outbox
|
||||
- const: supp-outbox
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
@@ -40,6 +47,7 @@ required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- "#mbox-cells"
|
||||
- clocks
|
||||
- clock-names
|
||||
@@ -56,5 +64,6 @@ examples:
|
||||
clock-names = "enable";
|
||||
clocks = <&aon_gate 53>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "inbox", "outbox";
|
||||
};
|
||||
...
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
Texas Instruments' Secure Proxy
|
||||
========================================
|
||||
|
||||
The Texas Instruments' secure proxy is a mailbox controller that has
|
||||
configurable queues selectable at SoC(System on Chip) integration. The
|
||||
Message manager is broken up into different address regions that are
|
||||
called "threads" or "proxies" - each instance is unidirectional and is
|
||||
instantiated at SoC integration level by system controller to indicate
|
||||
receive or transmit path.
|
||||
|
||||
Message Manager Device Node:
|
||||
===========================
|
||||
Required properties:
|
||||
--------------------
|
||||
- compatible: Shall be "ti,am654-secure-proxy"
|
||||
- reg-names target_data - Map the proxy data region
|
||||
rt - Map the realtime status region
|
||||
scfg - Map the configuration region
|
||||
- reg: Contains the register map per reg-names.
|
||||
- #mbox-cells Shall be 1 and shall refer to the transfer path
|
||||
called thread.
|
||||
- interrupt-names: Contains interrupt names matching the rx transfer path
|
||||
for a given SoC. Receive interrupts shall be of the
|
||||
format: "rx_<PID>".
|
||||
- interrupts: Contains the interrupt information corresponding to
|
||||
interrupt-names property.
|
||||
|
||||
Example(AM654):
|
||||
------------
|
||||
|
||||
secure_proxy: mailbox@32c00000 {
|
||||
compatible = "ti,am654-secure-proxy";
|
||||
#mbox-cells = <1>;
|
||||
reg-names = "target_data", "rt", "scfg";
|
||||
reg = <0x0 0x32c00000 0x0 0x100000>,
|
||||
<0x0 0x32400000 0x0 0x100000>,
|
||||
<0x0 0x32800000 0x0 0x100000>;
|
||||
interrupt-names = "rx_011";
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
dmsc: dmsc {
|
||||
[...]
|
||||
mbox-names = "rx", "tx";
|
||||
# RX Thread ID is 11
|
||||
# TX Thread ID is 13
|
||||
mboxes= <&secure_proxy 11>,
|
||||
<&secure_proxy 13>;
|
||||
[...]
|
||||
};
|
||||
@@ -0,0 +1,79 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mailbox/ti,secure-proxy.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments' Secure Proxy
|
||||
|
||||
maintainers:
|
||||
- Nishanth Menon <nm@ti.com>
|
||||
|
||||
description: |
|
||||
The Texas Instruments' secure proxy is a mailbox controller that has
|
||||
configurable queues selectable at SoC(System on Chip) integration. The
|
||||
Message manager is broken up into different address regions that are
|
||||
called "threads" or "proxies" - each instance is unidirectional and is
|
||||
instantiated at SoC integration level by system controller to indicate
|
||||
receive or transmit path.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^mailbox@[0-9a-f]+$"
|
||||
|
||||
compatible:
|
||||
const: ti,am654-secure-proxy
|
||||
|
||||
"#mbox-cells":
|
||||
const: 1
|
||||
description:
|
||||
Contains the secure proxy thread ID used for the specific transfer path.
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: target_data
|
||||
- const: rt
|
||||
- const: scfg
|
||||
|
||||
reg:
|
||||
minItems: 3
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
maxItems: 100
|
||||
items:
|
||||
pattern: "^rx_[0-9]{3}$"
|
||||
description:
|
||||
Contains the interrupt name information for the Rx interrupt path for
|
||||
secure proxy thread in the form 'rx_<PID>'.
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 100
|
||||
description:
|
||||
Contains the interrupt information for the Rx interrupt path for secure
|
||||
proxy.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg-names
|
||||
- reg
|
||||
- interrupt-names
|
||||
- interrupts
|
||||
- "#mbox-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
secure_proxy: mailbox@32c00000 {
|
||||
compatible = "ti,am654-secure-proxy";
|
||||
#mbox-cells = <1>;
|
||||
reg-names = "target_data", "rt", "scfg";
|
||||
reg = <0x32c00000 0x100000>,
|
||||
<0x32400000 0x100000>,
|
||||
<0x32800000 0x100000>;
|
||||
interrupt-names = "rx_011";
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
@@ -0,0 +1,167 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/media/qcom,sm8250-venus.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Qualcomm Venus video encode and decode accelerators
|
||||
|
||||
maintainers:
|
||||
- Stanimir Varbanov <stanimir.varbanov@linaro.org>
|
||||
|
||||
description: |
|
||||
The Venus IP is a video encode and decode accelerator present
|
||||
on Qualcomm platforms
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,sm8250-venus
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
power-domains:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
|
||||
power-domain-names:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
items:
|
||||
- const: venus
|
||||
- const: vcodec0
|
||||
- const: mx
|
||||
|
||||
clocks:
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: iface
|
||||
- const: core
|
||||
- const: vcodec0_core
|
||||
|
||||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
memory-region:
|
||||
maxItems: 1
|
||||
|
||||
interconnects:
|
||||
maxItems: 2
|
||||
|
||||
interconnect-names:
|
||||
items:
|
||||
- const: cpu-cfg
|
||||
- const: video-mem
|
||||
|
||||
resets:
|
||||
maxItems: 2
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: bus
|
||||
- const: core
|
||||
|
||||
video-decoder:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: venus-decoder
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
video-encoder:
|
||||
type: object
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: venus-encoder
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
video-firmware:
|
||||
type: object
|
||||
|
||||
description: |
|
||||
Firmware subnode is needed when the platform does not
|
||||
have TrustZone.
|
||||
|
||||
properties:
|
||||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- iommus
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- power-domains
|
||||
- power-domain-names
|
||||
- clocks
|
||||
- clock-names
|
||||
- interconnects
|
||||
- interconnect-names
|
||||
- iommus
|
||||
- memory-region
|
||||
- resets
|
||||
- reset-names
|
||||
- video-decoder
|
||||
- video-encoder
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/qcom,videocc-sm8250.h>
|
||||
#include <dt-bindings/interconnect/qcom,sm8250.h>
|
||||
#include <dt-bindings/clock/qcom,gcc-sm8250.h>
|
||||
#include <dt-bindings/power/qcom-rpmpd.h>
|
||||
|
||||
venus: video-codec@aa00000 {
|
||||
compatible = "qcom,sm8250-venus";
|
||||
reg = <0x0aa00000 0xff000>;
|
||||
interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&videocc MVS0C_GDSC>,
|
||||
<&videocc MVS0_GDSC>,
|
||||
<&rpmhpd SM8250_MX>;
|
||||
power-domain-names = "venus", "vcodec0", "mx";
|
||||
|
||||
clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
|
||||
<&videocc VIDEO_CC_MVS0C_CLK>,
|
||||
<&videocc VIDEO_CC_MVS0_CLK>;
|
||||
clock-names = "iface", "core", "vcodec0_core";
|
||||
|
||||
interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_VENUS_CFG>,
|
||||
<&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI_CH0>;
|
||||
interconnect-names = "cpu-cfg", "video-mem";
|
||||
|
||||
iommus = <&apps_smmu 0x2100 0x0400>;
|
||||
memory-region = <&video_mem>;
|
||||
|
||||
resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>,
|
||||
<&videocc VIDEO_CC_MVS0C_CLK_ARES>;
|
||||
reset-names = "bus", "core";
|
||||
|
||||
video-decoder {
|
||||
compatible = "venus-decoder";
|
||||
};
|
||||
|
||||
video-encoder {
|
||||
compatible = "venus-encoder";
|
||||
};
|
||||
};
|
||||
@@ -215,130 +215,3 @@ properties:
|
||||
CCP2, for instance.
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
# The example snippet below describes two data pipelines. ov772x and imx074
|
||||
# are camera sensors with a parallel and serial (MIPI CSI-2) video bus
|
||||
# respectively. Both sensors are on the I2C control bus corresponding to the
|
||||
# i2c0 controller node. ov772x sensor is linked directly to the ceu0 video
|
||||
# host interface. imx074 is linked to ceu0 through the MIPI CSI-2 receiver
|
||||
# (csi2). ceu0 has a (single) DMA engine writing captured data to memory.
|
||||
# ceu0 node has a single 'port' node which may indicate that at any time
|
||||
# only one of the following data pipelines can be active:
|
||||
# ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
|
||||
- |
|
||||
ceu@fe910000 {
|
||||
compatible = "renesas,sh-mobile-ceu";
|
||||
reg = <0xfe910000 0xa0>;
|
||||
interrupts = <0x880>;
|
||||
|
||||
mclk: master_clock {
|
||||
compatible = "renesas,ceu-clock";
|
||||
#clock-cells = <1>;
|
||||
clock-frequency = <50000000>; /* Max clock frequency */
|
||||
clock-output-names = "mclk";
|
||||
};
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* Parallel bus endpoint */
|
||||
ceu0_1: endpoint@1 {
|
||||
reg = <1>; /* Local endpoint # */
|
||||
remote-endpoint = <&ov772x_1_1>; /* Remote phandle */
|
||||
bus-width = <8>; /* Used data lines */
|
||||
data-shift = <2>; /* Lines 9:2 are used */
|
||||
|
||||
/* If hsync-active/vsync-active are missing,
|
||||
embedded BT.656 sync is used */
|
||||
hsync-active = <0>; /* Active low */
|
||||
vsync-active = <0>; /* Active low */
|
||||
data-active = <1>; /* Active high */
|
||||
pclk-sample = <1>; /* Rising */
|
||||
};
|
||||
|
||||
/* MIPI CSI-2 bus endpoint */
|
||||
ceu0_0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&csi2_2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera@21 {
|
||||
compatible = "ovti,ov772x";
|
||||
reg = <0x21>;
|
||||
vddio-supply = <®ulator1>;
|
||||
vddcore-supply = <®ulator2>;
|
||||
|
||||
clock-frequency = <20000000>;
|
||||
clocks = <&mclk 0>;
|
||||
clock-names = "xclk";
|
||||
|
||||
port {
|
||||
/* With 1 endpoint per port no need for addresses. */
|
||||
ov772x_1_1: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&ceu0_1>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <0>; /* Who came up with an
|
||||
inverter here ?... */
|
||||
data-active = <1>;
|
||||
pclk-sample = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
camera@1a {
|
||||
compatible = "sony,imx074";
|
||||
reg = <0x1a>;
|
||||
vddio-supply = <®ulator1>;
|
||||
vddcore-supply = <®ulator2>;
|
||||
|
||||
clock-frequency = <30000000>; /* Shared clock with ov772x_1 */
|
||||
clocks = <&mclk 0>;
|
||||
clock-names = "sysclk"; /* Assuming this is the
|
||||
name in the datasheet */
|
||||
port {
|
||||
imx074_1: endpoint {
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
remote-endpoint = <&csi2_1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
csi2: csi2@ffc90000 {
|
||||
compatible = "renesas,sh-mobile-csi2";
|
||||
reg = <0xffc90000 0x1000>;
|
||||
interrupts = <0x17a0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@1 {
|
||||
compatible = "renesas,csi2c"; /* One of CSI2I and CSI2C. */
|
||||
reg = <1>; /* CSI-2 PHY #1 of 2: PHY_S,
|
||||
PHY_M has port address 0,
|
||||
is unused. */
|
||||
csi2_1: endpoint {
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <2 1>;
|
||||
remote-endpoint = <&imx074_1>;
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>; /* port 2: link to the CEU */
|
||||
|
||||
csi2_2: endpoint {
|
||||
remote-endpoint = <&ceu0_0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
Video Multiplexer
|
||||
=================
|
||||
|
||||
Video multiplexers allow to select between multiple input ports. Video received
|
||||
on the active input port is passed through to the output port. Muxes described
|
||||
by this binding are controlled by a multiplexer controller that is described by
|
||||
the bindings in Documentation/devicetree/bindings/mux/mux-controller.txt
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "video-mux"
|
||||
- mux-controls : mux controller node to use for operating the mux
|
||||
- #address-cells: should be <1>
|
||||
- #size-cells: should be <0>
|
||||
- port@*: at least three port nodes containing endpoints connecting to the
|
||||
source and sink devices according to of_graph bindings. The last port is
|
||||
the output port, all others are inputs.
|
||||
|
||||
Optionally, #address-cells, #size-cells, and port nodes can be grouped under a
|
||||
ports node as described in Documentation/devicetree/bindings/graph.txt.
|
||||
|
||||
Example:
|
||||
|
||||
mux: mux-controller {
|
||||
compatible = "gpio-mux";
|
||||
#mux-control-cells = <0>;
|
||||
|
||||
mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
video-mux {
|
||||
compatible = "video-mux";
|
||||
mux-controls = <&mux>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
mux_in0: endpoint {
|
||||
remote-endpoint = <&video_source0_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
mux_in1: endpoint {
|
||||
remote-endpoint = <&video_source1_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
mux_out: endpoint {
|
||||
remote-endpoint = <&capture_interface_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,106 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/video-mux.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Video Multiplexer
|
||||
|
||||
maintainers:
|
||||
- Sakari Ailus <sakari.ailus@linux.intel.com>
|
||||
- Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
description:
|
||||
Video multiplexers allow to select between multiple input ports. Video
|
||||
received on the active input port is passed through to the output port. Muxes
|
||||
described by this binding are controlled by a multiplexer controller.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: video-mux
|
||||
|
||||
mux-controls:
|
||||
maxItems: 1
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
patternProperties:
|
||||
'^port@':
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
required:
|
||||
- port@0
|
||||
- port@1
|
||||
- port@2
|
||||
|
||||
patternProperties:
|
||||
'^port@':
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
At least three port nodes containing endpoints connecting to the source
|
||||
and sink devices according to of_graph bindings. The last port is the
|
||||
output port, all others are inputs.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mux-controls
|
||||
|
||||
oneOf:
|
||||
- required:
|
||||
- ports
|
||||
- required:
|
||||
- port@0
|
||||
- port@1
|
||||
- port@2
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
mux: mux-controller {
|
||||
compatible = "gpio-mux";
|
||||
#mux-control-cells = <0>;
|
||||
|
||||
mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
video-mux {
|
||||
compatible = "video-mux";
|
||||
mux-controls = <&mux>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
mux_in0: endpoint {
|
||||
remote-endpoint = <&video_source0_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
mux_in1: endpoint {
|
||||
remote-endpoint = <&video_source1_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
mux_out: endpoint {
|
||||
remote-endpoint = <&capture_interface_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -34,7 +34,7 @@ properties:
|
||||
- description: EMC general interrupt
|
||||
|
||||
memory-region:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
maxItems: 1
|
||||
description:
|
||||
phandle to a reserved memory region describing the table of EMC
|
||||
frequencies trained by the firmware
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/actions,atc260x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Actions Semi ATC260x Power Management IC bindings
|
||||
|
||||
maintainers:
|
||||
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
- Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
|
||||
|
||||
description: |
|
||||
ATC260x series PMICs integrates Audio Codec, Power Management, RTC, IR
|
||||
and GPIO controller blocks. Currently only the PM related functionalities
|
||||
(i.e. regulators and system power-off/reboot) for the ATC2603C and ATC2609A
|
||||
chip variants are supported.
|
||||
ATC2603C includes 3 programmable DC-DC converters, 9 programmable LDO
|
||||
regulators and 1 fixed LDO regulator.
|
||||
ATC2609A includes 5 programmable DC-DC converters and 10 programmable LDO
|
||||
regulators.
|
||||
|
||||
allOf:
|
||||
- $ref: ../input/input.yaml
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- actions,atc2603c
|
||||
- actions,atc2609a
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
reset-time-sec:
|
||||
description: |
|
||||
Duration in seconds which the key should be kept pressed for device
|
||||
to reset automatically. The hardware default is 8. Use 0 to disable
|
||||
this functionality.
|
||||
enum: [0, 6, 8, 10, 12]
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: |
|
||||
List of child nodes specifying the regulators, depending on chip variant:
|
||||
* ATC2603C: dcdc[1-3], ldo[1-3,5-8,11,12], switchldo1
|
||||
* ATC2609A: dcdc[0-4], ldo[0-9]
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- actions,atc2603c-regulator
|
||||
- actions,atc2609a-regulator
|
||||
|
||||
switchldo1:
|
||||
type: object
|
||||
$ref: ../regulator/regulator.yaml
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
regulator-boot-on: true
|
||||
regulator-always-on: true
|
||||
regulator-min-microvolt: true
|
||||
regulator-max-microvolt: true
|
||||
regulator-allow-bypass: true
|
||||
regulator-active-discharge: true
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
patternProperties:
|
||||
"^(dcdc[0-4]|ldo[0-9]|ldo1[1-2]|switchldo1)-supply$":
|
||||
description: ATC260x voltage regulators supplies
|
||||
|
||||
"^(dcdc[0-4]|ldo[0-9]|ldo1[1-2])$":
|
||||
type: object
|
||||
$ref: ../regulator/regulator.yaml
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
regulator-boot-on: true
|
||||
regulator-always-on: true
|
||||
regulator-min-microvolt: true
|
||||
regulator-max-microvolt: true
|
||||
regulator-allow-bypass: true
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: actions,atc2603c-regulator
|
||||
then:
|
||||
patternProperties:
|
||||
"^(dcdc[0,4]|ldo[0,4,9])(-supply)?$": false
|
||||
|
||||
"^(ldo|dcdc)":
|
||||
properties:
|
||||
regulator-allow-bypass: false
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: actions,atc2609a-regulator
|
||||
then:
|
||||
patternProperties:
|
||||
"^(ldo1[1-2]|switchldo1)(-supply)?$": false
|
||||
|
||||
"^(dcdc|ldo[3-9])":
|
||||
properties:
|
||||
regulator-allow-bypass: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@65 {
|
||||
compatible = "actions,atc2603c";
|
||||
reg = <0x65>;
|
||||
interrupt-parent = <&sirq>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
reset-time-sec = <6>;
|
||||
|
||||
regulators {
|
||||
compatible = "actions,atc2603c-regulator";
|
||||
|
||||
dcdc1-supply = <®_5v0>;
|
||||
dcdc3-supply = <®_5v0>;
|
||||
ldo5-supply = <®_5v0>;
|
||||
switchldo1-supply = <&vcc>;
|
||||
|
||||
vdd_cpu: dcdc1 {
|
||||
regulator-name = "VDD_CPU";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc: dcdc3 {
|
||||
regulator-name = "VCC";
|
||||
regulator-min-microvolt = <2600000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_3v1: ldo5 {
|
||||
regulator-name = "VCC_3V1";
|
||||
regulator-min-microvolt = <2600000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
sd_vcc: switchldo1 {
|
||||
regulator-name = "SD_VCC";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/netronix,ntxec.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Netronix Embedded Controller
|
||||
|
||||
maintainers:
|
||||
- Jonathan Neuschäfer <j.neuschaefer@gmx.net>
|
||||
|
||||
description: |
|
||||
This EC is found in e-book readers of multiple brands (e.g. Kobo, Tolino), and
|
||||
is typically implemented as a TI MSP430 microcontroller.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: netronix,ntxec
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: The I2C address of the EC
|
||||
|
||||
system-power-controller:
|
||||
type: boolean
|
||||
description: See Documentation/devicetree/bindings/power/power-controller.txt
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
description:
|
||||
The EC can signal interrupts via a GPIO line
|
||||
|
||||
"#pwm-cells":
|
||||
const: 2
|
||||
description: |
|
||||
Number of cells in a PWM specifier.
|
||||
|
||||
The following PWM channels are supported:
|
||||
- 0: The PWM channel controlled by registers 0xa1-0xa7
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ec: embedded-controller@43 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ntxec>;
|
||||
|
||||
compatible = "netronix,ntxec";
|
||||
reg = <0x43>;
|
||||
system-power-controller;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
#pwm-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&ec 0 50000>;
|
||||
power-supply = <&backlight_regulator>;
|
||||
};
|
||||
|
||||
backlight_regulator: regulator-dummy {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "backlight";
|
||||
};
|
||||
@@ -1,99 +0,0 @@
|
||||
Qualcomm PM8xxx PMIC multi-function devices
|
||||
|
||||
The PM8xxx family of Power Management ICs are used to provide regulated
|
||||
voltages and other various functionality to Qualcomm SoCs.
|
||||
|
||||
= PROPERTIES
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,pm8058"
|
||||
"qcom,pm8821"
|
||||
"qcom,pm8921"
|
||||
|
||||
- #address-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 1
|
||||
|
||||
- #size-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 0
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: specifies the interrupt that indicates a subdevice
|
||||
has generated an interrupt (summary interrupt). The
|
||||
format of the specifier is defined by the binding document
|
||||
describing the node's interrupt parent.
|
||||
|
||||
- #interrupt-cells:
|
||||
Usage: required
|
||||
Value type : <u32>
|
||||
Definition: must be 2. Specifies the number of cells needed to encode
|
||||
an interrupt source. The 1st cell contains the interrupt
|
||||
number. The 2nd cell is the trigger type and level flags
|
||||
encoded as follows:
|
||||
|
||||
1 = low-to-high edge triggered
|
||||
2 = high-to-low edge triggered
|
||||
4 = active high level-sensitive
|
||||
8 = active low level-sensitive
|
||||
|
||||
- interrupt-controller:
|
||||
Usage: required
|
||||
Value type: <empty>
|
||||
Definition: identifies this node as an interrupt controller
|
||||
|
||||
= SUBCOMPONENTS
|
||||
|
||||
The PMIC contains multiple independent functions, each described in a subnode.
|
||||
The below bindings specify the set of valid subnodes.
|
||||
|
||||
== Real-Time Clock
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,pm8058-rtc"
|
||||
"qcom,pm8921-rtc"
|
||||
"qcom,pm8941-rtc"
|
||||
"qcom,pm8018-rtc"
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: single entry specifying the base address of the RTC registers
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: single entry specifying the RTC's alarm interrupt
|
||||
|
||||
- allow-set-time:
|
||||
Usage: optional
|
||||
Value type: <empty>
|
||||
Definition: indicates that the setting of RTC time is allowed by
|
||||
the host CPU
|
||||
|
||||
= EXAMPLE
|
||||
|
||||
pmicintc: pmic@0 {
|
||||
compatible = "qcom,pm8921";
|
||||
interrupts = <104 8>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rtc@11d {
|
||||
compatible = "qcom,pm8921-rtc";
|
||||
reg = <0x11d>;
|
||||
interrupts = <0x27 0>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,54 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/qcom-pm8xxx.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm PM8xxx PMIC multi-function devices
|
||||
|
||||
maintainers:
|
||||
- Satya Priya <skakit@codeaurora.org>
|
||||
|
||||
description: |
|
||||
The PM8xxx family of Power Management ICs are used to provide regulated
|
||||
voltages and other various functionality to Qualcomm SoCs.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8058
|
||||
- qcom,pm8821
|
||||
- qcom,pm8921
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
'#interrupt-cells':
|
||||
const: 2
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
patternProperties:
|
||||
"rtc@[0-9a-f]+$":
|
||||
type: object
|
||||
$ref: "../rtc/qcom-pm8xxx-rtc.yaml"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
- interrupts
|
||||
- '#interrupt-cells'
|
||||
- interrupt-controller
|
||||
|
||||
additionalProperties: false
|
||||
...
|
||||
@@ -0,0 +1,111 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/ricoh,rn5t618.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Ricoh RN5T567/RN5T618/RC5T619 PMIC
|
||||
|
||||
maintainers:
|
||||
- Andreas Kemnade <andreas@kemnade.info>
|
||||
|
||||
description: |
|
||||
Ricoh RN5T567/RN5T618/RC5T619 is a power management IC family which
|
||||
integrates 3 to 5 step-down DCDC converters, 7 to 10 low-dropout regulators,
|
||||
GPIOs, and a watchdog timer. It can be controlled through an I2C interface.
|
||||
The RN5T618/RC5T619 provides additionally a Li-ion battery charger,
|
||||
fuel gauge, and an ADC.
|
||||
The RC5T619 additionally includes USB charger detection and an RTC.
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ricoh,rn5t567
|
||||
then:
|
||||
properties:
|
||||
regulators:
|
||||
patternProperties:
|
||||
"^(DCDC[1-4]|LDO[1-5]|LDORTC[12])$":
|
||||
$ref: ../regulator/regulator.yaml
|
||||
additionalProperties: false
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ricoh,rn5t618
|
||||
then:
|
||||
properties:
|
||||
regulators:
|
||||
patternProperties:
|
||||
"^(DCDC[1-3]|LDO[1-5]|LDORTC[12])$":
|
||||
$ref: ../regulator/regulator.yaml
|
||||
additionalProperties: false
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ricoh,rc5t619
|
||||
then:
|
||||
properties:
|
||||
regulators:
|
||||
patternProperties:
|
||||
"^(DCDC[1-5]|LDO[1-9]|LDO10|LDORTC[12])$":
|
||||
$ref: ../regulator/regulator.yaml
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ricoh,rn5t567
|
||||
- ricoh,rn5t618
|
||||
- ricoh,rc5t619
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
system-power-controller:
|
||||
type: boolean
|
||||
description: |
|
||||
See Documentation/devicetree/bindings/power/power-controller.txt
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@32 {
|
||||
compatible = "ricoh,rn5t618";
|
||||
reg = <0x32>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
system-power-controller;
|
||||
|
||||
regulators {
|
||||
DCDC1 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
DCDC2 {
|
||||
regulator-min-microvolt = <1175000>;
|
||||
regulator-max-microvolt = <1175000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,52 +0,0 @@
|
||||
* Ricoh RN5T567/RN5T618 PMIC
|
||||
|
||||
Ricoh RN5T567/RN5T618/RC5T619 is a power management IC family which
|
||||
integrates 3 to 5 step-down DCDC converters, 7 to 10 low-dropout regulators,
|
||||
GPIOs, and a watchdog timer. It can be controlled through an I2C interface.
|
||||
The RN5T618/RC5T619 provides additionally a Li-ion battery charger,
|
||||
fuel gauge, and an ADC.
|
||||
The RC5T619 additionnally includes USB charger detection and an RTC.
|
||||
|
||||
Required properties:
|
||||
- compatible: must be one of
|
||||
"ricoh,rn5t567"
|
||||
"ricoh,rn5t618"
|
||||
"ricoh,rc5t619"
|
||||
- reg: the I2C slave address of the device
|
||||
|
||||
Optional properties:
|
||||
- interrupts: interrupt mapping for IRQ
|
||||
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
- system-power-controller:
|
||||
See Documentation/devicetree/bindings/power/power-controller.txt
|
||||
|
||||
Sub-nodes:
|
||||
- regulators: the node is required if the regulator functionality is
|
||||
needed. The valid regulator names are: DCDC1, DCDC2, DCDC3, DCDC4
|
||||
(RN5T567/RC5T619), LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7, LDO8,
|
||||
LDO9, LDO10, LDORTC1 and LDORTC2.
|
||||
LDO7-10 are specific to RC5T619.
|
||||
The common bindings for each individual regulator can be found in:
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
pmic@32 {
|
||||
compatible = "ricoh,rn5t618";
|
||||
reg = <0x32>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
system-power-controller;
|
||||
|
||||
regulators {
|
||||
DCDC1 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
DCDC2 {
|
||||
regulator-min-microvolt = <1175000>;
|
||||
regulator-max-microvolt = <1175000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,201 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD71815 Power Management Integrated Circuit bindings
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
||||
|
||||
description: |
|
||||
BD71815AGW is a single-chip power management ICs for battery-powered
|
||||
portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver
|
||||
for LED and a 500 mA single-cell linear charger. Also included is a Coulomb
|
||||
counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: rohm,bd71815
|
||||
|
||||
reg:
|
||||
description:
|
||||
I2C slave address.
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
"#gpio-cells":
|
||||
const: 2
|
||||
description: |
|
||||
The first cell is the pin number and the second cell is used to specify
|
||||
flags. See ../gpio/gpio.txt for more information.
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
"#clock-cells":
|
||||
const: 0
|
||||
|
||||
clock-output-names:
|
||||
const: bd71815-32k-out
|
||||
|
||||
rohm,clkout-open-drain:
|
||||
description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos".
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
|
||||
rohm,charger-sense-resistor-ohms:
|
||||
minimum: 10000000
|
||||
maximum: 50000000
|
||||
description: |
|
||||
BD71827 and BD71828 have SAR ADC for measuring charging currents.
|
||||
External sense resistor (RSENSE in data sheet) should be used. If
|
||||
something other but 30MOhm resistor is used the resistance value
|
||||
should be given here in Ohms.
|
||||
default: 30000000
|
||||
|
||||
regulators:
|
||||
$ref: ../regulator/rohm,bd71815-regulator.yaml
|
||||
description:
|
||||
List of child nodes that specify the regulators.
|
||||
|
||||
gpio-reserved-ranges:
|
||||
description: |
|
||||
Usage of BD71828 GPIO pins can be changed via OTP. This property can be
|
||||
used to mark the pins which should not be configured for GPIO. Please see
|
||||
the ../gpio/gpio.txt for more information.
|
||||
|
||||
rohm,enable-hidden-gpo:
|
||||
description: |
|
||||
The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the
|
||||
data-sheet as it's location in the middle of GND pins makes it hard to
|
||||
use on PCB. If your board has managed to use this pin you can enable the
|
||||
second GPO by defining this property. Dont enable this if you are unsure
|
||||
about how the E5 pin is connected on your board.
|
||||
type: boolean
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- "#clock-cells"
|
||||
- regulators
|
||||
- gpio-controller
|
||||
- "#gpio-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pmic: pmic@4b {
|
||||
compatible = "rohm,bd71815";
|
||||
reg = <0x4b>;
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
clocks = <&osc 0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "bd71815-32k-out";
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
rohm,charger-sense-resistor-ohms = <10000000>;
|
||||
|
||||
regulators {
|
||||
buck1: buck1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
rohm,dvs-run-voltage = <1150000>;
|
||||
rohm,dvs-suspend-voltage = <950000>;
|
||||
};
|
||||
buck2: buck2 {
|
||||
regulator-name = "buck2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
rohm,dvs-run-voltage = <1150000>;
|
||||
rohm,dvs-suspend-voltage = <950000>;
|
||||
};
|
||||
buck3: buck3 {
|
||||
regulator-name = "buck3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <2700000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
buck4: buck4 {
|
||||
regulator-name = "buck4";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
buck5: buck5 {
|
||||
regulator-name = "buck5";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo1: ldo1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo2: ldo2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo3: ldo3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo4: ldo4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo5: ldo5 {
|
||||
regulator-name = "ldo5";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo6: ldodvref {
|
||||
regulator-name = "ldodvref";
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo7: ldolpsr {
|
||||
regulator-name = "ldolpsr";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
boost: wled {
|
||||
regulator-name = "wled";
|
||||
regulator-min-microamp = <10>;
|
||||
regulator-max-microamp = <25000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -44,6 +44,12 @@ properties:
|
||||
clock-output-names:
|
||||
const: bd71828-32k-out
|
||||
|
||||
rohm,clkout-open-drain:
|
||||
description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos".
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
|
||||
rohm,charger-sense-resistor-ohms:
|
||||
minimum: 10000000
|
||||
maximum: 50000000
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/rohm,bd9576-pmic.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD9576MUF and BD9573MUF Power Management Integrated Circuit bindings
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
||||
|
||||
description: |
|
||||
BD9576MUF and BD9573MUF are power management ICs primarily intended for
|
||||
powering the R-Car series processors.
|
||||
The IC provides 6 power outputs with configurable sequencing and safety
|
||||
monitoring. A watchdog logic with slow ping/windowed modes is also included.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- rohm,bd9576
|
||||
- rohm,bd9573
|
||||
|
||||
reg:
|
||||
description:
|
||||
I2C slave address.
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
rohm,vout1-en-low:
|
||||
description:
|
||||
BD9576 and BD9573 VOUT1 regulator enable state can be individually
|
||||
controlled by a GPIO. This is dictated by state of vout1-en pin during
|
||||
the PMIC startup. If vout1-en is LOW during PMIC startup then the VOUT1
|
||||
enable sate is controlled via this pin. Set this property if vout1-en
|
||||
is wired to be down at PMIC start-up.
|
||||
type: boolean
|
||||
|
||||
rohm,vout1-en-gpios:
|
||||
description:
|
||||
GPIO specifier to specify the GPIO connected to vout1-en for vout1 ON/OFF
|
||||
state control.
|
||||
maxItems: 1
|
||||
|
||||
rohm,ddr-sel-low:
|
||||
description:
|
||||
The BD9576 and BD9573 output voltage for DDR can be selected by setting
|
||||
the ddr-sel pin low or high. Set this property if ddr-sel is grounded.
|
||||
type: boolean
|
||||
|
||||
rohm,watchdog-enable-gpios:
|
||||
description: The GPIO line used to enable the watchdog.
|
||||
maxItems: 1
|
||||
|
||||
rohm,watchdog-ping-gpios:
|
||||
description: The GPIO line used to ping the watchdog.
|
||||
maxItems: 1
|
||||
|
||||
rohm,hw-timeout-ms:
|
||||
maxItems: 2
|
||||
description:
|
||||
Watchog timeout in milliseconds. If single value is given it is
|
||||
the maximum timeout. Eg. if pinging watchdog is not done within this time
|
||||
limit the watchdog will be triggered. If two values are given watchdog
|
||||
is configured in "window mode". Then first value is limit for short-ping
|
||||
Eg. if watchdog is pinged sooner than that the watchdog will trigger.
|
||||
When two values is given the second value is the maximum timeout.
|
||||
# (HW) minimum for short timeout is 2ms, maximum 220 ms.
|
||||
# (HW) minimum for max timeout is 4ms, maximum 4416 ms.
|
||||
|
||||
regulators:
|
||||
$ref: ../regulator/rohm,bd9576-regulator.yaml
|
||||
description:
|
||||
List of child nodes that specify the regulators.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pmic: pmic@30 {
|
||||
compatible = "rohm,bd9576";
|
||||
reg = <0x30>;
|
||||
rohm,vout1-en-low;
|
||||
rohm,vout1-en-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
|
||||
rohm,ddr-sel-low;
|
||||
rohm,watchdog-enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
|
||||
rohm,watchdog-ping-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
|
||||
rohm,hw-timeout-ms = <150>, <2300>;
|
||||
|
||||
regulators {
|
||||
boost1: regulator-vd50 {
|
||||
regulator-name = "VD50";
|
||||
};
|
||||
buck1: regulator-vd18 {
|
||||
regulator-name = "VD18";
|
||||
};
|
||||
buck2: regulator-vdddr {
|
||||
regulator-name = "VDDDR";
|
||||
};
|
||||
buck3: regulator-vd10 {
|
||||
regulator-name = "VD10";
|
||||
};
|
||||
ldo: regulator-voutl1 {
|
||||
regulator-name = "VOUTL1";
|
||||
};
|
||||
sw: regulator-vouts1 {
|
||||
regulator-name = "VOUTS1";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -17,6 +17,10 @@ properties:
|
||||
description: I2C slave address
|
||||
const: 0x60
|
||||
|
||||
reset-gpios:
|
||||
description: GPIO connected to NRST pin (active low reset, pin 20)
|
||||
maxItems: 1
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
|
||||
@@ -17,6 +17,10 @@ properties:
|
||||
description: I2C slave address
|
||||
const: 0x60
|
||||
|
||||
reset-gpios:
|
||||
description: GPIO connected to NRST pin (active low reset, pin 20)
|
||||
maxItems: 1
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
|
||||
@@ -19,6 +19,10 @@ properties:
|
||||
description: I2C slave address
|
||||
const: 0x60
|
||||
|
||||
reset-gpios:
|
||||
description: GPIO connected to NRST pin (active low reset, pin 20)
|
||||
maxItems: 1
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mmc/brcm,iproc-sdhci.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom IPROC SDHCI controller
|
||||
|
||||
maintainers:
|
||||
- Ray Jui <ray.jui@broadcom.com>
|
||||
- Scott Branden <scott.branden@broadcom.com>
|
||||
- Nicolas Saenz Julienne <nsaenz@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: mmc-controller.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- brcm,bcm2835-sdhci
|
||||
- brcm,bcm2711-emmc2
|
||||
- brcm,sdhci-iproc-cygnus
|
||||
- brcm,sdhci-iproc
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description:
|
||||
Handle to core clock for the sdhci controller.
|
||||
|
||||
sdhci,auto-cmd12:
|
||||
type: boolean
|
||||
description: Specifies that controller should use auto CMD12
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/bcm-cygnus.h>
|
||||
|
||||
mmc@18041000 {
|
||||
compatible = "brcm,sdhci-iproc-cygnus";
|
||||
reg = <0x18041000 0x100>;
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&lcpll0_clks BCM_CYGNUS_LCPLL0_SDIO_CLK>;
|
||||
bus-width = <4>;
|
||||
sdhci,auto-cmd12;
|
||||
no-1-8-v;
|
||||
};
|
||||
...
|
||||
@@ -1,37 +0,0 @@
|
||||
Broadcom IPROC SDHCI controller
|
||||
|
||||
This file documents differences between the core properties described
|
||||
by mmc.txt and the properties that represent the IPROC SDHCI controller.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be one of the following
|
||||
"brcm,bcm2835-sdhci"
|
||||
"brcm,bcm2711-emmc2"
|
||||
"brcm,sdhci-iproc-cygnus"
|
||||
"brcm,sdhci-iproc"
|
||||
|
||||
Use brcm2835-sdhci for the eMMC controller on the BCM2835 (Raspberry Pi) and
|
||||
bcm2711-emmc2 for the additional eMMC2 controller on BCM2711.
|
||||
|
||||
Use sdhci-iproc-cygnus for Broadcom SDHCI Controllers
|
||||
restricted to 32bit host accesses to SDHCI registers.
|
||||
|
||||
Use sdhci-iproc for Broadcom SDHCI Controllers that allow standard
|
||||
8, 16, 32-bit host access to SDHCI register.
|
||||
|
||||
- clocks : The clock feeding the SDHCI controller.
|
||||
|
||||
Optional properties:
|
||||
- sdhci,auto-cmd12: specifies that controller should use auto CMD12.
|
||||
|
||||
Example:
|
||||
|
||||
sdhci0: sdhci@18041000 {
|
||||
compatible = "brcm,sdhci-iproc-cygnus";
|
||||
reg = <0x18041000 0x100>;
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&lcpll0_clks BCM_CYGNUS_LCPLL0_SDIO_CLK>;
|
||||
bus-width = <4>;
|
||||
sdhci,auto-cmd12;
|
||||
no-1-8-v;
|
||||
};
|
||||
@@ -103,6 +103,26 @@ properties:
|
||||
Only eMMC HS400 mode need to take care of this property.
|
||||
default: 0
|
||||
|
||||
clocks:
|
||||
maxItems: 3
|
||||
description:
|
||||
Handle clocks for the sdhc controller.
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: ipg
|
||||
- const: ahb
|
||||
- const: per
|
||||
|
||||
pinctrl-names:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
items:
|
||||
- const: default
|
||||
- const: state_100mhz
|
||||
- const: state_200mhz
|
||||
- const: sleep
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -5,11 +5,11 @@ by mmc.txt and the properties used by the mmc_spi driver.
|
||||
|
||||
Required properties:
|
||||
- spi-max-frequency : maximum frequency for this device (Hz).
|
||||
- voltage-ranges : two cells are required, first cell specifies minimum
|
||||
slot voltage (mV), second cell specifies maximum slot voltage (mV).
|
||||
Several ranges could be specified.
|
||||
|
||||
Optional properties:
|
||||
- voltage-ranges : two cells are required, first cell specifies minimum
|
||||
slot voltage (mV), second cell specifies maximum slot voltage (mV).
|
||||
Several ranges could be specified. If not provided, 3.2v..3.4v is assumed.
|
||||
- gpios : may specify GPIOs in this order: Card-Detect GPIO,
|
||||
Write-Protect GPIO. Note that this does not follow the
|
||||
binding from mmc.txt, for historical reasons.
|
||||
|
||||
@@ -31,6 +31,7 @@ properties:
|
||||
- const: mediatek,mt2701-mmc
|
||||
- items:
|
||||
- const: mediatek,mt8192-mmc
|
||||
- const: mediatek,mt8195-mmc
|
||||
- const: mediatek,mt8183-mmc
|
||||
|
||||
clocks:
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
* Synopsys DesignWare Cores Mobile Storage Host Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following:
|
||||
"snps,dwcmshc-sdhci"
|
||||
- reg: offset and length of the register set for the device.
|
||||
- interrupts: a single interrupt specifier.
|
||||
- clocks: Array of clocks required for SDHCI; requires at least one for
|
||||
core clock.
|
||||
- clock-names: Array of names corresponding to clocks property; shall be
|
||||
"core" for core clock and "bus" for optional bus clock.
|
||||
|
||||
Example:
|
||||
sdhci2: sdhci@aa0000 {
|
||||
compatible = "snps,dwcmshc-sdhci";
|
||||
reg = <0xaa0000 0x1000>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&emmcclk>;
|
||||
bus-width = <8>;
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mmc/snps,dwcmshc-sdhci.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Synopsys Designware Mobile Storage Host Controller Binding
|
||||
|
||||
maintainers:
|
||||
- Ulf Hansson <ulf.hansson@linaro.org>
|
||||
- Jisheng Zhang <Jisheng.Zhang@synaptics.com>
|
||||
|
||||
allOf:
|
||||
- $ref: mmc-controller.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- rockchip,rk3568-dwcmshc
|
||||
- snps,dwcmshc-sdhci
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: Offset and length of the register set for the device
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: core clock
|
||||
- description: bus clock for optional
|
||||
- description: axi clock for rockchip specified
|
||||
- description: block clock for rockchip specified
|
||||
- description: timer clock for rockchip specified
|
||||
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: core
|
||||
- const: bus
|
||||
- const: axi
|
||||
- const: block
|
||||
- const: timer
|
||||
|
||||
rockchip,txclk-tapnum:
|
||||
description: Specify the number of delay for tx sampling.
|
||||
$ref: /schemas/types.yaml#/definitions/uint8
|
||||
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
mmc@fe310000 {
|
||||
compatible = "rockchip,rk3568-dwcmshc";
|
||||
reg = <0xfe310000 0x10000>;
|
||||
interrupts = <0 25 0x4>;
|
||||
clocks = <&cru 17>, <&cru 18>, <&cru 19>, <&cru 20>, <&cru 21>;
|
||||
clock-names = "core", "bus", "axi", "block", "timer";
|
||||
bus-width = <8>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
- |
|
||||
mmc@aa0000 {
|
||||
compatible = "snps,dwcmshc-sdhci";
|
||||
reg = <0xaa000 0x1000>;
|
||||
interrupts = <0 25 0x4>;
|
||||
clocks = <&cru 17>, <&cru 18>;
|
||||
clock-names = "core", "bus";
|
||||
bus-width = <8>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
...
|
||||
@@ -57,7 +57,6 @@ properties:
|
||||
- const: per
|
||||
|
||||
clock-frequency:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
The oscillator frequency driving the flexcan device, filled in by the
|
||||
boot loader. This property should only be used the used operating system
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom BCM4329 family fullmac wireless SDIO devices
|
||||
|
||||
maintainers:
|
||||
- Arend van Spriel <arend@broadcom.com>
|
||||
|
||||
description:
|
||||
The Broadcom Single chip MAC part for the BCM4329 family and
|
||||
later Cypress chips in the same family named CYW4373 and similar.
|
||||
These chips also have a Bluetooth portion described in a separate
|
||||
binding.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- brcm,bcm43143-fmac
|
||||
- brcm,bcm4341b0-fmac
|
||||
- brcm,bcm4341b4-fmac
|
||||
- brcm,bcm4341b5-fmac
|
||||
- brcm,bcm4329-fmac
|
||||
- brcm,bcm4330-fmac
|
||||
- brcm,bcm4334-fmac
|
||||
- brcm,bcm43340-fmac
|
||||
- brcm,bcm4335-fmac
|
||||
- brcm,bcm43362-fmac
|
||||
- brcm,bcm4339-fmac
|
||||
- brcm,bcm43430a0-fmac
|
||||
- brcm,bcm43430a1-fmac
|
||||
- brcm,bcm43455-fmac
|
||||
- brcm,bcm43456-fmac
|
||||
- brcm,bcm4354-fmac
|
||||
- brcm,bcm4356-fmac
|
||||
- brcm,bcm4359-fmac
|
||||
- cypress,cyw4373-fmac
|
||||
- cypress,cyw43012-fmac
|
||||
- const: brcm,bcm4329-fmac
|
||||
- const: brcm,bcm4329-fmac
|
||||
|
||||
reg:
|
||||
description: SDIO function number for the device, for most cases
|
||||
this will be 1.
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
description: Out-of-band (OOB) IRQ line for waking up the host
|
||||
in response to WLAN activity. This corresponds to the HOST_WAKE
|
||||
line into the chip.
|
||||
|
||||
interrupt-names:
|
||||
description: Name for the OOB IRQ, this must be set to "host-wake".
|
||||
const: host-wake
|
||||
|
||||
brcm,drive-strength:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Drive strength used for the SDIO pins on the device in mA.
|
||||
minimum: 0
|
||||
maximum: 32
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description: A GPIO line connected to the WL_RST line, if present
|
||||
this shall be flagged as active low.
|
||||
|
||||
brcm,ccode-map:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description: Multiple strings for translating ISO3166 country code to
|
||||
brcmfmac firmware country code and revision.
|
||||
items:
|
||||
pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$'
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
mmc@80118000 {
|
||||
compatible = "arm,pl18x", "arm,primecell";
|
||||
reg = <0x80118000 0x1000>;
|
||||
clocks = <&clk 0>, <&clk 1>;
|
||||
clock-names = "mclk", "apb_pclk";
|
||||
interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
vmmc-supply = <&wl_bt_reg>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wifi@1 {
|
||||
compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
|
||||
reg = <1>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-names = "host-wake";
|
||||
reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
|
||||
brcm,ccode-map = "JP-JP-78", "US-Q2-86";
|
||||
};
|
||||
};
|
||||
@@ -1,38 +0,0 @@
|
||||
Broadcom BCM43xx Fullmac wireless SDIO devices
|
||||
|
||||
This node provides properties for controlling the Broadcom wireless device. The
|
||||
node is expected to be specified as a child node to the SDIO controller that
|
||||
connects the device to the system.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Should be "brcm,bcm4329-fmac".
|
||||
|
||||
Optional properties:
|
||||
- brcm,drive-strength : drive strength used for SDIO pins on device in mA
|
||||
(default = 6).
|
||||
- interrupts : specifies attributes for the out-of-band interrupt (host-wake).
|
||||
When not specified the device will use in-band SDIO interrupts.
|
||||
- interrupt-names : name of the out-of-band interrupt, which must be set
|
||||
to "host-wake".
|
||||
|
||||
Example:
|
||||
|
||||
mmc3: mmc@1c12000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vmmc3>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <10 8>; /* PH10 / EINT10 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
@@ -2,7 +2,7 @@
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/nvmem-consumer.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/base.yaml#
|
||||
|
||||
title: NVMEM (Non Volatile Memory) Consumer Device Tree Bindings
|
||||
|
||||
@@ -23,12 +23,10 @@ properties:
|
||||
List of phandle to the nvmem data cells.
|
||||
|
||||
nvmem-names:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description:
|
||||
Names for the each nvmem provider.
|
||||
|
||||
nvmem-cell-names:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description:
|
||||
Names for each nvmem-cells specified.
|
||||
|
||||
|
||||
@@ -222,7 +222,7 @@ examples:
|
||||
};
|
||||
|
||||
serdes@5000000 {
|
||||
compatible = "cdns,ti,sierra-phy-t0";
|
||||
compatible = "ti,sierra-phy-t0";
|
||||
reg-names = "serdes";
|
||||
reg = <0x5000000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
|
||||
@@ -17,6 +17,9 @@ Optional properties:
|
||||
chip's trigger line. If this property is not set, the
|
||||
trigger function is ignored and the chip is kept alive
|
||||
until an explicit kill signal is received
|
||||
- trigger-delay-ms The number of milliseconds to wait after trigger line
|
||||
assertion before executing shut down procedure.
|
||||
The default is 2500ms.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -24,6 +27,7 @@ ltc2952 {
|
||||
compatible = "lltc,ltc2952";
|
||||
|
||||
trigger-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
|
||||
trigger-delay-ms = <2000>;
|
||||
watchdog-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
|
||||
kill-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
=== AB8500 Battery Temperature Monitor Driver ===
|
||||
|
||||
The properties below describes the node for btemp driver.
|
||||
|
||||
Required Properties:
|
||||
- compatible = Shall be: "stericsson,ab8500-btemp"
|
||||
- battery = Shall be battery specific information
|
||||
|
||||
Example:
|
||||
ab8500_btemp {
|
||||
compatible = "stericsson,ab8500-btemp";
|
||||
battery = <&ab8500_battery>;
|
||||
};
|
||||
|
||||
For information on battery specific node, Ref:
|
||||
Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
|
||||
@@ -1,16 +0,0 @@
|
||||
=== AB8500 Charging Algorithm Driver ===
|
||||
|
||||
The properties below describes the node for chargalg driver.
|
||||
|
||||
Required Properties:
|
||||
- compatible = Shall be: "stericsson,ab8500-chargalg"
|
||||
- battery = Shall be battery specific information
|
||||
|
||||
Example:
|
||||
ab8500_chargalg {
|
||||
compatible = "stericsson,ab8500-chargalg";
|
||||
battery = <&ab8500_battery>;
|
||||
};
|
||||
|
||||
For information on battery specific node, Ref:
|
||||
Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
|
||||
@@ -1,25 +0,0 @@
|
||||
=== AB8500 Charger Driver ===
|
||||
|
||||
Required Properties:
|
||||
- compatible = Shall be "stericsson,ab8500-charger"
|
||||
- battery = Shall be battery specific information
|
||||
Example:
|
||||
ab8500_charger {
|
||||
compatible = "stericsson,ab8500-charger";
|
||||
battery = <&ab8500_battery>;
|
||||
};
|
||||
|
||||
- vddadc-supply: Supply for USB and Main charger
|
||||
Example:
|
||||
ab8500-charger {
|
||||
vddadc-supply = <&ab8500_ldo_tvout_reg>;
|
||||
}
|
||||
- autopower_cfg:
|
||||
Boolean value depicting the presence of 'automatic poweron after powerloss'
|
||||
Example:
|
||||
ab8500-charger {
|
||||
autopower_cfg;
|
||||
};
|
||||
|
||||
For information on battery specific node, Ref:
|
||||
Documentation/devicetree/bindings/power/supply/ab8500/fg.txt
|
||||
@@ -1,44 +0,0 @@
|
||||
Device-Tree bindings for charger of Active-semi ACT8945A Multi-Function Device
|
||||
|
||||
Required properties:
|
||||
- compatible: "active-semi,act8945a-charger".
|
||||
- active-semi,chglev-gpios: charge current level phandle with args
|
||||
as described in ../gpio/gpio.txt.
|
||||
- active-semi,lbo-gpios: specify the low battery voltage detect phandle
|
||||
with args as as described in ../gpio/gpio.txt.
|
||||
- interrupts: <a b> where a is the interrupt number and b is a
|
||||
field that represents an encoding of the sense and level
|
||||
information for the interrupt.
|
||||
|
||||
Optional properties:
|
||||
- active-semi,input-voltage-threshold-microvolt: unit: mV;
|
||||
Specifies the charger's input over-voltage threshold value;
|
||||
The value can be: 6600, 7000, 7500, 8000; default: 6600
|
||||
- active-semi,precondition-timeout: unit: minutes;
|
||||
Specifies the charger's PRECONDITION safety timer setting value;
|
||||
The value can be: 40, 60, 80, 0; If 0, it means to disable this timer;
|
||||
default: 40.
|
||||
- active-semi,total-timeout: unit: hours;
|
||||
Specifies the charger's total safety timer setting value;
|
||||
The value can be: 3, 4, 5, 0; If 0, it means to disable this timer;
|
||||
default: 3.
|
||||
|
||||
Example:
|
||||
pmic@5b {
|
||||
compatible = "active-semi,act8945a";
|
||||
reg = <0x5b>;
|
||||
|
||||
charger {
|
||||
compatible = "active-semi,act8945a-charger";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
|
||||
interrupt-parent = <&pioA>;
|
||||
interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
|
||||
active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
|
||||
active-semi,input-voltage-threshold-microvolt = <6600>;
|
||||
active-semi,precondition-timeout = <40>;
|
||||
active-semi,total-timeout = <3>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/active-semi,act8945a-charger.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Active-semi ACT8945A Charger Function
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: active-semi,act8945a-charger
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
active-semi,chglev-gpios:
|
||||
maxItems: 1
|
||||
description: charge current level GPIO
|
||||
|
||||
active-semi,lbo-gpios:
|
||||
maxItems: 1
|
||||
description: low battery voltage detect GPIO
|
||||
|
||||
active-semi,input-voltage-threshold-microvolt:
|
||||
description: |
|
||||
Specifies the charger's input over-voltage threshold value.
|
||||
Despite the name, specified values are in millivolt (mV).
|
||||
Defaults to 6.6 V
|
||||
enum: [ 6600, 7000, 7500, 8000 ]
|
||||
|
||||
active-semi,precondition-timeout:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Specifies the charger's PRECONDITION safety timer setting value in minutes.
|
||||
If 0, it means to disable this timer.
|
||||
Defaults to 40 minutes.
|
||||
enum: [ 0, 40, 60, 80 ]
|
||||
|
||||
active-semi,total-timeout:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Specifies the charger's total safety timer setting value in hours;
|
||||
If 0, it means to disable this timer;
|
||||
Defaults to 3 hours.
|
||||
enum: [ 0, 3, 4, 5 ]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- interrupts
|
||||
- active-semi,chglev-gpios
|
||||
- active-semi,lbo-gpios
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
pmic {
|
||||
charger {
|
||||
compatible = "active-semi,act8945a-charger";
|
||||
interrupt-parent = <&pioA>;
|
||||
interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
|
||||
active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>;
|
||||
active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>;
|
||||
active-semi,input-voltage-threshold-microvolt = <6600>;
|
||||
active-semi,precondition-timeout = <40>;
|
||||
active-semi,total-timeout = <3>;
|
||||
};
|
||||
};
|
||||
@@ -1,25 +0,0 @@
|
||||
AXP20X and AXP22X PMICs' AC power supply
|
||||
|
||||
Required Properties:
|
||||
- compatible: One of:
|
||||
"x-powers,axp202-ac-power-supply"
|
||||
"x-powers,axp221-ac-power-supply"
|
||||
"x-powers,axp813-ac-power-supply"
|
||||
|
||||
This node is a subnode of the axp20x PMIC.
|
||||
|
||||
The AXP20X can read the current current and voltage supplied by AC by
|
||||
reading ADC channels from the AXP20X ADC.
|
||||
|
||||
The AXP22X is only able to tell if an AC power supply is present and
|
||||
usable.
|
||||
|
||||
AXP813/AXP803 are able to limit current and supply voltage
|
||||
|
||||
Example:
|
||||
|
||||
&axp209 {
|
||||
ac_power_supply: ac-power-supply {
|
||||
compatible = "x-powers,axp202-ac-power-supply";
|
||||
};
|
||||
};
|
||||
@@ -1,20 +0,0 @@
|
||||
AXP20x and AXP22x battery power supply
|
||||
|
||||
Required Properties:
|
||||
- compatible, one of:
|
||||
"x-powers,axp209-battery-power-supply"
|
||||
"x-powers,axp221-battery-power-supply"
|
||||
"x-powers,axp813-battery-power-supply"
|
||||
|
||||
This node is a subnode of its respective PMIC DT node.
|
||||
|
||||
The supported devices can read the battery voltage, charge and discharge
|
||||
currents of the battery by reading ADC channels from the ADC.
|
||||
|
||||
Example:
|
||||
|
||||
&axp209 {
|
||||
battery_power_supply: battery-power-supply {
|
||||
compatible = "x-powers,axp209-battery-power-supply";
|
||||
}
|
||||
};
|
||||
@@ -1,41 +0,0 @@
|
||||
AXP20x USB power supply
|
||||
|
||||
Required Properties:
|
||||
-compatible: One of: "x-powers,axp202-usb-power-supply"
|
||||
"x-powers,axp221-usb-power-supply"
|
||||
"x-powers,axp223-usb-power-supply"
|
||||
"x-powers,axp813-usb-power-supply"
|
||||
|
||||
The AXP223 PMIC shares most of its behaviour with the AXP221 but has slight
|
||||
variations such as the former being able to set the VBUS power supply max
|
||||
current to 100mA, unlike the latter.
|
||||
|
||||
This node is a subnode of the axp20x PMIC.
|
||||
|
||||
Example:
|
||||
|
||||
axp209: pmic@34 {
|
||||
compatible = "x-powers,axp209";
|
||||
reg = <0x34>;
|
||||
interrupt-parent = <&nmi_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
regulators {
|
||||
x-powers,dcdc-freq = <1500>;
|
||||
|
||||
vdd_cpu: dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
...
|
||||
};
|
||||
|
||||
usb-power-supply: usb-power-supply {
|
||||
compatible = "x-powers,axp202-usb-power-supply";
|
||||
};
|
||||
};
|
||||
@@ -1,3 +0,0 @@
|
||||
The contents of this file has been moved to battery.yaml
|
||||
|
||||
Please note that not all charger drivers respect all of the properties.
|
||||
@@ -1,47 +0,0 @@
|
||||
Binding for TI bq2415x Li-Ion Charger
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of the following:
|
||||
* "ti,bq24150"
|
||||
* "ti,bq24150"
|
||||
* "ti,bq24150a"
|
||||
* "ti,bq24151"
|
||||
* "ti,bq24151a"
|
||||
* "ti,bq24152"
|
||||
* "ti,bq24153"
|
||||
* "ti,bq24153a"
|
||||
* "ti,bq24155"
|
||||
* "ti,bq24156"
|
||||
* "ti,bq24156a"
|
||||
* "ti,bq24158"
|
||||
- reg: integer, i2c address of the device.
|
||||
- ti,current-limit: integer, initial maximum current charger can pull
|
||||
from power supply in mA.
|
||||
- ti,weak-battery-voltage: integer, weak battery voltage threshold in mV.
|
||||
The chip will use slow precharge if battery voltage
|
||||
is below this value.
|
||||
- ti,battery-regulation-voltage: integer, maximum charging voltage in mV.
|
||||
- ti,charge-current: integer, maximum charging current in mA.
|
||||
- ti,termination-current: integer, charge will be terminated when current in
|
||||
constant-voltage phase drops below this value (in mA).
|
||||
- ti,resistor-sense: integer, value of sensing resistor in milliohm.
|
||||
|
||||
Optional properties:
|
||||
- ti,usb-charger-detection: phandle to usb charger detection device.
|
||||
(required for auto mode)
|
||||
|
||||
Example from Nokia N900:
|
||||
|
||||
bq24150a {
|
||||
compatible = "ti,bq24150a";
|
||||
reg = <0x6b>;
|
||||
|
||||
ti,current-limit = <100>;
|
||||
ti,weak-battery-voltage = <3400>;
|
||||
ti,battery-regulation-voltage = <4200>;
|
||||
ti,charge-current = <650>;
|
||||
ti,termination-current = <100>;
|
||||
ti,resistor-sense = <68>;
|
||||
|
||||
ti,usb-charger-detection = <&isp1704>;
|
||||
};
|
||||
@@ -0,0 +1,98 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 Sebastian Reichel
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/bq2415x.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Binding for TI bq2415x Li-Ion Charger
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,bq24150
|
||||
- ti,bq24150
|
||||
- ti,bq24150a
|
||||
- ti,bq24151
|
||||
- ti,bq24151a
|
||||
- ti,bq24152
|
||||
- ti,bq24153
|
||||
- ti,bq24153a
|
||||
- ti,bq24155
|
||||
- ti,bq24156
|
||||
- ti,bq24156a
|
||||
- ti,bq24158
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
ti,current-limit:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: initial maximum current charger can pull from power supply in mA.
|
||||
|
||||
ti,weak-battery-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
weak battery voltage threshold in mV.
|
||||
The chip will use slow precharge if battery voltage is below this value.
|
||||
|
||||
ti,battery-regulation-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum charging voltage in mV.
|
||||
|
||||
ti,charge-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum charging current in mA.
|
||||
|
||||
ti,termination-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
charge will be terminated when current in constant-voltage phase drops
|
||||
below this value (in mA).
|
||||
|
||||
ti,resistor-sense:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: value of sensing resistor in milliohm.
|
||||
|
||||
ti,usb-charger-detection:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: phandle to usb charger detection device (required for auto mode)
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- ti,current-limit
|
||||
- ti,weak-battery-voltage
|
||||
- ti,battery-regulation-voltage
|
||||
- ti,charge-current
|
||||
- ti,termination-current
|
||||
- ti,resistor-sense
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
charger@6b {
|
||||
compatible = "ti,bq24150a";
|
||||
reg = <0x6b>;
|
||||
|
||||
ti,current-limit = <100>;
|
||||
ti,weak-battery-voltage = <3400>;
|
||||
ti,battery-regulation-voltage = <4200>;
|
||||
ti,charge-current = <650>;
|
||||
ti,termination-current = <100>;
|
||||
ti,resistor-sense = <68>;
|
||||
|
||||
ti,usb-charger-detection = <&isp1704>;
|
||||
};
|
||||
};
|
||||
@@ -1,61 +0,0 @@
|
||||
TI BQ24190 Li-Ion Battery Charger
|
||||
|
||||
Required properties:
|
||||
- compatible: contains one of the following:
|
||||
* "ti,bq24190"
|
||||
* "ti,bq24192"
|
||||
* "ti,bq24192i"
|
||||
* "ti,bq24196"
|
||||
- reg: integer, I2C address of the charger.
|
||||
- interrupts[-extended]: configuration for charger INT pin.
|
||||
|
||||
Optional properties:
|
||||
- monitored-battery: phandle of battery characteristics devicetree node
|
||||
The charger uses the following battery properties:
|
||||
+ precharge-current-microamp: maximum charge current during precharge
|
||||
phase (typically 20% of battery capacity).
|
||||
+ charge-term-current-microamp: a charge cycle terminates when the
|
||||
battery voltage is above recharge threshold, and the current is below
|
||||
this setting (typically 10% of battery capacity).
|
||||
See also Documentation/devicetree/bindings/power/supply/battery.txt
|
||||
- ti,system-minimum-microvolt: when power is connected and the battery is below
|
||||
minimum system voltage, the system will be regulated above this setting.
|
||||
|
||||
child nodes:
|
||||
- usb-otg-vbus:
|
||||
Usage: optional
|
||||
Description: Regulator that is used to control the VBUS voltage direction for
|
||||
either USB host mode or for charging on the OTG port.
|
||||
|
||||
Notes:
|
||||
- Some circuit boards wire the chip's "OTG" pin high (enabling 500mA default
|
||||
charge current on USB SDP ports, among other features). To simulate this on
|
||||
boards that wire the pin to a GPIO, set a gpio-hog.
|
||||
|
||||
Example:
|
||||
|
||||
bat: battery {
|
||||
compatible = "simple-battery";
|
||||
precharge-current-microamp = <256000>;
|
||||
charge-term-current-microamp = <128000>;
|
||||
// etc.
|
||||
};
|
||||
|
||||
bq24190: charger@6a {
|
||||
compatible = "ti,bq24190";
|
||||
reg = <0x6a>;
|
||||
interrupts-extended = <&gpiochip 10 IRQ_TYPE_EDGE_FALLING>;
|
||||
monitored-battery = <&bat>;
|
||||
ti,system-minimum-microvolt = <3200000>;
|
||||
|
||||
usb_otg_vbus: usb-otg-vbus { };
|
||||
};
|
||||
|
||||
&twl_gpio {
|
||||
otg {
|
||||
gpio-hog;
|
||||
gpios = <6 0>;
|
||||
output-high;
|
||||
line-name = "otg-gpio";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,92 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 Sebastian Reichel
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/bq24190.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Binding for TI BQ2419x Li-Ion Battery Charger
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,bq24190
|
||||
- ti,bq24192
|
||||
- ti,bq24192i
|
||||
- ti,bq24196
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
usb-otg-vbus:
|
||||
type: object
|
||||
description: |
|
||||
Regulator that is used to control the VBUS voltage direction for
|
||||
either USB host mode or for charging on the OTG port
|
||||
|
||||
ti,system-minimum-microvolt:
|
||||
description: |
|
||||
when power is connected and the battery is below minimum system voltage,
|
||||
the system will be regulated above this setting.
|
||||
|
||||
omit-battery-class:
|
||||
type: boolean
|
||||
description: |
|
||||
If this property is set, the operating system does not try to create a
|
||||
battery device.
|
||||
|
||||
monitored-battery:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: |
|
||||
phandle to a "simple-battery" compatible node.
|
||||
|
||||
This property must be a phandle to a node using the format described
|
||||
in battery.yaml, with the following properties being required:
|
||||
- precharge-current-microamp: maximum charge current during precharge phase
|
||||
(typically 20% of battery capacity).
|
||||
- charge-term-current-microamp: a charge cycle terminates when the battery voltage is
|
||||
above recharge threshold, and the current is below this
|
||||
setting (typically 10% of battery capacity).
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
bat: battery {
|
||||
compatible = "simple-battery";
|
||||
precharge-current-microamp = <256000>;
|
||||
charge-term-current-microamp = <128000>;
|
||||
};
|
||||
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
charger@6a {
|
||||
compatible = "ti,bq24190";
|
||||
reg = <0x6a>;
|
||||
interrupt-parent = <&gpiochip>;
|
||||
interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
|
||||
monitored-battery = <&bat>;
|
||||
ti,system-minimum-microvolt = <3200000>;
|
||||
|
||||
usb_otg_vbus: usb-otg-vbus { };
|
||||
};
|
||||
};
|
||||
@@ -1,62 +0,0 @@
|
||||
Binding for TI bq24250/bq24251/bq24257 Li-Ion Charger
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of the following:
|
||||
* "ti,bq24250"
|
||||
* "ti,bq24251"
|
||||
* "ti,bq24257"
|
||||
- reg: integer, i2c address of the device.
|
||||
- interrupts: Interrupt mapping for GPIO IRQ (configure for both edges). Use in
|
||||
conjunction with "interrupt-parent".
|
||||
- ti,battery-regulation-voltage: integer, maximum charging voltage in uV.
|
||||
- ti,charge-current: integer, maximum charging current in uA.
|
||||
- ti,termination-current: integer, charge will be terminated when current in
|
||||
constant-voltage phase drops below this value (in uA).
|
||||
|
||||
Optional properties:
|
||||
- pg-gpios: GPIO used for connecting the bq2425x device PG (Power Good) pin.
|
||||
This pin is not available on all devices however it should be used if
|
||||
possible as this is the recommended way to obtain the charger's input PG
|
||||
state. If this pin is not specified a software-based approach for PG
|
||||
detection is used.
|
||||
- ti,current-limit: The maximum current to be drawn from the charger's input
|
||||
(in uA). If this property is not specified, the input limit current is
|
||||
set automatically using USB D+/D- signal based charger type detection.
|
||||
If the hardware does not support the D+/D- based detection, a default
|
||||
of 500,000 is used (=500mA) instead.
|
||||
- ti,ovp-voltage: Configures the over voltage protection voltage (in uV). If
|
||||
not specified a default of 6,5000,000 (=6.5V) is used.
|
||||
- ti,in-dpm-voltage: Configures the threshold input voltage for the dynamic
|
||||
power path management (in uV). If not specified a default of 4,360,000
|
||||
(=4.36V) is used.
|
||||
|
||||
Example:
|
||||
|
||||
bq24257 {
|
||||
compatible = "ti,bq24257";
|
||||
reg = <0x6a>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
|
||||
|
||||
pg-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
ti,battery-regulation-voltage = <4200000>;
|
||||
ti,charge-current = <1000000>;
|
||||
ti,termination-current = <50000>;
|
||||
};
|
||||
|
||||
Example:
|
||||
|
||||
bq24250 {
|
||||
compatible = "ti,bq24250";
|
||||
reg = <0x6a>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
|
||||
|
||||
ti,battery-regulation-voltage = <4200000>;
|
||||
ti,charge-current = <500000>;
|
||||
ti,termination-current = <50000>;
|
||||
ti,current-limit = <900000>;
|
||||
ti,ovp-voltage = <9500000>;
|
||||
ti,in-dpm-voltage = <4440000>;
|
||||
};
|
||||
@@ -0,0 +1,124 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 Sebastian Reichel
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/bq24257.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Binding for bq24250, bq24251 and bq24257 Li-Ion Charger
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,bq24250
|
||||
- ti,bq24251
|
||||
- ti,bq24257
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
ti,battery-regulation-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum charging voltage in uV
|
||||
|
||||
ti,charge-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum charging current in uA
|
||||
|
||||
ti,termination-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
charge will be terminated when current in constant-voltage phase
|
||||
drops below this value (in uA)
|
||||
|
||||
pg-gpios:
|
||||
description: |
|
||||
GPIO used for connecting the bq2425x device PG (Power Good) pin.
|
||||
This pin is not available on all devices however it should be used if
|
||||
possible as this is the recommended way to obtain the charger's input PG
|
||||
state. If this pin is not specified a software-based approach for PG
|
||||
detection is used.
|
||||
maxItems: 1
|
||||
|
||||
ti,current-limit:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
The maximum current to be drawn from the charger's input (in uA).
|
||||
If this property is not specified, the input limit current is set
|
||||
automatically using USB D+/D- signal based charger type detection.
|
||||
If the hardware does not support the D+/D- based detection, a default
|
||||
of 500,000 is used (=500mA) instead.
|
||||
|
||||
ti,ovp-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Configures the over voltage protection voltage (in uV).
|
||||
If not specified a default of 6,5000,000 (=6.5V) is used.
|
||||
|
||||
ti,in-dpm-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Configures the threshold input voltage for the dynamic power path management (in uV).
|
||||
If not specified a default of 4,360,000 (=4.36V) is used.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- ti,battery-regulation-voltage
|
||||
- ti,charge-current
|
||||
- ti,termination-current
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
charger@6a {
|
||||
compatible = "ti,bq24257";
|
||||
reg = <0x6a>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
|
||||
|
||||
pg-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
ti,battery-regulation-voltage = <4200000>;
|
||||
ti,charge-current = <1000000>;
|
||||
ti,termination-current = <50000>;
|
||||
};
|
||||
};
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
charger@6a {
|
||||
compatible = "ti,bq24250";
|
||||
reg = <0x6a>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
|
||||
|
||||
ti,battery-regulation-voltage = <4200000>;
|
||||
ti,charge-current = <500000>;
|
||||
ti,termination-current = <50000>;
|
||||
ti,current-limit = <900000>;
|
||||
ti,ovp-voltage = <9500000>;
|
||||
ti,in-dpm-voltage = <4440000>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,89 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 Sebastian Reichel
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/bq24735.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Binding for TI BQ24735 Li-Ion Battery Charger
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ti,bq24735
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
description: AC adapter plug event interrupt
|
||||
maxItems: 1
|
||||
|
||||
ti,ac-detect-gpios:
|
||||
maxItems: 1
|
||||
description: |
|
||||
This GPIO is optionally used to read the AC adapter status. This is a Host GPIO
|
||||
that is configured as an input and connected to the ACOK pin on the bq24735.
|
||||
Note: for backwards compatibility reasons, the GPIO must be active on AC adapter
|
||||
absence despite ACOK being active (high) on AC adapter presence.
|
||||
|
||||
ti,charge-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Used to control and set the charging current.
|
||||
This value must be between 128mA and 8.128A with a 64mA step resolution.
|
||||
The POR value is 0x0000h. This number is in mA (e.g. 8192).
|
||||
See spec for more information about the ChargeCurrent (0x14h) register.
|
||||
|
||||
ti,charge-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Used to control and set the charging voltage.
|
||||
This value must be between 1.024V and 19.2V with a 16mV step resolution.
|
||||
The POR value is 0x0000h. This number is in mV (e.g. 19200).
|
||||
See spec for more information about the ChargeVoltage (0x15h) register.
|
||||
|
||||
ti,input-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Used to control and set the charger input current.
|
||||
This value must be between 128mA and 8.064A with a 128mA step resolution.
|
||||
The POR value is 0x1000h. This number is in mA (e.g. 8064).
|
||||
See the spec for more information about the InputCurrent (0x3fh) register.
|
||||
|
||||
ti,external-control:
|
||||
type: boolean
|
||||
description: |
|
||||
Indicates that the charger is configured externally and that the host should not
|
||||
attempt to enable/disable charging or set the charge voltage/current.
|
||||
|
||||
poll-interval:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
If 'interrupts' is not specified, poll AC adapter presence with this interval (milliseconds).
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
charger@9 {
|
||||
compatible = "ti,bq24735";
|
||||
reg = <0x9>;
|
||||
ti,ac-detect-gpios = <&gpio 72 0x1>;
|
||||
};
|
||||
};
|
||||
@@ -39,7 +39,6 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
ti,watchdog-timeout-ms:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 0
|
||||
description: |
|
||||
Watchdog timer in ms. 0 (default) disables the watchdog
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
Binding for TI bq25890 Li-Ion Charger
|
||||
|
||||
This driver will support the bq25892, the bq25896 and the bq25890. There are
|
||||
other ICs in the same family but those have not been tested.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of the following:
|
||||
* "ti,bq25890"
|
||||
* "ti,bq25892"
|
||||
* "ti,bq25895"
|
||||
* "ti,bq25896"
|
||||
- reg: integer, i2c address of the device.
|
||||
- interrupts: interrupt line;
|
||||
- ti,battery-regulation-voltage: integer, maximum charging voltage (in uV);
|
||||
- ti,charge-current: integer, maximum charging current (in uA);
|
||||
- ti,termination-current: integer, charge will be terminated when current in
|
||||
constant-voltage phase drops below this value (in uA);
|
||||
- ti,precharge-current: integer, maximum charge current during precharge
|
||||
phase (in uA);
|
||||
- ti,minimum-sys-voltage: integer, when battery is charging and it is below
|
||||
minimum system voltage, the system will be regulated above
|
||||
minimum-sys-voltage setting (in uV);
|
||||
- ti,boost-voltage: integer, VBUS voltage level in boost mode (in uV);
|
||||
- ti,boost-max-current: integer, maximum allowed current draw in boost mode
|
||||
(in uA).
|
||||
|
||||
Optional properties:
|
||||
- ti,boost-low-freq: boolean, if present boost mode frequency will be 500kHz,
|
||||
otherwise 1.5MHz;
|
||||
- ti,use-ilim-pin: boolean, if present the ILIM resistor will be used and the
|
||||
input current will be the lower between the resistor setting and the IINLIM
|
||||
register setting;
|
||||
- ti,thermal-regulation-threshold: integer, temperature above which the charge
|
||||
current is lowered, to avoid overheating (in degrees Celsius). If omitted,
|
||||
the default setting will be used (120 degrees);
|
||||
- ti,ibatcomp-micro-ohms: integer, value of a resistor in series with
|
||||
the battery;
|
||||
- ti,ibatcomp-clamp-microvolt: integer, maximum charging voltage adjustment due
|
||||
to expected voltage drop on in-series resistor;
|
||||
|
||||
Example:
|
||||
|
||||
bq25890 {
|
||||
compatible = "ti,bq25890";
|
||||
reg = <0x6a>;
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
ti,battery-regulation-voltage = <4200000>;
|
||||
ti,charge-current = <1000000>;
|
||||
ti,termination-current = <50000>;
|
||||
ti,precharge-current = <128000>;
|
||||
ti,minimum-sys-voltage = <3600000>;
|
||||
ti,boost-voltage = <5000000>;
|
||||
ti,boost-max-current = <1000000>;
|
||||
|
||||
ti,use-ilim-pin;
|
||||
ti,thermal-regulation-threshold = <120>;
|
||||
};
|
||||
@@ -0,0 +1,123 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 Sebastian Reichel
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/bq25890.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Binding for bq25890, bq25892, bq25895 and bq25896 Li-Ion Charger
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,bq25890
|
||||
- ti,bq25892
|
||||
- ti,bq25895
|
||||
- ti,bq25896
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
ti,battery-regulation-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum charging voltage (in uV)
|
||||
|
||||
ti,charge-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum charging current (in uA)
|
||||
|
||||
ti,termination-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
charge will be terminated when current in constant-voltage phase
|
||||
drops below this value (in uA)
|
||||
|
||||
ti,precharge-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum charge current during precharge phase (in uA)
|
||||
|
||||
ti,minimum-sys-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
when battery is charging and it is below minimum system voltage,
|
||||
the system will be regulated above minimum-sys-voltage setting (in uV)
|
||||
|
||||
ti,boost-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: VBUS voltage level in boost mode (in uV)
|
||||
|
||||
ti,boost-max-current:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: maximum allowed current draw in boost mode (in uA)
|
||||
|
||||
ti,boost-low-freq:
|
||||
description: boost mode frequency will be 500kHz, otherwise 1.5MHz
|
||||
type: boolean
|
||||
|
||||
ti,use-ilim-pin:
|
||||
description: |
|
||||
ILIM resistor will be used and the input current will be the lower
|
||||
between the resistor setting and the IINLIM register setting
|
||||
type: boolean
|
||||
|
||||
ti,thermal-regulation-threshold:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
temperature above which the charge current is lowered, to avoid overheating
|
||||
(in degrees Celsius). If omitted, the default setting will be used (120 degrees)
|
||||
|
||||
ti,ibatcomp-micro-ohms:
|
||||
description: value of a resistor in series with the battery (in Micro Ohms)
|
||||
|
||||
ti,ibatcomp-clamp-microvolt:
|
||||
description: max. charging voltage adjustment due to expected voltage drop on in-series resistor
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- ti,battery-regulation-voltage
|
||||
- ti,charge-current
|
||||
- ti,termination-current
|
||||
- ti,precharge-current
|
||||
- ti,minimum-sys-voltage
|
||||
- ti,boost-voltage
|
||||
- ti,boost-max-current
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
charger@6a {
|
||||
compatible = "ti,bq25890";
|
||||
reg = <0x6a>;
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
ti,battery-regulation-voltage = <4200000>;
|
||||
ti,charge-current = <1000000>;
|
||||
ti,termination-current = <50000>;
|
||||
ti,precharge-current = <128000>;
|
||||
ti,minimum-sys-voltage = <3600000>;
|
||||
ti,boost-voltage = <5000000>;
|
||||
ti,boost-max-current = <1000000>;
|
||||
|
||||
ti,use-ilim-pin;
|
||||
ti,thermal-regulation-threshold = <120>;
|
||||
};
|
||||
};
|
||||
@@ -52,6 +52,7 @@ properties:
|
||||
- ti,bq27z561
|
||||
- ti,bq28z610
|
||||
- ti,bq34z100
|
||||
- ti,bq78z100
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -65,7 +66,7 @@ properties:
|
||||
- charge-full-design-microamp-hours
|
||||
- voltage-min-design-microvolt
|
||||
Both or neither of the *-full-design-*-hours properties must be set.
|
||||
See Documentation/devicetree/bindings/power/supply/battery.txt
|
||||
See Documentation/devicetree/bindings/power/supply/battery.yaml
|
||||
|
||||
power-supplies: true
|
||||
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
Motorola CPCAP PMIC battery driver binding
|
||||
|
||||
Required properties:
|
||||
- compatible: Shall be "motorola,cpcap-battery"
|
||||
- interrupts: Interrupt specifier for each name in interrupt-names
|
||||
- interrupt-names: Should contain the following entries:
|
||||
"lowbph", "lowbpl", "chrgcurr1", "battdetb"
|
||||
- io-channels: IIO ADC channel specifier for each name in io-channel-names
|
||||
- io-channel-names: Should contain the following entries:
|
||||
"battdetb", "battp", "chg_isense", "batti"
|
||||
- power-supplies: List of phandles for power-supplying devices, as
|
||||
described in power_supply.txt. Typically a reference
|
||||
to cpcap_charger.
|
||||
|
||||
Example:
|
||||
|
||||
cpcap_battery: battery {
|
||||
compatible = "motorola,cpcap-battery";
|
||||
interrupts-extended = <
|
||||
&cpcap 5 0 &cpcap 3 0
|
||||
&cpcap 20 0 &cpcap 54 0
|
||||
>;
|
||||
interrupt-names =
|
||||
"lowbph", "lowbpl",
|
||||
"chrgcurr1", "battdetb";
|
||||
io-channels = <&cpcap_adc 0 &cpcap_adc 1
|
||||
&cpcap_adc 5 &cpcap_adc 6>;
|
||||
io-channel-names = "battdetb", "battp",
|
||||
"chg_isense", "batti";
|
||||
power-supplies = <&cpcap_charger>;
|
||||
};
|
||||
@@ -0,0 +1,87 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 Sebastian Reichel
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/cpcap-battery.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Motorola CPCAP PMIC battery
|
||||
|
||||
maintainers:
|
||||
- Tony Lindgren <tony@atomide.com>
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
description: |
|
||||
Motorola CPCAP is a PMIC found in some mobile phones, e.g.
|
||||
the Droid 4. This binding describes its battery fuel gauge
|
||||
sub-function.
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: motorola,cpcap-battery
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: eol interrupt
|
||||
- description: low battery percentage interrupt
|
||||
- description: critical battery percentage interrupt
|
||||
- description: charger detect interrupt
|
||||
- description: battery detect interrupt
|
||||
- description: coulomb counter calibration interrupt
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: eol
|
||||
- const: lowbph
|
||||
- const: lowbpl
|
||||
- const: chrgcurr1
|
||||
- const: battdetb
|
||||
- const: cccal
|
||||
|
||||
io-channels:
|
||||
items:
|
||||
- description: battery temperature
|
||||
- description: battery voltage
|
||||
- description: battery charge current
|
||||
- description: battery current
|
||||
|
||||
io-channel-names:
|
||||
items:
|
||||
- const: battdetb
|
||||
- const: battp
|
||||
- const: chg_isense
|
||||
- const: batti
|
||||
|
||||
power-supplies: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- io-channels
|
||||
- io-channel-names
|
||||
- power-supplies
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
cpcap {
|
||||
battery {
|
||||
compatible = "motorola,cpcap-battery";
|
||||
interrupts-extended =
|
||||
<&cpcap 6 0>, <&cpcap 5 0>, <&cpcap 3 0>,
|
||||
<&cpcap 20 0>, <&cpcap 54 0>, <&cpcap 57 0>;
|
||||
interrupt-names =
|
||||
"eol", "lowbph", "lowbpl",
|
||||
"chrgcurr1", "battdetb", "cccal";
|
||||
io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
|
||||
<&cpcap_adc 5>, <&cpcap_adc 6>;
|
||||
io-channel-names = "battdetb", "battp",
|
||||
"chg_isense", "batti";
|
||||
power-supplies = <&cpcap_charger>;
|
||||
};
|
||||
};
|
||||
@@ -1,40 +0,0 @@
|
||||
Motorola CPCAP PMIC battery charger binding
|
||||
|
||||
Required properties:
|
||||
- compatible: Shall be "motorola,mapphone-cpcap-charger"
|
||||
- interrupts: Interrupt specifier for each name in interrupt-names
|
||||
- interrupt-names: Should contain the following entries:
|
||||
"chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
|
||||
"rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
|
||||
"battdetb"
|
||||
- io-channels: IIO ADC channel specifier for each name in io-channel-names
|
||||
- io-channel-names: Should contain the following entries:
|
||||
"battdetb", "battp", "vbus", "chg_isense", "batti"
|
||||
|
||||
Optional properties:
|
||||
- mode-gpios: Optionally CPCAP charger can have a companion wireless
|
||||
charge controller that is controlled with two GPIOs
|
||||
that are active low.
|
||||
|
||||
Example:
|
||||
|
||||
cpcap_charger: charger {
|
||||
compatible = "motorola,mapphone-cpcap-charger";
|
||||
interrupts-extended = <
|
||||
&cpcap 13 0 &cpcap 12 0 &cpcap 29 0 &cpcap 28 0
|
||||
&cpcap 22 0 &cpcap 21 0 &cpcap 20 0 &cpcap 19 0
|
||||
&cpcap 54 0
|
||||
>;
|
||||
interrupt-names =
|
||||
"chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
|
||||
"rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
|
||||
"battdetb";
|
||||
mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW
|
||||
&gpio3 23 GPIO_ACTIVE_LOW>;
|
||||
io-channels = <&cpcap_adc 0 &cpcap_adc 1
|
||||
&cpcap_adc 2 &cpcap_adc 5
|
||||
&cpcap_adc 6>;
|
||||
io-channel-names = "battdetb", "battp",
|
||||
"vbus", "chg_isense",
|
||||
"batti";
|
||||
};
|
||||
@@ -0,0 +1,106 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 Sebastian Reichel
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/cpcap-charger.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Motorola CPCAP PMIC charger
|
||||
|
||||
maintainers:
|
||||
- Tony Lindgren <tony@atomide.com>
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
description: |
|
||||
Motorola CPCAP is a PMIC found in some mobile phones, e.g.
|
||||
the Droid 4. This binding describes its battery charger
|
||||
sub-function.
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: motorola,mapphone-cpcap-charger
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: charger detection interrupt
|
||||
- description: reverse charge interrupt
|
||||
- description: SE1 charger detection interrupt
|
||||
- description: SE0 charger detection interrupt
|
||||
- description: reverse mode interrupt
|
||||
- description: charge current 2 interrupt
|
||||
- description: charge current 1 interrupt
|
||||
- description: VBUS valid interrupt
|
||||
- description: battery detect interrupt
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: chrg_det
|
||||
- const: rvrs_chrg
|
||||
- const: chrg_se1b
|
||||
- const: se0conn
|
||||
- const: rvrs_mode
|
||||
- const: chrgcurr2
|
||||
- const: chrgcurr1
|
||||
- const: vbusvld
|
||||
- const: battdetb
|
||||
|
||||
io-channels:
|
||||
items:
|
||||
- description: battery temperature
|
||||
- description: battery voltage
|
||||
- description: VBUS voltage
|
||||
- description: battery charge current
|
||||
- description: battery current
|
||||
|
||||
io-channel-names:
|
||||
items:
|
||||
- const: battdetb
|
||||
- const: battp
|
||||
- const: vbus
|
||||
- const: chg_isense
|
||||
- const: batti
|
||||
|
||||
mode-gpios:
|
||||
description: |
|
||||
Optionally CPCAP charger can have a companion wireless
|
||||
charge controller that is controlled with two GPIOs
|
||||
that are active low.
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- io-channels
|
||||
- io-channel-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
cpcap {
|
||||
charger {
|
||||
compatible = "motorola,mapphone-cpcap-charger";
|
||||
interrupts-extended =
|
||||
<&cpcap 13 0>, <&cpcap 12 0>, <&cpcap 29 0>, <&cpcap 28 0>,
|
||||
<&cpcap 22 0>, <&cpcap 21 0>, <&cpcap 20 0>, <&cpcap 19 0>,
|
||||
<&cpcap 54 0>;
|
||||
interrupt-names =
|
||||
"chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
|
||||
"rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
|
||||
"battdetb";
|
||||
mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>,
|
||||
<&gpio3 23 GPIO_ACTIVE_LOW>;
|
||||
io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
|
||||
<&cpcap_adc 2>, <&cpcap_adc 5>,
|
||||
<&cpcap_adc 6>;
|
||||
io-channel-names = "battdetb", "battp",
|
||||
"vbus", "chg_isense",
|
||||
"batti";
|
||||
};
|
||||
};
|
||||
@@ -61,7 +61,7 @@ examples:
|
||||
#size-cells = <0>;
|
||||
|
||||
cw2015@62 {
|
||||
compatible = "cellwise,cw201x";
|
||||
compatible = "cellwise,cw2015";
|
||||
reg = <0x62>;
|
||||
cellwise,battery-profile = /bits/ 8 <
|
||||
0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
Dialog Semiconductor DA9150 Charger Power Supply bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: "dlg,da9150-charger" for DA9150 Charger Power Supply
|
||||
|
||||
Optional properties:
|
||||
- io-channels: List of phandle and IIO specifier pairs
|
||||
- io-channel-names: List of channel names used by charger
|
||||
["CHAN_IBUS", "CHAN_VBUS", "CHAN_TJUNC", "CHAN_VBAT"]
|
||||
(See Documentation/devicetree/bindings/iio/iio-bindings.txt for further info)
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
da9150-charger {
|
||||
compatible = "dlg,da9150-charger";
|
||||
|
||||
io-channels = <&gpadc 0>,
|
||||
<&gpadc 2>,
|
||||
<&gpadc 8>,
|
||||
<&gpadc 5>;
|
||||
io-channel-names = "CHAN_IBUS",
|
||||
"CHAN_VBUS",
|
||||
"CHAN_TJUNC",
|
||||
"CHAN_VBAT";
|
||||
};
|
||||
@@ -1,23 +0,0 @@
|
||||
Dialog Semiconductor DA9150 Fuel-Gauge Power Supply bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: "dlg,da9150-fuel-gauge" for DA9150 Fuel-Gauge Power Supply
|
||||
|
||||
Optional properties:
|
||||
- dlg,update-interval: Interval time (milliseconds) between battery level checks.
|
||||
- dlg,warn-soc-level: Battery discharge level (%) where warning event raised.
|
||||
[1 - 100]
|
||||
- dlg,crit-soc-level: Battery discharge level (%) where critical event raised.
|
||||
This value should be lower than the warning level.
|
||||
[1 - 100]
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
fuel-gauge {
|
||||
compatible = "dlg,da9150-fuel-gauge";
|
||||
|
||||
dlg,update-interval = <10000>;
|
||||
dlg,warn-soc-level = /bits/ 8 <15>;
|
||||
dlg,crit-soc-level = /bits/ 8 <5>;
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/dlg,da9150-charger.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Dialog Semiconductor DA9150 Charger Power Supply bindings
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: dlg,da9150-charger
|
||||
|
||||
io-channels:
|
||||
items:
|
||||
- description: ADC channel for current
|
||||
- description: ADC channel for bus voltage
|
||||
- description: ADC channel for junction temperature
|
||||
- description: ADC channel for battery voltage
|
||||
|
||||
io-channel-names:
|
||||
items:
|
||||
- const: CHAN_IBUS
|
||||
- const: CHAN_VBUS
|
||||
- const: CHAN_TJUNC
|
||||
- const: CHAN_VBAT
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pmic {
|
||||
charger {
|
||||
compatible = "dlg,da9150-charger";
|
||||
io-channels = <&gpadc 0>,
|
||||
<&gpadc 2>,
|
||||
<&gpadc 8>,
|
||||
<&gpadc 5>;
|
||||
io-channel-names = "CHAN_IBUS",
|
||||
"CHAN_VBUS",
|
||||
"CHAN_TJUNC",
|
||||
"CHAN_VBAT";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,51 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/supply/dlg,da9150-fuel-gauge.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Dialog Semiconductor DA9150 Fuel-Gauge Power Supply bindings
|
||||
|
||||
maintainers:
|
||||
- Sebastian Reichel <sre@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: power-supply.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: dlg,da9150-fuel-gauge
|
||||
|
||||
dlg,update-interval:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Interval time (milliseconds) between battery level checks.
|
||||
|
||||
dlg,warn-soc-level:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8
|
||||
minimum: 1
|
||||
maximum: 100
|
||||
description: Battery discharge level (%) where warning event raised.
|
||||
|
||||
dlg,crit-soc-level:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8
|
||||
minimum: 1
|
||||
maximum: 100
|
||||
description: |
|
||||
Battery discharge level (%) where critical event raised.
|
||||
This value should be lower than the warning level.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pmic {
|
||||
battery {
|
||||
compatible = "dlg,da9150-fuel-gauge";
|
||||
dlg,update-interval = <10000>;
|
||||
dlg,warn-soc-level = /bits/ 8 <15>;
|
||||
dlg,crit-soc-level = /bits/ 8 <5>;
|
||||
};
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user