Commit 693fed98 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'char-misc-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char/misc and other driver subsystem updates from Greg KH:
 "Here is the large set of driver changes for char/misc drivers and
  other smaller driver subsystems that flow through this git tree.

  Included in here are:

   - New IIO drivers and features and improvments in that subsystem

   - New hwtracing drivers and additions to that subsystem

   - lots of interconnect changes and new drivers as that subsystem
     seems under very active development recently. This required also
     merging in the icc subsystem changes through this tree.

   - FPGA driver updates

   - counter subsystem and driver updates

   - MHI driver updates

   - nvmem driver updates

   - documentation updates

   - Other smaller driver updates and fixes, full details in the
     shortlog

  All of these have been in linux-next for a while with no reported
  problems"

* tag 'char-misc-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (223 commits)
  scripts/tags.sh: fix incompatibility with PCRE2
  firmware: coreboot: Remove GOOGLE_COREBOOT_TABLE_ACPI/OF Kconfig entries
  mei: lower the log level for non-fatal failed messages
  mei: bus: disallow driver match while dismantling device
  misc: vmw_balloon: fix memory leak with using debugfs_lookup()
  nvmem: stm32: fix OPTEE dependency
  dt-bindings: nvmem: qfprom: add IPQ8074 compatible
  nvmem: qcom-spmi-sdam: register at device init time
  nvmem: rave-sp-eeprm: fix kernel-doc bad line warning
  nvmem: stm32: detect bsec pta presence for STM32MP15x
  nvmem: stm32: add OP-TEE support for STM32MP13x
  nvmem: core: use nvmem_add_one_cell() in nvmem_add_cells_from_of()
  nvmem: core: add nvmem_add_one_cell()
  nvmem: core: drop the removal of the cells in nvmem_add_cells()
  nvmem: core: move struct nvmem_cell_info to nvmem-provider.h
  nvmem: core: add an index parameter to the cell
  of: property: add #nvmem-cell-cells property
  of: property: make #.*-cells optional for simple props
  of: base: add of_parse_phandle_with_optional_args()
  net: add helper eth_addr_add()
  ...
parents 0601f25d 6ec363fc
...@@ -236,7 +236,7 @@ What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/traceid ...@@ -236,7 +236,7 @@ What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/traceid
Date: November 2014 Date: November 2014
KernelVersion: 3.19 KernelVersion: 3.19
Contact: Mathieu Poirier <mathieu.poirier@linaro.org> Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
Description: (RW) Holds the trace ID that will appear in the trace stream Description: (RO) Holds the trace ID that will appear in the trace stream
coming from this trace entity. coming from this trace entity.
What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/trigger_event What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/trigger_event
......
What: /sys/bus/coresight/devices/<tpdm-name>/integration_test
Date: January 2023
KernelVersion 6.2
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(Write) Run integration test for tpdm. Integration test
will generate test data for tpdm. It can help to make
sure that the trace path is enabled and the link configurations
are fine.
Accepts only one of the 2 values - 1 or 2.
1 : Generate 64 bits data
2 : Generate 32 bits data
What: /sys/bus/coresight/devices/ultra_smb<N>/enable_sink
Date: January 2023
KernelVersion: 6.3
Contact: Junhao He <hejunhao3@huawei.com>
Description: (RW) Add/remove a SMB device from a trace path. There can be
multiple sources for a single SMB device.
What: /sys/bus/coresight/devices/ultra_smb<N>/mgmt/buf_size
Date: January 2023
KernelVersion: 6.3
Contact: Junhao He <hejunhao3@huawei.com>
Description: (RO) Shows the buffer size of each UltraSoc SMB device.
What: /sys/bus/coresight/devices/ultra_smb<N>/mgmt/buf_status
Date: January 2023
KernelVersion: 6.3
Contact: Junhao He <hejunhao3@huawei.com>
Description: (RO) Shows the value of UltraSoc SMB status register.
BIT(0) is zero means buffer is empty.
What: /sys/bus/coresight/devices/ultra_smb<N>/mgmt/read_pos
Date: January 2023
KernelVersion: 6.3
Contact: Junhao He <hejunhao3@huawei.com>
Description: (RO) Shows the value of UltraSoc SMB Read Pointer register.
What: /sys/bus/coresight/devices/ultra_smb<N>/mgmt/write_pos
Date: January 2023
KernelVersion: 6.3
Contact: Junhao He <hejunhao3@huawei.com>
Description: (RO) Shows the value of UltraSoc SMB Write Pointer register.
...@@ -19,6 +19,24 @@ Contact: linux-accelerators@lists.ozlabs.org ...@@ -19,6 +19,24 @@ Contact: linux-accelerators@lists.ozlabs.org
Description: Available instances left of the device Description: Available instances left of the device
Return -ENODEV if uacce_ops get_available_instances is not provided Return -ENODEV if uacce_ops get_available_instances is not provided
What: /sys/class/uacce/<dev_name>/isolate_strategy
Date: Nov 2022
KernelVersion: 6.1
Contact: linux-accelerators@lists.ozlabs.org
Description: (RW) A sysfs node that configure the error threshold for the hardware
isolation strategy. This size is a configured integer value, which is the
number of threshold for hardware errors occurred in one hour. The default is 0.
0 means never isolate the device. The maximum value is 65535. You can write
a number of threshold based on your hardware.
What: /sys/class/uacce/<dev_name>/isolate
Date: Nov 2022
KernelVersion: 6.1
Contact: linux-accelerators@lists.ozlabs.org
Description: (R) A sysfs node that read the device isolated state. The value 1
means the device is unavailable. The 0 means the device is
available.
What: /sys/class/uacce/<dev_name>/algorithms What: /sys/class/uacce/<dev_name>/algorithms
Date: Feb 2020 Date: Feb 2020
KernelVersion: 5.7 KernelVersion: 5.7
......
What: /sys/devices/platform/amba_pl/<dev>/errcnt
Date: Nov 2022
Contact: appana.durga.kedareswara.rao@amd.com
Description: This control file provides the fault detection count.
This file cannot be written.
Example:
# cat /sys/devices/platform/amba_pl/44a10000.tmr_manager/errcnt
1
What: /sys/devices/platform/amba_pl/<dev>/dis_block_break
Date: Nov 2022
Contact: appana.durga.kedareswara.rao@amd.com
Description: Write any value to it, This control file enables the break signal.
This file is write only.
Example:
# echo <any value> > /sys/devices/platform/amba_pl/44a10000.tmr_manager/dis_block_break
# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/qcom,coresight-tpda.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Trace, Profiling and Diagnostics Aggregator - TPDA
description: |
TPDAs are responsible for packetization and timestamping of data sets
utilizing the MIPI STPv2 packet protocol. Pulling data sets from one or
more attached TPDM and pushing the resultant (packetized) data out a
master ATB interface. Performing an arbitrated ATB interleaving (funneling)
task for free-flowing data from TPDM (i.e. CMB and DSB data set flows).
There is no strict binding between TPDM and TPDA. TPDA can have multiple
TPDMs connect to it. But There must be only one TPDA in the path from the
TPDM source to TMC sink. TPDM can directly connect to TPDA's inport or
connect to funnel which will connect to TPDA's inport.
We can use the commands are similar to the below to validate TPDMs.
Enable coresight sink first.
echo 1 > /sys/bus/coresight/devices/tmc_etf0/enable_sink
echo 1 > /sys/bus/coresight/devices/tpdm0/enable_source
echo 1 > /sys/bus/coresight/devices/tpdm0/integration_test
echo 2 > /sys/bus/coresight/devices/tpdm0/integration_test
The test data will be collected in the coresight sink which is enabled.
If rwp register of the sink is keeping updating when do integration_test
(by cat tmc_etf0/mgmt/rwp), it means there is data generated from TPDM
to sink.
maintainers:
- Mao Jinlong <quic_jinlmao@quicinc.com>
- Tao Zhang <quic_taozha@quicinc.com>
# Need a custom select here or 'arm,primecell' will match on lots of nodes
select:
properties:
compatible:
contains:
enum:
- qcom,coresight-tpda
required:
- compatible
properties:
$nodename:
pattern: "^tpda(@[0-9a-f]+)$"
compatible:
items:
- const: qcom,coresight-tpda
- const: arm,primecell
reg:
minItems: 1
maxItems: 2
clocks:
maxItems: 1
clock-names:
items:
- const: apb_pclk
in-ports:
type: object
description: |
Input connections from TPDM to TPDA
$ref: /schemas/graph.yaml#/properties/ports
out-ports:
type: object
description: |
Output connections from the TPDA to legacy CoreSight trace bus.
$ref: /schemas/graph.yaml#/properties/ports
properties:
port:
description:
Output connection from the TPDA to legacy CoreSight Trace bus.
$ref: /schemas/graph.yaml#/properties/port
required:
- compatible
- reg
- clocks
- clock-names
- in-ports
- out-ports
additionalProperties: false
examples:
# minimum tpda definition.
- |
tpda@6004000 {
compatible = "qcom,coresight-tpda", "arm,primecell";
reg = <0x6004000 0x1000>;
clocks = <&aoss_qmp>;
clock-names = "apb_pclk";
in-ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
tpda_qdss_0_in_tpdm_dcc: endpoint {
remote-endpoint =
<&tpdm_dcc_out_tpda_qdss_0>;
};
};
};
out-ports {
port {
tpda_qdss_out_funnel_in0: endpoint {
remote-endpoint =
<&funnel_in0_in_tpda_qdss>;
};
};
};
};
...
# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/qcom,coresight-tpdm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Trace, Profiling and Diagnostics Monitor - TPDM
description: |
The TPDM or Monitor serves as data collection component for various dataset
types specified in the QPMDA spec. It covers Implementation defined ((ImplDef),
Basic Counts (BC), Tenure Counts (TC), Continuous Multi-Bit (CMB), and Discrete
Single Bit (DSB). It performs data collection in the data producing clock
domain and transfers it to the data collection time domain, generally ATB
clock domain.
The primary use case of the TPDM is to collect data from different data
sources and send it to a TPDA for packetization, timestamping, and funneling.
maintainers:
- Mao Jinlong <quic_jinlmao@quicinc.com>
- Tao Zhang <quic_taozha@quicinc.com>
# Need a custom select here or 'arm,primecell' will match on lots of nodes
select:
properties:
compatible:
contains:
enum:
- qcom,coresight-tpdm
required:
- compatible
properties:
$nodename:
pattern: "^tpdm(@[0-9a-f]+)$"
compatible:
items:
- const: qcom,coresight-tpdm
- const: arm,primecell
reg:
minItems: 1
maxItems: 2
clocks:
maxItems: 1
clock-names:
items:
- const: apb_pclk
out-ports:
description: |
Output connections from the TPDM to coresight funnel/TPDA.
$ref: /schemas/graph.yaml#/properties/ports
properties:
port:
description: Output connection from the TPDM to coresight
funnel/TPDA.
$ref: /schemas/graph.yaml#/properties/port
required:
- compatible
- reg
- clocks
- clock-names
additionalProperties: false
examples:
# minimum TPDM definition. TPDM connect to coresight TPDA.
- |
tpdm@684c000 {
compatible = "qcom,coresight-tpdm", "arm,primecell";
reg = <0x0684c000 0x1000>;
clocks = <&aoss_qmp>;
clock-names = "apb_pclk";
out-ports {
port {
tpdm_prng_out_tpda_qdss: endpoint {
remote-endpoint =
<&tpda_qdss_in_tpdm_prng>;
};
};
};
};
...
...@@ -41,7 +41,7 @@ unevaluatedProperties: false ...@@ -41,7 +41,7 @@ unevaluatedProperties: false
examples: examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -39,7 +39,7 @@ examples: ...@@ -39,7 +39,7 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -59,7 +59,7 @@ examples: ...@@ -59,7 +59,7 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -49,7 +49,7 @@ examples: ...@@ -49,7 +49,7 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -64,7 +64,7 @@ examples: ...@@ -64,7 +64,7 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -58,34 +58,34 @@ unevaluatedProperties: false ...@@ -58,34 +58,34 @@ unevaluatedProperties: false
examples: examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
/* Example for a I2C device node */ /* Example for a I2C device node */
accelerometer@1d { accelerometer@1d {
compatible = "adi,adxl355"; compatible = "adi,adxl355";
reg = <0x1d>; reg = <0x1d>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
interrupts = <25 IRQ_TYPE_EDGE_RISING>; interrupts = <25 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "DRDY"; interrupt-names = "DRDY";
};
}; };
};
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
accelerometer@0 { accelerometer@0 {
compatible = "adi,adxl355"; compatible = "adi,adxl355";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
interrupts = <25 IRQ_TYPE_EDGE_RISING>; interrupts = <25 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "DRDY"; interrupt-names = "DRDY";
};
}; };
};
...@@ -37,32 +37,32 @@ unevaluatedProperties: false ...@@ -37,32 +37,32 @@ unevaluatedProperties: false
examples: examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
/* Example for a I2C device node */ /* Example for a I2C device node */
accelerometer@53 { accelerometer@53 {
compatible = "adi,adxl372"; compatible = "adi,adxl372";
reg = <0x53>; reg = <0x53>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
interrupts = <25 IRQ_TYPE_EDGE_FALLING>; interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
};
}; };
};
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
accelerometer@0 { accelerometer@0 {
compatible = "adi,adxl372"; compatible = "adi,adxl372";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
interrupts = <25 IRQ_TYPE_EDGE_FALLING>; interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
};
}; };
};
...@@ -36,7 +36,7 @@ unevaluatedProperties: false ...@@ -36,7 +36,7 @@ unevaluatedProperties: false
examples: examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -44,7 +44,7 @@ examples: ...@@ -44,7 +44,7 @@ examples:
accel@f { accel@f {
compatible = "kionix,kxtf9"; compatible = "kionix,kxtf9";
reg = <0x0F>; reg = <0xf>;
mount-matrix = "0", "1", "0", mount-matrix = "0", "1", "0",
"1", "0", "0", "1", "0", "0",
"0", "0", "1"; "0", "0", "1";
......
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/accel/memsensing,msa311.yaml#" $id: http://devicetree.org/schemas/iio/accel/memsensing,msa311.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: MEMSensing digital 3-Axis accelerometer title: MEMSensing digital 3-Axis accelerometer
......
...@@ -50,7 +50,7 @@ unevaluatedProperties: false ...@@ -50,7 +50,7 @@ unevaluatedProperties: false
examples: examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -65,7 +65,7 @@ examples: ...@@ -65,7 +65,7 @@ examples:
}; };
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -44,11 +44,11 @@ examples: ...@@ -44,11 +44,11 @@ examples:
#size-cells = <0>; #size-cells = <0>;
adc@2f { adc@2f {
compatible = "adi,ad7091r5"; compatible = "adi,ad7091r5";
reg = <0x2f>; reg = <0x2f>;
interrupts = <25 IRQ_TYPE_EDGE_FALLING>; interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
}; };
}; };
... ...
...@@ -61,7 +61,7 @@ required: ...@@ -61,7 +61,7 @@ required:
patternProperties: patternProperties:
"^channel@([0-9]|1[0-5])$": "^channel@([0-9]|1[0-5])$":
$ref: "adc.yaml" $ref: adc.yaml
type: object type: object
description: | description: |
Represents the external channels which are connected to the ADC. Represents the external channels which are connected to the ADC.
......
...@@ -99,26 +99,26 @@ unevaluatedProperties: false ...@@ -99,26 +99,26 @@ unevaluatedProperties: false
examples: examples:
- | - |
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
adc@0 { adc@0 {
compatible = "adi,ad7192"; compatible = "adi,ad7192";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
spi-cpol; spi-cpol;
spi-cpha; spi-cpha;
clocks = <&ad7192_mclk>; clocks = <&ad7192_mclk>;
clock-names = "mclk"; clock-names = "mclk";
interrupts = <25 0x2>; interrupts = <25 0x2>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
dvdd-supply = <&dvdd>; dvdd-supply = <&dvdd>;
avdd-supply = <&avdd>; avdd-supply = <&avdd>;
adi,refin2-pins-enable; adi,refin2-pins-enable;
adi,rejection-60-Hz-enable; adi,rejection-60-Hz-enable;
adi,buffer-enable; adi,buffer-enable;
adi,burnout-currents-enable; adi,burnout-currents-enable;
}; };
}; };
...@@ -43,7 +43,7 @@ required: ...@@ -43,7 +43,7 @@ required:
patternProperties: patternProperties:
"^channel@[0-7]$": "^channel@[0-7]$":
$ref: "adc.yaml" $ref: adc.yaml
type: object type: object
description: | description: |
Represents the external channels which are connected to the ADC. Represents the external channels which are connected to the ADC.
......
...@@ -112,30 +112,30 @@ examples: ...@@ -112,30 +112,30 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
adc@0 { adc@0 {
compatible = "adi,ad7606-8"; compatible = "adi,ad7606-8";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
spi-cpol; spi-cpol;
spi-cpha; spi-cpha;
avcc-supply = <&adc_vref>; avcc-supply = <&adc_vref>;
interrupts = <25 IRQ_TYPE_EDGE_FALLING>; interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
adi,oversampling-ratio-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>, adi,oversampling-ratio-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>,
<&gpio 23 GPIO_ACTIVE_HIGH>, <&gpio 23 GPIO_ACTIVE_HIGH>,
<&gpio 26 GPIO_ACTIVE_HIGH>; <&gpio 26 GPIO_ACTIVE_HIGH>;
standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>; standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
adi,sw-mode; adi,sw-mode;
}; };
}; };
... ...
...@@ -72,7 +72,7 @@ additionalProperties: false ...@@ -72,7 +72,7 @@ additionalProperties: false
examples: examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -57,17 +57,17 @@ additionalProperties: false ...@@ -57,17 +57,17 @@ additionalProperties: false
examples: examples:
- | - |
i2c { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
adc1: adc@28 { adc1: adc@28 {
reg = <0x28>; reg = <0x28>;
compatible = "adi,ad7991"; compatible = "adi,ad7991";
interrupts = <13 2>; interrupts = <13 2>;
interrupt-parent = <&gpio6>; interrupt-parent = <&gpio6>;
vcc-supply = <&vcc_3v3>; vcc-supply = <&vcc_3v3>;
vref-supply = <&adc_vref>; vref-supply = <&adc_vref>;
}; };
}; };
... ...
...@@ -64,10 +64,10 @@ examples: ...@@ -64,10 +64,10 @@ examples:
#size-cells = <0>; #size-cells = <0>;
adc@0 { adc@0 {
compatible = "adi,ad9467"; compatible = "adi,ad9467";
reg = <0>; reg = <0>;
clocks = <&adc_clk>; clocks = <&adc_clk>;
clock-names = "adc-clk"; clock-names = "adc-clk";
}; };
}; };
... ...
...@@ -51,11 +51,11 @@ additionalProperties: false ...@@ -51,11 +51,11 @@ additionalProperties: false
examples: examples:
- | - |
axi-adc@44a00000 { axi-adc@44a00000 {
compatible = "adi,axi-adc-10.0.a"; compatible = "adi,axi-adc-10.0.a";
reg = <0x44a00000 0x10000>; reg = <0x44a00000 0x10000>;
dmas = <&rx_dma 0>; dmas = <&rx_dma 0>;
dma-names = "rx"; dma-names = "rx";
adi,adc-dev = <&spi_adc>; adi,adc-dev = <&spi_adc>;
}; };
... ...
...@@ -41,7 +41,7 @@ properties: ...@@ -41,7 +41,7 @@ properties:
description: Startup time expressed in ms, it depends on SoC. description: Startup time expressed in ms, it depends on SoC.
atmel,trigger-edge-type: atmel,trigger-edge-type:
$ref: '/schemas/types.yaml#/definitions/uint32' $ref: /schemas/types.yaml#/definitions/uint32
description: description:
One of possible edge types for the ADTRG hardware trigger pin. One of possible edge types for the ADTRG hardware trigger pin.
When the specific edge type is detected, the conversion will When the specific edge type is detected, the conversion will
......
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/adc/avia-hx711.yaml#" $id: http://devicetree.org/schemas/iio/adc/avia-hx711.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: AVIA HX711 ADC chip for weight cells title: AVIA HX711 ADC chip for weight cells
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/cirrus,ep9301-adc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Cirrus Logic EP930x internal ADC
description: |
Cirrus Logic EP9301/EP9302 SoCs' internal ADC block.
User's manual:
https://cdn.embeddedts.com/resource-attachments/ts-7000_ep9301-ug.pdf
maintainers:
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
properties:
compatible:
const: cirrus,ep9301-adc
reg:
maxItems: 1
clocks:
maxItems: 1
interrupts:
maxItems: 1
required:
- compatible
- reg
- clocks
additionalProperties: false
examples:
- |
adc: adc@80900000 {
compatible = "cirrus,ep9301-adc";
reg = <0x80900000 0x28>;
clocks = <&syscon 24>;
interrupt-parent = <&vic1>;
interrupts = <30>;
};
...
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
# Copyright 2019-2020 Artur Rojek # Copyright 2019-2020 Artur Rojek
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/adc/ingenic,adc.yaml#" $id: http://devicetree.org/schemas/iio/adc/ingenic,adc.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Ingenic JZ47xx ADC controller IIO title: Ingenic JZ47xx ADC controller IIO
...@@ -78,14 +78,14 @@ examples: ...@@ -78,14 +78,14 @@ examples:
#include <dt-bindings/iio/adc/ingenic,adc.h> #include <dt-bindings/iio/adc/ingenic,adc.h>
adc@10070000 { adc@10070000 {
compatible = "ingenic,jz4740-adc"; compatible = "ingenic,jz4740-adc";
#io-channel-cells = <1>; #io-channel-cells = <1>;
reg = <0x10070000 0x30>; reg = <0x10070000 0x30>;
clocks = <&cgu JZ4740_CLK_ADC>; clocks = <&cgu JZ4740_CLK_ADC>;
clock-names = "adc"; clock-names = "adc";
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
interrupts = <18>; interrupts = <18>;
}; };
...@@ -54,8 +54,8 @@ examples: ...@@ -54,8 +54,8 @@ examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
maxadc: adc@0 { maxadc: adc@0 {
compatible = "maxim,max1027"; compatible = "maxim,max1027";
reg = <0>; reg = <0>;
......
...@@ -10,7 +10,7 @@ maintainers: ...@@ -10,7 +10,7 @@ maintainers:
- Jonathan Cameron <jic23@kernel.org> - Jonathan Cameron <jic23@kernel.org>
description: | description: |
Family of simple ADCs with i2c inteface and internal references. Family of simple ADCs with i2c interface and internal references.
properties: properties:
compatible: compatible:
......
...@@ -54,8 +54,8 @@ examples: ...@@ -54,8 +54,8 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
adc@0 { adc@0 {
compatible = "maxim,max1241"; compatible = "maxim,max1241";
......
...@@ -10,7 +10,7 @@ maintainers: ...@@ -10,7 +10,7 @@ maintainers:
- Jonathan Cameron <jic23@kernel.org> - Jonathan Cameron <jic23@kernel.org>
description: | description: |
Family of ADCs with i2c inteface, internal references and threshold Family of ADCs with i2c interface, internal references and threshold
monitoring. monitoring.
properties: properties:
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
# Copyright 2019 Marcus Folkesson <marcus.folkesson@gmail.com> # Copyright 2019 Marcus Folkesson <marcus.folkesson@gmail.com>
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/adc/microchip,mcp3911.yaml#" $id: http://devicetree.org/schemas/iio/adc/microchip,mcp3911.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip MCP3911 Dual channel analog front end (ADC) title: Microchip MCP3911 Dual channel analog front end (ADC)
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/nxp,imx93-adc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP iMX93 ADC
maintainers:
- Haibo Chen <haibo.chen@nxp.com>
description:
The ADC on iMX93 is a 8-channel 12-bit 1MS/s ADC with 4 channels
connected to pins. it support normal and inject mode, include
One-Shot and Scan (continuous) conversions. Programmable DMA
enables for each channel Also this ADC contain alternate analog
watchdog thresholds, select threshold through input ports. And
also has Self-test logic and Software-initiated calibration.
properties:
compatible:
const: nxp,imx93-adc
reg:
maxItems: 1
interrupts:
items:
- description: WDGnL, watchdog threshold interrupt requests.
- description: WDGnH, watchdog threshold interrupt requests.
- description: normal conversion, include EOC (End of Conversion),
ECH (End of Chain), JEOC (End of Injected Conversion) and
JECH (End of injected Chain).
- description: Self-testing Interrupts.
clocks:
maxItems: 1
clock-names:
const: ipg
vref-supply:
description:
The reference voltage which used to establish channel scaling.
"#io-channel-cells":
const: 1
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- vref-supply
- "#io-channel-cells"
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/imx93-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
soc {
#address-cells = <1>;
#size-cells = <1>;
adc@44530000 {
compatible = "nxp,imx93-adc";
reg = <0x44530000 0x10000>;
interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX93_CLK_ADC1_GATE>;
clock-names = "ipg";
vref-supply = <&reg_vref_1v8>;
#io-channel-cells = <1>;
};
};
...
...@@ -160,7 +160,7 @@ examples: ...@@ -160,7 +160,7 @@ examples:
}; };
ref_muxoff: adc-channel@f { ref_muxoff: adc-channel@f {
reg = <0x00 0x0f>; reg = <0x00 0x0f>;
}; };
}; };
}; };
... ...
...@@ -20,6 +20,7 @@ properties: ...@@ -20,6 +20,7 @@ properties:
compatible: compatible:
items: items:
- enum: - enum:
- qcom,pm8226-iadc
- qcom,pm8941-iadc - qcom,pm8941-iadc
- const: qcom,spmi-iadc - const: qcom,spmi-iadc
...@@ -49,7 +50,7 @@ additionalProperties: false ...@@ -49,7 +50,7 @@ additionalProperties: false
examples: examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spmi_bus { spmi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pmic_iadc: adc@3600 { pmic_iadc: adc@3600 {
......
...@@ -40,12 +40,12 @@ additionalProperties: false ...@@ -40,12 +40,12 @@ additionalProperties: false
examples: examples:
- | - |
pmic { pmic {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pmic_rradc: adc@4500 { pmic_rradc: adc@4500 {
compatible = "qcom,pmi8998-rradc"; compatible = "qcom,pmi8998-rradc";
reg = <0x4500>; reg = <0x4500>;
#io-channel-cells = <1>; #io-channel-cells = <1>;
}; };
}; };
...@@ -69,7 +69,7 @@ required: ...@@ -69,7 +69,7 @@ required:
patternProperties: patternProperties:
"^channel@[0-7]$": "^channel@[0-7]$":
$ref: "adc.yaml" $ref: adc.yaml
type: object type: object
description: | description: |
Represents the external channels which are connected to the ADC. Represents the external channels which are connected to the ADC.
......
...@@ -52,7 +52,7 @@ properties: ...@@ -52,7 +52,7 @@ properties:
vdd-supply: true vdd-supply: true
samsung,syscon-phandle: samsung,syscon-phandle:
$ref: '/schemas/types.yaml#/definitions/phandle' $ref: /schemas/types.yaml#/definitions/phandle
description: description:
Phandle to the PMU system controller node (to access the ADC_PHY Phandle to the PMU system controller node (to access the ADC_PHY
register on Exynos3250/4x12/5250/5420/5800). register on Exynos3250/4x12/5250/5420/5800).
...@@ -142,7 +142,7 @@ examples: ...@@ -142,7 +142,7 @@ examples:
pullup-ohm = <47000>; pullup-ohm = <47000>;
pulldown-ohm = <0>; pulldown-ohm = <0>;
io-channels = <&adc 4>; io-channels = <&adc 4>;
}; };
}; };
- | - |
...@@ -150,7 +150,7 @@ examples: ...@@ -150,7 +150,7 @@ examples:
adc@126c0000 { adc@126c0000 {
compatible = "samsung,exynos3250-adc"; compatible = "samsung,exynos3250-adc";
reg = <0x126C0000 0x100>; reg = <0x126c0000 0x100>;
interrupts = <0 137 0>; interrupts = <0 137 0>;
#io-channel-cells = <1>; #io-channel-cells = <1>;
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/adc/st,stm32-adc.yaml#" $id: http://devicetree.org/schemas/iio/adc/st,stm32-adc.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: STMicroelectronics STM32 ADC title: STMicroelectronics STM32 ADC
...@@ -80,7 +80,7 @@ properties: ...@@ -80,7 +80,7 @@ properties:
description: description:
Phandle to system configuration controller. It can be used to control the Phandle to system configuration controller. It can be used to control the
analog circuitry on stm32mp1. analog circuitry on stm32mp1.
$ref: "/schemas/types.yaml#/definitions/phandle-array" $ref: /schemas/types.yaml#/definitions/phandle-array
interrupt-controller: true interrupt-controller: true
...@@ -341,7 +341,7 @@ patternProperties: ...@@ -341,7 +341,7 @@ patternProperties:
patternProperties: patternProperties:
"^channel@([0-9]|1[0-9])$": "^channel@([0-9]|1[0-9])$":
type: object type: object
$ref: "adc.yaml" $ref: adc.yaml
description: Represents the external channels which are connected to the ADC. description: Represents the external channels which are connected to the ADC.
properties: properties:
......
...@@ -35,10 +35,8 @@ additionalProperties: false ...@@ -35,10 +35,8 @@ additionalProperties: false
examples: examples:
- | - |
stmpe { adc {
stmpe_adc { compatible = "st,stmpe-adc";
compatible = "st,stmpe-adc"; st,norequest-mask = <0x0f>; /* dont use ADC CH3-0 */
st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */
};
}; };
... ...
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/ti,adc081c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI Single-channel I2C ADCs
maintainers:
- Jonathan Cameron <jic23@kernel.org>
- Lars-Peter Clausen <lars@metafoo.de>
description: |
Single-channel ADC supporting 8, 10, or 12-bit samples and high/low alerts.
properties:
compatible:
enum:
- ti,adc081c
- ti,adc101c
- ti,adc121c
reg:
maxItems: 1
interrupts:
maxItems: 1
vref-supply:
description:
Regulator for the combined power supply and voltage reference
"#io-channel-cells":
const: 1
required:
- compatible
- reg
- vref-supply
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
adc@52 {
compatible = "ti,adc081c";
reg = <0x52>;
vref-supply = <&reg_2p5v>;
};
};
...
...@@ -104,12 +104,12 @@ examples: ...@@ -104,12 +104,12 @@ examples:
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
channel@0 { channel@0 {
reg = <0>; reg = <0>;
}; };
channel@4 { channel@4 {
reg = <4>; reg = <4>;
ti,gain = <3>; ti,gain = <3>;
ti,datarate = <5>; ti,datarate = <5>;
}; };
}; };
}; };
......
...@@ -77,7 +77,7 @@ required: ...@@ -77,7 +77,7 @@ required:
patternProperties: patternProperties:
"^channel@([0-7])$": "^channel@([0-7])$":
$ref: "adc.yaml" $ref: adc.yaml
type: object type: object
description: | description: |
Represents the external channels which are connected to the ADC. Represents the external channels which are connected to the ADC.
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI ADS7924 4 channels 12 bits I2C analog to digital converter
maintainers:
- Hugo Villeneuve <hvilleneuve@dimonoff.com>
description: |
Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter
Specifications:
https://www.ti.com/lit/gpn/ads7924
properties:
compatible:
const: ti,ads7924
reg:
maxItems: 1
vref-supply:
description:
The regulator supply for the ADC reference voltage (AVDD)
reset-gpios:
maxItems: 1
interrupts:
maxItems: 1
"#address-cells":
const: 1
"#size-cells":
const: 0
"#io-channel-cells":
const: 1
patternProperties:
"^channel@[0-3]+$":
$ref: adc.yaml
description: |
Represents the external channels which are connected to the ADC.
properties:
reg:
description: |
The channel number. It can have up to 4 channels numbered from 0 to 3.
items:
- minimum: 0
maximum: 3
label: true
required:
- reg
additionalProperties: false
additionalProperties: false
required:
- compatible
- reg
- vref-supply
- "#address-cells"
- "#size-cells"
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
adc@48 {
compatible = "ti,ads7924";
reg = <0x48>;
vref-supply = <&ads7924_reg>;
reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&gpio>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0>;
label = "CH0";
};
channel@1 {
reg = <1>;
label = "CH1";
};
channel@2 {
reg = <2>;
label = "CH2";
};
channel@3 {
reg = <3>;
label = "CH3";
};
};
};
...
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/ti,lmp92064.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Texas Instruments LMP92064 Precision Current and Voltage Sensor.
maintainers:
- Leonard Göhrs <l.goehrs@pengutronix.de>
description: |
The LMP92064 is a two channel ADC intended for combined voltage and current
measurements.
The device contains two ADCs to allow simultaneous sampling of voltage and
current and thus of instantaneous power consumption.
properties:
compatible:
enum:
- ti,lmp92064
reg:
maxItems: 1
vdd-supply:
description: Regulator that provides power to the main part of the chip
vdig-supply:
description: |
Regulator that provides power to the digital I/O part of the chip
shunt-resistor-micro-ohms:
description: |
Value of the shunt resistor (in µΩ) connected between INCP and INCN,
across which current is measured. Used to provide correct scaling of the
raw ADC measurement.
reset-gpios:
maxItems: 1
required:
- compatible
- reg
- shunt-resistor-micro-ohms
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
spi {
#address-cells = <1>;
#size-cells = <0>;
adc@0 {
compatible = "ti,lmp92064";
reg = <0>;
vdd-supply = <&vdd>;
vdig-supply = <&vdd>;
spi-max-frequency = <20000000>;
shunt-resistor-micro-ohms = <15000>;
reset-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
};
};
...
...@@ -41,7 +41,7 @@ required: ...@@ -41,7 +41,7 @@ required:
patternProperties: patternProperties:
"^channel@[0-7]$": "^channel@[0-7]$":
$ref: "adc.yaml" $ref: adc.yaml
type: object type: object
properties: properties:
...@@ -83,36 +83,36 @@ examples: ...@@ -83,36 +83,36 @@ examples:
#size-cells = <0>; #size-cells = <0>;
channel@0 { channel@0 {
reg = <0>; reg = <0>;
}; };
channel@1 { channel@1 {
reg = <1>; reg = <1>;
settling-time-us = <700>; settling-time-us = <700>;
oversampling-ratio = <5>; oversampling-ratio = <5>;
}; };
channel@2 { channel@2 {
reg = <2>; reg = <2>;
}; };
channel@3 { channel@3 {
reg = <3>; reg = <3>;
settling-time-us = <700>; settling-time-us = <700>;
oversampling-ratio = <5>; oversampling-ratio = <5>;
}; };
channel@4 { channel@4 {
reg = <4>; reg = <4>;
settling-time-us = <700>; settling-time-us = <700>;
oversampling-ratio = <5>; oversampling-ratio = <5>;
}; };
channel@5 { channel@5 {
reg = <5>; reg = <5>;
settling-time-us = <700>; settling-time-us = <700>;
oversampling-ratio = <5>; oversampling-ratio = <5>;
}; };
channel@6 { channel@6 {
reg = <6>; reg = <6>;
}; };
channel@7 { channel@7 {
reg = <7>; reg = <7>;
}; };
}; };
}; };
......
...@@ -192,26 +192,26 @@ additionalProperties: false ...@@ -192,26 +192,26 @@ additionalProperties: false
examples: examples:
- | - |
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
ad3552r@0 { ad3552r@0 {
compatible = "adi,ad3552r"; compatible = "adi,ad3552r";
reg = <0>; reg = <0>;
spi-max-frequency = <20000000>; spi-max-frequency = <20000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
channel@0 { channel@0 {
reg = <0>; reg = <0>;
adi,output-range-microvolt = <0 10000000>; adi,output-range-microvolt = <0 10000000>;
}; };
channel@1 { channel@1 {
reg = <1>; reg = <1>;
custom-output-range-config { custom-output-range-config {
adi,gain-offset = <5>; adi,gain-offset = <5>;
adi,gain-scaling-p-inv-log2 = <1>; adi,gain-scaling-p-inv-log2 = <1>;
adi,gain-scaling-n-inv-log2 = <2>; adi,gain-scaling-n-inv-log2 = <2>;
adi,rfb-ohms = <1>; adi,rfb-ohms = <1>;
}; };
}; };
}; };
}; };
......
...@@ -12,6 +12,7 @@ maintainers: ...@@ -12,6 +12,7 @@ maintainers:
description: | description: |
DAC devices supporting both SPI and I2C interfaces. DAC devices supporting both SPI and I2C interfaces.
properties: properties:
compatible: compatible:
enum: enum:
......
...@@ -33,6 +33,7 @@ properties: ...@@ -33,6 +33,7 @@ properties:
- description: I2C devices - description: I2C devices
enum: enum:
- adi,ad5311r - adi,ad5311r
- adi,ad5337r
- adi,ad5338r - adi,ad5338r
- adi,ad5671r - adi,ad5671r
- adi,ad5675r - adi,ad5675r
......
...@@ -51,15 +51,15 @@ additionalProperties: false ...@@ -51,15 +51,15 @@ additionalProperties: false
examples: examples:
- | - |
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
ad5766@0 { ad5766@0 {
compatible = "adi,ad5766"; compatible = "adi,ad5766";
output-range-microvolts = <(-5000000) 5000000>; output-range-microvolts = <(-5000000) 5000000>;
reg = <0>; reg = <0>;
spi-cpol; spi-cpol;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
reset-gpios = <&gpio 22 0>; reset-gpios = <&gpio 22 0>;
}; };
}; };
...@@ -147,49 +147,49 @@ unevaluatedProperties: false ...@@ -147,49 +147,49 @@ unevaluatedProperties: false
examples: examples:
- | - |
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
ad5770r@0 { ad5770r@0 {
compatible = "adi,ad5770r"; compatible = "adi,ad5770r";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
vref-supply = <&vref>; vref-supply = <&vref>;
adi,external-resistor; adi,external-resistor;
reset-gpios = <&gpio 22 0>; reset-gpios = <&gpio 22 0>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
channel@0 { channel@0 {
reg = <0>; reg = <0>;
adi,range-microamp = <0 300000>; adi,range-microamp = <0 300000>;
}; };
channel@1 { channel@1 {
reg = <1>; reg = <1>;
adi,range-microamp = <0 140000>; adi,range-microamp = <0 140000>;
}; };
channel@2 { channel@2 {
reg = <2>; reg = <2>;
adi,range-microamp = <0 55000>; adi,range-microamp = <0 55000>;
}; };
channel@3 { channel@3 {
reg = <3>; reg = <3>;
adi,range-microamp = <0 45000>; adi,range-microamp = <0 45000>;
}; };
channel@4 { channel@4 {
reg = <4>; reg = <4>;
adi,range-microamp = <0 45000>; adi,range-microamp = <0 45000>;
}; };
channel@5 { channel@5 {
reg = <5>; reg = <5>;
adi,range-microamp = <0 45000>; adi,range-microamp = <0 45000>;
}; };
};
}; };
};
... ...
...@@ -116,32 +116,32 @@ examples: ...@@ -116,32 +116,32 @@ examples:
- | - |
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
ltc2688: ltc2688@0 { ltc2688: ltc2688@0 {
compatible = "adi,ltc2688"; compatible = "adi,ltc2688";
reg = <0>; reg = <0>;
vcc-supply = <&vcc>; vcc-supply = <&vcc>;
iovcc-supply = <&vcc>; iovcc-supply = <&vcc>;
vref-supply = <&vref>; vref-supply = <&vref>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
channel@0 { channel@0 {
reg = <0>; reg = <0>;
adi,toggle-mode; adi,toggle-mode;
adi,overrange; adi,overrange;
}; };
channel@1 { channel@1 {
reg = <1>; reg = <1>;
adi,output-range-microvolt = <0 10000000>; adi,output-range-microvolt = <0 10000000>;
clocks = <&clock_tgp3>; clocks = <&clock_tgp3>;
adi,toggle-dither-input = <2>; adi,toggle-dither-input = <2>;
}; };
}; };
}; };
... ...
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
# Copyright 2019 Marcus Folkesson <marcus.folkesson@gmail.com> # Copyright 2019 Marcus Folkesson <marcus.folkesson@gmail.com>
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/dac/lltc,ltc1660.yaml#" $id: http://devicetree.org/schemas/iio/dac/lltc,ltc1660.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Linear Technology Micropower octal 8-Bit and 10-Bit DACs title: Linear Technology Micropower octal 8-Bit and 10-Bit DACs
......
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/dac/lltc,ltc2632.yaml#" $id: http://devicetree.org/schemas/iio/dac/lltc,ltc2632.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Linear Technology LTC263x 12-/10-/8-Bit Rail-to-Rail DAC title: Linear Technology LTC263x 12-/10-/8-Bit Rail-to-Rail DAC
...@@ -64,14 +64,14 @@ examples: ...@@ -64,14 +64,14 @@ examples:
}; };
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
dac@0 { dac@0 {
compatible = "lltc,ltc2632-l12"; compatible = "lltc,ltc2632-l12";
reg = <0>; /* CS0 */ reg = <0>; /* CS0 */
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
vref-supply = <&vref>; vref-supply = <&vref>;
}; };
}; };
... ...
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/dac/maxim,max5522.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Maxim Integrated MAX5522 Dual 10-bit Voltage-Output SPI DACs
maintainers:
- Angelo Dureghello <angelo.dureghello@timesys.com>
- Jonathan Cameron <jic23@kernel.org>
description: |
Datasheet available at:
https://www.analog.com/en/products/max5522.html
properties:
compatible:
const: maxim,max5522
reg:
maxItems: 1
vdd-supply: true
vrefin-supply: true
required:
- compatible
- reg
- vrefin-supply
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
spi {
#address-cells = <1>;
#size-cells = <0>;
dac@0 {
compatible = "maxim,max5522";
reg = <0>;
vrefin-supply = <&vref>;
};
};
...
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/dac/st,stm32-dac.yaml#" $id: http://devicetree.org/schemas/iio/dac/st,stm32-dac.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: STMicroelectronics STM32 DAC title: STMicroelectronics STM32 DAC
......
...@@ -46,7 +46,7 @@ examples: ...@@ -46,7 +46,7 @@ examples:
dac@4c { dac@4c {
compatible = "ti,dac5571"; compatible = "ti,dac5571";
reg = <0x4C>; reg = <0x4c>;
vref-supply = <&vdd_supply>; vref-supply = <&vdd_supply>;
}; };
}; };
......
...@@ -53,16 +53,16 @@ unevaluatedProperties: false ...@@ -53,16 +53,16 @@ unevaluatedProperties: false
examples: examples:
- | - |
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
frequency@0 { frequency@0 {
compatible = "adi,adf4371"; compatible = "adi,adf4371";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
clocks = <&adf4371_clkin>; clocks = <&adf4371_clkin>;
clock-names = "clkin"; clock-names = "clkin";
}; };
}; };
... ...
...@@ -50,13 +50,13 @@ examples: ...@@ -50,13 +50,13 @@ examples:
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
gyro@0 { gyro@0 {
compatible = "adi,adxrs290"; compatible = "adi,adxrs290";
reg = <0>; reg = <0>;
spi-max-frequency = <5000000>; spi-max-frequency = <5000000>;
spi-cpol; spi-cpol;
spi-cpha; spi-cpha;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
interrupts = <25 IRQ_TYPE_EDGE_RISING>; interrupts = <25 IRQ_TYPE_EDGE_RISING>;
}; };
}; };
... ...
...@@ -65,34 +65,34 @@ examples: ...@@ -65,34 +65,34 @@ examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
gyroscope@20 { gyroscope@20 {
compatible = "nxp,fxas21002c"; compatible = "nxp,fxas21002c";
reg = <0x20>; reg = <0x20>;
vdd-supply = <&reg_peri_3p15v>; vdd-supply = <&reg_peri_3p15v>;
vddio-supply = <&reg_peri_3p15v>; vddio-supply = <&reg_peri_3p15v>;
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <7 IRQ_TYPE_EDGE_RISING>; interrupts = <7 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "INT1"; interrupt-names = "INT1";
}; };
}; };
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
gyroscope@0 { gyroscope@0 {
compatible = "nxp,fxas21002c"; compatible = "nxp,fxas21002c";
reg = <0x0>; reg = <0x0>;
spi-max-frequency = <2000000>; spi-max-frequency = <2000000>;
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <7 IRQ_TYPE_EDGE_RISING>; interrupts = <7 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "INT2"; interrupt-names = "INT2";
}; };
}; };
...@@ -42,7 +42,7 @@ examples: ...@@ -42,7 +42,7 @@ examples:
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
heart_mon@0 { heart-mon@0 {
compatible = "ti,afe4403"; compatible = "ti,afe4403";
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
......
...@@ -39,7 +39,7 @@ examples: ...@@ -39,7 +39,7 @@ examples:
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
heart_mon@58 { heart-mon@58 {
compatible = "ti,afe4404"; compatible = "ti,afe4404";
reg = <0x58>; reg = <0x58>;
tx-supply = <&vbat>; tx-supply = <&vbat>;
......
...@@ -34,7 +34,7 @@ additionalProperties: false ...@@ -34,7 +34,7 @@ additionalProperties: false
examples: examples:
- | - |
humidity_sensor { humidity-sensor {
compatible = "dht11"; compatible = "dht11";
gpios = <&gpio0 6 0>; gpios = <&gpio0 6 0>;
}; };
......
...@@ -35,12 +35,12 @@ additionalProperties: false ...@@ -35,12 +35,12 @@ additionalProperties: false
examples: examples:
- | - |
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
humidity@40 { humidity@40 {
compatible = "ti,hdc2010"; compatible = "ti,hdc2010";
reg = <0x40>; reg = <0x40>;
}; };
}; };
...@@ -42,7 +42,7 @@ examples: ...@@ -42,7 +42,7 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -114,17 +114,17 @@ examples: ...@@ -114,17 +114,17 @@ examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
adis16475: adis16475-3@0 { adis16475: adis16475-3@0 {
compatible = "adi,adis16475-3"; compatible = "adi,adis16475-3";
reg = <0>; reg = <0>;
spi-cpha; spi-cpha;
spi-cpol; spi-cpol;
spi-max-frequency = <2000000>; spi-max-frequency = <2000000>;
interrupts = <4 IRQ_TYPE_EDGE_RISING>; interrupts = <4 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
}; };
}; };
... ...
...@@ -64,16 +64,16 @@ examples: ...@@ -64,16 +64,16 @@ examples:
#size-cells = <0>; #size-cells = <0>;
bmi160@68 { bmi160@68 {
compatible = "bosch,bmi160"; compatible = "bosch,bmi160";
reg = <0x68>; reg = <0x68>;
vdd-supply = <&pm8916_l17>; vdd-supply = <&pm8916_l17>;
vddio-supply = <&pm8916_l6>; vddio-supply = <&pm8916_l6>;
interrupt-parent = <&gpio4>; interrupt-parent = <&gpio4>;
interrupts = <12 IRQ_TYPE_EDGE_RISING>; interrupts = <12 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "INT1"; interrupt-names = "INT1";
mount-matrix = "0", "1", "0", mount-matrix = "0", "1", "0",
"-1", "0", "0", "-1", "0", "0",
"0", "0", "1"; "0", "0", "1";
}; };
}; };
- | - |
...@@ -84,11 +84,11 @@ examples: ...@@ -84,11 +84,11 @@ examples:
#size-cells = <0>; #size-cells = <0>;
bmi160@0 { bmi160@0 {
compatible = "bosch,bmi160"; compatible = "bosch,bmi160";
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <12 IRQ_TYPE_EDGE_RISING>; interrupts = <12 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "INT2"; interrupt-names = "INT2";
}; };
}; };
...@@ -65,35 +65,35 @@ examples: ...@@ -65,35 +65,35 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
icm42605@68 { icm42605@68 {
compatible = "invensense,icm42605"; compatible = "invensense,icm42605";
reg = <0x68>; reg = <0x68>;
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>; interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&vdd>; vdd-supply = <&vdd>;
vddio-supply = <&vddio>; vddio-supply = <&vddio>;
}; };
}; };
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
icm42602@0 { icm42602@0 {
compatible = "invensense,icm42602"; compatible = "invensense,icm42602";
reg = <0>; reg = <0>;
spi-max-frequency = <24000000>; spi-max-frequency = <24000000>;
spi-cpha; spi-cpha;
spi-cpol; spi-cpol;
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>; interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&vdd>; vdd-supply = <&vdd>;
vddio-supply = <&vddio>; vddio-supply = <&vddio>;
}; };
}; };
...@@ -49,33 +49,33 @@ examples: ...@@ -49,33 +49,33 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
fxos8700@1e { fxos8700@1e {
compatible = "nxp,fxos8700"; compatible = "nxp,fxos8700";
reg = <0x1e>; reg = <0x1e>;
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <7 IRQ_TYPE_EDGE_RISING>; interrupts = <7 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "INT1"; interrupt-names = "INT1";
}; };
}; };
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
spi0 { spi {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
fxos8700@0 { fxos8700@0 {
compatible = "nxp,fxos8700"; compatible = "nxp,fxos8700";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <7 IRQ_TYPE_EDGE_RISING>; interrupts = <7 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "INT2"; interrupt-names = "INT2";
}; };
}; };
...@@ -63,7 +63,7 @@ properties: ...@@ -63,7 +63,7 @@ properties:
description: if defined provides VDD IO power to the sensor. description: if defined provides VDD IO power to the sensor.
st,drdy-int-pin: st,drdy-int-pin:
$ref: '/schemas/types.yaml#/definitions/uint32' $ref: /schemas/types.yaml#/definitions/uint32
description: | description: |
The pin on the package that will be used to signal data ready The pin on the package that will be used to signal data ready
enum: enum:
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/magnetometer/ti,tmag5273.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor
maintainers:
- Gerald Loacker <gerald.loacker@wolfvision.net>
description:
The TI TMAG5273 is a low-power linear 3D Hall-effect sensor. This device
integrates three independent Hall-effect sensors in the X, Y, and Z axes.
The device has an integrated temperature sensor available. The TMAG5273
can be configured through the I2C interface to enable any combination of
magnetic axes and temperature measurements. An integrated angle calculation
engine (CORDIC) provides full 360° angular position information for both
on-axis and off-axis angle measurement topologies. The angle calculation is
performed using two user-selected magnetic axes.
properties:
compatible:
const: ti,tmag5273
reg:
maxItems: 1
"#io-channel-cells":
const: 1
ti,angle-measurement:
$ref: /schemas/types.yaml#/definitions/string
description:
Enables angle measurement in the selected plane.
If not specified, "x-y" will be anables as default.
enum:
- off
- x-y
- y-z
- x-z
vcc-supply:
description:
A regulator providing 1.7 V to 3.6 V supply voltage on the VCC pin,
typically 3.3 V.
interrupts:
description:
The low active interrupt can be configured to be fixed width or latched.
Interrupt events can be configured to be generated from magnetic
thresholds or when a conversion is completed.
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
magnetometer@35 {
compatible = "ti,tmag5273";
reg = <0x35>;
#io-channel-cells = <1>;
ti,angle-measurement = "x-z";
vcc-supply = <&vcc3v3>;
};
};
...
...@@ -91,12 +91,12 @@ examples: ...@@ -91,12 +91,12 @@ examples:
#size-cells = <0>; #size-cells = <0>;
magnetometer@2e { magnetometer@2e {
compatible = "yamaha,yas530"; compatible = "yamaha,yas530";
reg = <0x2e>; reg = <0x2e>;
vdd-supply = <&ldo1_reg>; vdd-supply = <&ldo1_reg>;
iovdd-supply = <&ldo2_reg>; iovdd-supply = <&ldo2_reg>;
reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
interrupts = <13 IRQ_TYPE_EDGE_RISING>; interrupts = <13 IRQ_TYPE_EDGE_RISING>;
}; };
}; };
...@@ -105,8 +105,8 @@ examples: ...@@ -105,8 +105,8 @@ examples:
#size-cells = <0>; #size-cells = <0>;
magnetometer@2e { magnetometer@2e {
compatible = "yamaha,yas539"; compatible = "yamaha,yas539";
reg = <0x2e>; reg = <0x2e>;
vdd-supply = <&ldo1_reg>; vdd-supply = <&ldo1_reg>;
}; };
}; };
...@@ -44,7 +44,7 @@ examples: ...@@ -44,7 +44,7 @@ examples:
potentiometer@2f { potentiometer@2f {
compatible = "adi,ad5272-020"; compatible = "adi,ad5272-020";
reg = <0x2F>; reg = <0x2f>;
reset-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
}; };
}; };
......
...@@ -39,7 +39,7 @@ examples: ...@@ -39,7 +39,7 @@ examples:
- | - |
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -60,16 +60,16 @@ examples: ...@@ -60,16 +60,16 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
i2c0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pressure@77 { pressure@77 {
compatible = "bosch,bmp085"; compatible = "bosch,bmp085";
reg = <0x77>; reg = <0x77>;
interrupt-parent = <&gpio0>; interrupt-parent = <&gpio0>;
interrupts = <25 IRQ_TYPE_EDGE_RISING>; interrupts = <25 IRQ_TYPE_EDGE_RISING>;
reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
vddd-supply = <&foo>; vddd-supply = <&foo>;
vdda-supply = <&bar>; vdda-supply = <&bar>;
}; };
}; };
...@@ -60,7 +60,7 @@ examples: ...@@ -60,7 +60,7 @@ examples:
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
lightning@0 { lightning@0 {
compatible = "ams,as3935"; compatible = "ams,as3935";
reg = <0>; reg = <0>;
spi-max-frequency = <400000>; spi-max-frequency = <400000>;
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2 %YAML 1.2
--- ---
$id: http://devicetree.org/schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml# $id: http://devicetree.org/schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
......
...@@ -36,7 +36,7 @@ properties: ...@@ -36,7 +36,7 @@ properties:
const: 1 const: 1
semtech,resolution: semtech,resolution:
$ref: /schemas/types.yaml#/definitions/uint32-array $ref: /schemas/types.yaml#/definitions/uint32
enum: [8, 16, 32, 64, 128, 256, 512, 1024] enum: [8, 16, 32, 64, 128, 256, 512, 1024]
description: description:
Capacitance measurement resolution. For both phases, "reference" and Capacitance measurement resolution. For both phases, "reference" and
......
...@@ -39,6 +39,7 @@ properties: ...@@ -39,6 +39,7 @@ properties:
- st,lis3lv02dl-accel - st,lis3lv02dl-accel
- st,lng2dm-accel - st,lng2dm-accel
- st,lsm303agr-accel - st,lsm303agr-accel
- st,lsm303c-accel
- st,lsm303dl-accel - st,lsm303dl-accel
- st,lsm303dlh-accel - st,lsm303dlh-accel
- st,lsm303dlhc-accel - st,lsm303dlhc-accel
...@@ -66,6 +67,7 @@ properties: ...@@ -66,6 +67,7 @@ properties:
- st,lis2mdl - st,lis2mdl
- st,lis3mdl-magn - st,lis3mdl-magn
- st,lsm303agr-magn - st,lsm303agr-magn
- st,lsm303c-magn
- st,lsm303dlh-magn - st,lsm303dlh-magn
- st,lsm303dlhc-magn - st,lsm303dlhc-magn
- st,lsm303dlm-magn - st,lsm303dlm-magn
......
...@@ -472,75 +472,74 @@ examples: ...@@ -472,75 +472,74 @@ examples:
#size-cells = <0>; #size-cells = <0>;
temperature-sensor@0 { temperature-sensor@0 {
compatible = "adi,ltc2983"; compatible = "adi,ltc2983";
reg = <0>; reg = <0>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
interrupts = <20 IRQ_TYPE_EDGE_RISING>; interrupts = <20 IRQ_TYPE_EDGE_RISING>;
interrupt-parent = <&gpio>; interrupt-parent = <&gpio>;
thermocouple@18 { thermocouple@18 {
reg = <18>; reg = <18>;
adi,sensor-type = <8>; //Type B adi,sensor-type = <8>; //Type B
adi,sensor-oc-current-microamp = <10>; adi,sensor-oc-current-microamp = <10>;
adi,cold-junction-handle = <&diode5>; adi,cold-junction-handle = <&diode5>;
}; };
diode5: diode@5 { diode5: diode@5 {
reg = <5>; reg = <5>;
adi,sensor-type = <28>; adi,sensor-type = <28>;
}; };
rsense2: rsense@2 { rsense2: rsense@2 {
reg = <2>; reg = <2>;
adi,sensor-type = <29>; adi,sensor-type = <29>;
adi,rsense-val-milli-ohms = <1200000>; //1.2Kohms adi,rsense-val-milli-ohms = <1200000>; //1.2Kohms
}; };
rtd@14 { rtd@14 {
reg = <14>; reg = <14>;
adi,sensor-type = <15>; //PT1000 adi,sensor-type = <15>; //PT1000
/*2-wire, internal gnd, no current rotation*/ /*2-wire, internal gnd, no current rotation*/
adi,number-of-wires = <2>; adi,number-of-wires = <2>;
adi,rsense-share; adi,rsense-share;
adi,excitation-current-microamp = <500>; adi,excitation-current-microamp = <500>;
adi,rsense-handle = <&rsense2>; adi,rsense-handle = <&rsense2>;
}; };
adc@10 { adc@10 {
reg = <10>; reg = <10>;
adi,sensor-type = <30>; adi,sensor-type = <30>;
adi,single-ended; adi,single-ended;
}; };
thermistor@12 { thermistor@12 {
reg = <12>; reg = <12>;
adi,sensor-type = <26>; //Steinhart adi,sensor-type = <26>; //Steinhart
adi,rsense-handle = <&rsense2>; adi,rsense-handle = <&rsense2>;
adi,custom-steinhart = <0x00F371EC 0x12345678 adi,custom-steinhart = <0x00f371ec 0x12345678
0x2C0F8733 0x10018C66 0xA0FEACCD 0x2c0f8733 0x10018c66 0xa0feaccd
0x90021D99>; //6 entries 0x90021d99>; //6 entries
}; };
thermocouple@20 { thermocouple@20 {
reg = <20>; reg = <20>;
adi,sensor-type = <9>; //custom thermocouple adi,sensor-type = <9>; //custom thermocouple
adi,single-ended; adi,single-ended;
adi,custom-thermocouple = adi,custom-thermocouple =
/bits/ 64 <(-50220000) 0>, /bits/ 64 <(-50220000) 0>,
/bits/ 64 <(-30200000) 99100000>, /bits/ 64 <(-30200000) 99100000>,
/bits/ 64 <(-5300000) 135400000>, /bits/ 64 <(-5300000) 135400000>,
/bits/ 64 <0 273150000>, /bits/ 64 <0 273150000>,
/bits/ 64 <40200000 361200000>, /bits/ 64 <40200000 361200000>,
/bits/ 64 <55300000 522100000>, /bits/ 64 <55300000 522100000>,
/bits/ 64 <88300000 720300000>, /bits/ 64 <88300000 720300000>,
/bits/ 64 <132200000 811200000>, /bits/ 64 <132200000 811200000>,
/bits/ 64 <188700000 922500000>, /bits/ 64 <188700000 922500000>,
/bits/ 64 <460400000 1000000000>; //10 pairs /bits/ 64 <460400000 1000000000>; //10 pairs
}; };
}; };
}; };
... ...
...@@ -43,12 +43,12 @@ examples: ...@@ -43,12 +43,12 @@ examples:
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
temp_sensor@0 { temperature-sensor@0 {
compatible = "maxim,max31865"; compatible = "maxim,max31865";
reg = <0>; reg = <0>;
spi-max-frequency = <400000>; spi-max-frequency = <400000>;
spi-cpha; spi-cpha;
maxim,3-wire; maxim,3-wire;
}; };
}; };
... ...
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2 %YAML 1.2
--- ---
$id: "http://devicetree.org/schemas/iio/temperature/ti,tmp117.yaml#" $id: http://devicetree.org/schemas/iio/temperature/ti,tmp117.yaml#
$schema: "http://devicetree.org/meta-schemas/core.yaml#" $schema: http://devicetree.org/meta-schemas/core.yaml#
title: "TI TMP117 - Digital temperature sensor with integrated NV memory" title: TI TMP117 - Digital temperature sensor with integrated NV memory
description: | description: |
TI TMP117 - Digital temperature sensor with integrated NV memory that supports TI TMP117 - Digital temperature sensor with integrated NV memory that supports
......
...@@ -27,11 +27,13 @@ properties: ...@@ -27,11 +27,13 @@ properties:
- qcom,sc7280-cpu-bwmon - qcom,sc7280-cpu-bwmon
- qcom,sc8280xp-cpu-bwmon - qcom,sc8280xp-cpu-bwmon
- qcom,sdm845-bwmon - qcom,sdm845-bwmon
- qcom,sm8550-cpu-bwmon
- const: qcom,msm8998-bwmon - const: qcom,msm8998-bwmon
- const: qcom,msm8998-bwmon # BWMON v4 - const: qcom,msm8998-bwmon # BWMON v4
- items: - items:
- enum: - enum:
- qcom,sc8280xp-llcc-bwmon - qcom,sc8280xp-llcc-bwmon
- qcom,sm8550-llcc-bwmon
- const: qcom,sc7280-llcc-bwmon - const: qcom,sc7280-llcc-bwmon
- const: qcom,sc7280-llcc-bwmon # BWMON v5 - const: qcom,sc7280-llcc-bwmon # BWMON v5
- const: qcom,sdm845-llcc-bwmon # BWMON v5 - const: qcom,sdm845-llcc-bwmon # BWMON v5
......
...@@ -22,6 +22,7 @@ properties: ...@@ -22,6 +22,7 @@ properties:
- qcom,sc7180-osm-l3 - qcom,sc7180-osm-l3
- qcom,sc8180x-osm-l3 - qcom,sc8180x-osm-l3
- qcom,sdm845-osm-l3 - qcom,sdm845-osm-l3
- qcom,sm6350-osm-l3
- qcom,sm8150-osm-l3 - qcom,sm8150-osm-l3
- const: qcom,osm-l3 - const: qcom,osm-l3
- items: - items:
......
...@@ -62,6 +62,37 @@ properties: ...@@ -62,6 +62,37 @@ properties:
power-domains: power-domains:
maxItems: 1 maxItems: 1
# Child node's properties
patternProperties:
'^interconnect-[a-z0-9]+$':
type: object
description:
snoc-mm is a child of snoc, sharing snoc's register address space.
properties:
compatible:
enum:
- qcom,msm8939-snoc-mm
'#interconnect-cells':
const: 1
clock-names:
items:
- const: bus
- const: bus_a
clocks:
items:
- description: Bus Clock
- description: Bus A Clock
required:
- compatible
- '#interconnect-cells'
- clock-names
- clocks
required: required:
- compatible - compatible
- reg - reg
...@@ -108,37 +139,6 @@ allOf: ...@@ -108,37 +139,6 @@ allOf:
- description: Bus Clock - description: Bus Clock
- description: Bus A Clock - description: Bus A Clock
# Child node's properties
patternProperties:
'^interconnect-[a-z0-9]+$':
type: object
description:
snoc-mm is a child of snoc, sharing snoc's register address space.
properties:
compatible:
enum:
- qcom,msm8939-snoc-mm
'#interconnect-cells':
const: 1
clock-names:
items:
- const: bus
- const: bus_a
clocks:
items:
- description: Bus Clock
- description: Bus A Clock
required:
- compatible
- '#interconnect-cells'
- clock-names
- clocks
- if: - if:
properties: properties:
compatible: compatible:
...@@ -237,6 +237,17 @@ allOf: ...@@ -237,6 +237,17 @@ allOf:
- description: Aggregate2 USB3 AXI Clock. - description: Aggregate2 USB3 AXI Clock.
- description: Config NoC USB2 AXI Clock. - description: Config NoC USB2 AXI Clock.
- if:
not:
properties:
compatible:
contains:
enum:
- qcom,msm8939-snoc
then:
patternProperties:
'^interconnect-[a-z0-9]+$': false
examples: examples:
- | - |
#include <dt-bindings/clock/qcom,rpmcc.h> #include <dt-bindings/clock/qcom,rpmcc.h>
......
...@@ -39,18 +39,6 @@ properties: ...@@ -39,18 +39,6 @@ properties:
- qcom,sc7180-npu-noc - qcom,sc7180-npu-noc
- qcom,sc7180-qup-virt - qcom,sc7180-qup-virt
- qcom,sc7180-system-noc - qcom,sc7180-system-noc
- qcom,sc7280-aggre1-noc
- qcom,sc7280-aggre2-noc
- qcom,sc7280-clk-virt
- qcom,sc7280-cnoc2
- qcom,sc7280-cnoc3
- qcom,sc7280-dc-noc
- qcom,sc7280-gem-noc
- qcom,sc7280-lpass-ag-noc
- qcom,sc7280-mc-virt
- qcom,sc7280-mmss-noc
- qcom,sc7280-nsp-noc
- qcom,sc7280-system-noc
- qcom,sc8180x-aggre1-noc - qcom,sc8180x-aggre1-noc
- qcom,sc8180x-aggre2-noc - qcom,sc8180x-aggre2-noc
- qcom,sc8180x-camnoc-virt - qcom,sc8180x-camnoc-virt
...@@ -58,23 +46,18 @@ properties: ...@@ -58,23 +46,18 @@ properties:
- qcom,sc8180x-config-noc - qcom,sc8180x-config-noc
- qcom,sc8180x-dc-noc - qcom,sc8180x-dc-noc
- qcom,sc8180x-gem-noc - qcom,sc8180x-gem-noc
- qcom,sc8180x-ipa-virt
- qcom,sc8180x-mc-virt - qcom,sc8180x-mc-virt
- qcom,sc8180x-mmss-noc - qcom,sc8180x-mmss-noc
- qcom,sc8180x-qup-virt - qcom,sc8180x-qup-virt
- qcom,sc8180x-system-noc - qcom,sc8180x-system-noc
- qcom,sc8280xp-aggre1-noc - qcom,sdm670-aggre1-noc
- qcom,sc8280xp-aggre2-noc - qcom,sdm670-aggre2-noc
- qcom,sc8280xp-clk-virt - qcom,sdm670-config-noc
- qcom,sc8280xp-config-noc - qcom,sdm670-dc-noc
- qcom,sc8280xp-dc-noc - qcom,sdm670-gladiator-noc
- qcom,sc8280xp-gem-noc - qcom,sdm670-mem-noc
- qcom,sc8280xp-lpass-ag-noc - qcom,sdm670-mmss-noc
- qcom,sc8280xp-mc-virt - qcom,sdm670-system-noc
- qcom,sc8280xp-mmss-noc
- qcom,sc8280xp-nspa-noc
- qcom,sc8280xp-nspb-noc
- qcom,sc8280xp-system-noc
- qcom,sdm845-aggre1-noc - qcom,sdm845-aggre1-noc
- qcom,sdm845-aggre2-noc - qcom,sdm845-aggre2-noc
- qcom,sdm845-config-noc - qcom,sdm845-config-noc
...@@ -96,7 +79,6 @@ properties: ...@@ -96,7 +79,6 @@ properties:
- qcom,sm8150-config-noc - qcom,sm8150-config-noc
- qcom,sm8150-dc-noc - qcom,sm8150-dc-noc
- qcom,sm8150-gem-noc - qcom,sm8150-gem-noc
- qcom,sm8150-ipa-virt
- qcom,sm8150-mc-virt - qcom,sm8150-mc-virt
- qcom,sm8150-mmss-noc - qcom,sm8150-mmss-noc
- qcom,sm8150-system-noc - qcom,sm8150-system-noc
...@@ -106,7 +88,6 @@ properties: ...@@ -106,7 +88,6 @@ properties:
- qcom,sm8250-config-noc - qcom,sm8250-config-noc
- qcom,sm8250-dc-noc - qcom,sm8250-dc-noc
- qcom,sm8250-gem-noc - qcom,sm8250-gem-noc
- qcom,sm8250-ipa-virt
- qcom,sm8250-mc-virt - qcom,sm8250-mc-virt
- qcom,sm8250-mmss-noc - qcom,sm8250-mmss-noc
- qcom,sm8250-npu-noc - qcom,sm8250-npu-noc
...@@ -121,17 +102,6 @@ properties: ...@@ -121,17 +102,6 @@ properties:
- qcom,sm8350-mmss-noc - qcom,sm8350-mmss-noc
- qcom,sm8350-compute-noc - qcom,sm8350-compute-noc
- qcom,sm8350-system-noc - qcom,sm8350-system-noc
- qcom,sm8450-aggre1-noc
- qcom,sm8450-aggre2-noc
- qcom,sm8450-clk-virt
- qcom,sm8450-config-noc
- qcom,sm8450-gem-noc
- qcom,sm8450-lpass-ag-noc
- qcom,sm8450-mc-virt
- qcom,sm8450-mmss-noc
- qcom,sm8450-nsp-noc
- qcom,sm8450-pcie-anoc
- qcom,sm8450-system-noc
'#interconnect-cells': true '#interconnect-cells': true
......
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sa8775p-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm RPMh Network-On-Chip Interconnect on SA8775P
maintainers:
- Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
description: |
RPMh interconnect providers support system bandwidth requirements through
RPMh hardware accelerators known as Bus Clock Manager (BCM).
See also:: include/dt-bindings/interconnect/qcom,sa8775p.h
properties:
compatible:
enum:
- qcom,sa8775p-aggre1-noc
- qcom,sa8775p-aggre2-noc
- qcom,sa8775p-clk-virt
- qcom,sa8775p-config-noc
- qcom,sa8775p-dc-noc
- qcom,sa8775p-gem-noc
- qcom,sa8775p-gpdsp-anoc
- qcom,sa8775p-lpass-ag-noc
- qcom,sa8775p-mc-virt
- qcom,sa8775p-mmss-noc
- qcom,sa8775p-nspa-noc
- qcom,sa8775p-nspb-noc
- qcom,sa8775p-pcie-anoc
- qcom,sa8775p-system-noc
required:
- compatible
allOf:
- $ref: qcom,rpmh-common.yaml#
unevaluatedProperties: false
examples:
- |
aggre1_noc: interconnect-aggre1-noc {
compatible = "qcom,sa8775p-aggre1-noc";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sc7280-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm RPMh Network-On-Chip Interconnect on SC7280
maintainers:
- Bjorn Andersson <andersson@kernel.org>
- Konrad Dybcio <konrad.dybcio@linaro.org>
description: |
RPMh interconnect providers support system bandwidth requirements through
RPMh hardware accelerators known as Bus Clock Manager (BCM).
See also:: include/dt-bindings/interconnect/qcom,sc7280.h
properties:
compatible:
enum:
- qcom,sc7280-aggre1-noc
- qcom,sc7280-aggre2-noc
- qcom,sc7280-clk-virt
- qcom,sc7280-cnoc2
- qcom,sc7280-cnoc3
- qcom,sc7280-dc-noc
- qcom,sc7280-gem-noc
- qcom,sc7280-lpass-ag-noc
- qcom,sc7280-mc-virt
- qcom,sc7280-mmss-noc
- qcom,sc7280-nsp-noc
- qcom,sc7280-system-noc
reg:
maxItems: 1
required:
- compatible
allOf:
- $ref: qcom,rpmh-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- qcom,sc7280-clk-virt
then:
properties:
reg: false
else:
required:
- reg
unevaluatedProperties: false
examples:
- |
interconnect {
compatible = "qcom,sc7280-clk-virt";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
interconnect@9100000 {
reg = <0x9100000 0xe2200>;
compatible = "qcom,sc7280-gem-noc";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sc8280xp-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm RPMh Network-On-Chip Interconnect on SC8280XP
maintainers:
- Bjorn Andersson <andersson@kernel.org>
- Konrad Dybcio <konrad.dybcio@linaro.org>
description: |
RPMh interconnect providers support system bandwidth requirements through
RPMh hardware accelerators known as Bus Clock Manager (BCM).
See also:: include/dt-bindings/interconnect/qcom,sc8280xp.h
properties:
compatible:
enum:
- qcom,sc8280xp-aggre1-noc
- qcom,sc8280xp-aggre2-noc
- qcom,sc8280xp-clk-virt
- qcom,sc8280xp-config-noc
- qcom,sc8280xp-dc-noc
- qcom,sc8280xp-gem-noc
- qcom,sc8280xp-lpass-ag-noc
- qcom,sc8280xp-mc-virt
- qcom,sc8280xp-mmss-noc
- qcom,sc8280xp-nspa-noc
- qcom,sc8280xp-nspb-noc
- qcom,sc8280xp-system-noc
required:
- compatible
allOf:
- $ref: qcom,rpmh-common.yaml#
unevaluatedProperties: false
examples:
- |
interconnect-0 {
compatible = "qcom,sc8280xp-aggre1-noc";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sm8450-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm RPMh Network-On-Chip Interconnect on SM8450
maintainers:
- Bjorn Andersson <andersson@kernel.org>
- Konrad Dybcio <konrad.dybcio@linaro.org>
description: |
RPMh interconnect providers support system bandwidth requirements through
RPMh hardware accelerators known as Bus Clock Manager (BCM).
See also:: include/dt-bindings/interconnect/qcom,sm8450.h
properties:
compatible:
enum:
- qcom,sm8450-aggre1-noc
- qcom,sm8450-aggre2-noc
- qcom,sm8450-clk-virt
- qcom,sm8450-config-noc
- qcom,sm8450-gem-noc
- qcom,sm8450-lpass-ag-noc
- qcom,sm8450-mc-virt
- qcom,sm8450-mmss-noc
- qcom,sm8450-nsp-noc
- qcom,sm8450-pcie-anoc
- qcom,sm8450-system-noc
reg:
maxItems: 1
clocks:
minItems: 1
maxItems: 4
required:
- compatible
allOf:
- $ref: qcom,rpmh-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- qcom,sm8450-clk-virt
- qcom,sm8450-mc-virt
then:
properties:
reg: false
else:
required:
- reg
- if:
properties:
compatible:
contains:
enum:
- qcom,sm8450-aggre1-noc
then:
properties:
clocks:
items:
- description: aggre UFS PHY AXI clock
- description: aggre USB3 PRIM AXI clock
- if:
properties:
compatible:
contains:
enum:
- qcom,sm8450-aggre2-noc
then:
properties:
clocks:
items:
- description: aggre-NOC PCIe 0 AXI clock
- description: aggre-NOC PCIe 1 AXI clock
- description: aggre UFS PHY AXI clock
- description: RPMH CC IPA clock
- if:
properties:
compatible:
contains:
enum:
- qcom,sm8450-aggre1-noc
- qcom,sm8450-aggre2-noc
then:
required:
- clocks
else:
properties:
clocks: false
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,gcc-sm8450.h>
#include <dt-bindings/clock/qcom,rpmh.h>
interconnect-0 {
compatible = "qcom,sm8450-clk-virt";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
interconnect@1700000 {
compatible = "qcom,sm8450-aggre2-noc";
reg = <0x01700000 0x31080>;
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
clocks = <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
<&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
<&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
<&rpmhcc RPMH_IPA_CLK>;
};
...@@ -196,6 +196,8 @@ properties: ...@@ -196,6 +196,8 @@ properties:
maxItems: 2 maxItems: 2
operating-points-v2: true operating-points-v2: true
opp-table:
type: object
samsung,data-clock-ratio: samsung,data-clock-ratio:
$ref: /schemas/types.yaml#/definitions/uint32 $ref: /schemas/types.yaml#/definitions/uint32
...@@ -227,6 +229,31 @@ examples: ...@@ -227,6 +229,31 @@ examples:
operating-points-v2 = <&bus_dmc_opp_table>; operating-points-v2 = <&bus_dmc_opp_table>;
devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>; devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
vdd-supply = <&buck1_reg>; vdd-supply = <&buck1_reg>;
bus_dmc_opp_table: opp-table {
compatible = "operating-points-v2";
opp-50000000 {
opp-hz = /bits/ 64 <50000000>;
opp-microvolt = <800000>;
};
opp-100000000 {
opp-hz = /bits/ 64 <100000000>;
opp-microvolt = <800000>;
};
opp-134000000 {
opp-hz = /bits/ 64 <134000000>;
opp-microvolt = <800000>;
};
opp-200000000 {
opp-hz = /bits/ 64 <200000000>;
opp-microvolt = <825000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <875000>;
};
};
}; };
ppmu_dmc0: ppmu@106a0000 { ppmu_dmc0: ppmu@106a0000 {
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/misc/xlnx,tmr-inject.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Xilinx Triple Modular Redundancy(TMR) Inject IP
maintainers:
- Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
description: |
The Triple Modular Redundancy(TMR) Inject core provides functional fault
injection by changing selected MicroBlaze instructions, which provides the
possibility to verify that the TMR subsystem error detection and fault
recovery logic is working properly.
properties:
compatible:
enum:
- xlnx,tmr-inject-1.0
reg:
maxItems: 1
xlnx,magic:
minimum: 0
maximum: 255
description: |
Magic number, When configured it allows the controller to perform
recovery.
$ref: /schemas/types.yaml#/definitions/uint32
required:
- compatible
- reg
- xlnx,magic
additionalProperties: false
examples:
- |
fault-inject@44a30000 {
compatible = "xlnx,tmr-inject-1.0";
reg = <0x44a10000 0x10000>;
xlnx,magic = <0x46>;
};
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/misc/xlnx,tmr-manager.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Xilinx Triple Modular Redundancy(TMR) Manager IP
maintainers:
- Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
description: |
The Triple Modular Redundancy(TMR) Manager is responsible for handling the
TMR subsystem state, including fault detection and error recovery. The core
is triplicated in each of the sub-blocks in the TMR subsystem, and provides
majority voting of its internal state.
properties:
compatible:
enum:
- xlnx,tmr-manager-1.0
reg:
maxItems: 1
xlnx,magic1:
minimum: 0
maximum: 255
description:
Magic byte 1, When configured it allows the controller to perform
recovery.
$ref: /schemas/types.yaml#/definitions/uint32
required:
- compatible
- reg
- xlnx,magic1
additionalProperties: false
examples:
- |
tmr-manager@44a10000 {
compatible = "xlnx,tmr-manager-1.0";
reg = <0x44a10000 0x10000>;
xlnx,magic1 = <0x46>;
};
...@@ -19,16 +19,21 @@ properties: ...@@ -19,16 +19,21 @@ properties:
- qcom,apq8064-qfprom - qcom,apq8064-qfprom
- qcom,apq8084-qfprom - qcom,apq8084-qfprom
- qcom,ipq8064-qfprom - qcom,ipq8064-qfprom
- qcom,msm8974-qfprom - qcom,ipq8074-qfprom
- qcom,msm8916-qfprom - qcom,msm8916-qfprom
- qcom,msm8974-qfprom
- qcom,msm8976-qfprom
- qcom,msm8996-qfprom - qcom,msm8996-qfprom
- qcom,msm8998-qfprom - qcom,msm8998-qfprom
- qcom,qcs404-qfprom - qcom,qcs404-qfprom
- qcom,sc7180-qfprom - qcom,sc7180-qfprom
- qcom,sc7280-qfprom - qcom,sc7280-qfprom
- qcom,sdm630-qfprom - qcom,sdm630-qfprom
- qcom,sdm670-qfprom
- qcom,sdm845-qfprom - qcom,sdm845-qfprom
- qcom,sm6115-qfprom - qcom,sm6115-qfprom
- qcom,sm8150-qfprom
- qcom,sm8250-qfprom
- const: qcom,qfprom - const: qcom,qfprom
reg: reg:
......
...@@ -278,6 +278,13 @@ To get all available archs you can also specify all. E.g.:: ...@@ -278,6 +278,13 @@ To get all available archs you can also specify all. E.g.::
$ make ALLSOURCE_ARCHS=all tags $ make ALLSOURCE_ARCHS=all tags
IGNORE_DIRS
-----------
For tags/TAGS/cscope targets, you can choose which directories won't
be included in the databases, separated by blank space. E.g.::
$ make IGNORE_DIRS="drivers/gpu/drm/radeon tools" cscope
KBUILD_BUILD_TIMESTAMP KBUILD_BUILD_TIMESTAMP
---------------------- ----------------------
Setting this to a date string overrides the timestamp used in the Setting this to a date string overrides the timestamp used in the
......
.. SPDX-License-Identifier: GPL-2.0
=================================================================
The trace performance monitoring and diagnostics aggregator(TPDA)
=================================================================
:Author: Jinlong Mao <quic_jinlmao@quicinc.com>
:Date: January 2023
Hardware Description
--------------------
TPDA - The trace performance monitoring and diagnostics aggregator or
TPDA in short serves as an arbitration and packetization engine for the
performance monitoring and diagnostics network specification.
The primary use case of the TPDA is to provide packetization, funneling
and timestamping of Monitor data.
Sysfs files and directories
---------------------------
Root: ``/sys/bus/coresight/devices/tpda<N>``
Config details
---------------------------
The tpdm and tpda nodes should be observed at the coresight path
"/sys/bus/coresight/devices".
e.g.
/sys/bus/coresight/devices # ls -l | grep tpd
tpda0 -> ../../../devices/platform/soc@0/6004000.tpda/tpda0
tpdm0 -> ../../../devices/platform/soc@0/6c08000.mm.tpdm/tpdm0
We can use the commands are similar to the below to validate TPDMs.
Enable coresight sink first. The port of tpda which is connected to
the tpdm will be enabled after commands below.
echo 1 > /sys/bus/coresight/devices/tmc_etf0/enable_sink
echo 1 > /sys/bus/coresight/devices/tpdm0/enable_source
echo 1 > /sys/bus/coresight/devices/tpdm0/integration_test
echo 2 > /sys/bus/coresight/devices/tpdm0/integration_test
The test data will be collected in the coresight sink which is enabled.
If rwp register of the sink is keeping updating when do
integration_test (by cat tmc_etf0/mgmt/rwp), it means there is data
generated from TPDM to sink.
There must be a tpda between tpdm and the sink. When there are some
other trace event hw components in the same HW block with tpdm, tpdm
and these hw components will connect to the coresight funnel. When
there is only tpdm trace hw in the HW block, tpdm will connect to
tpda directly.
.. SPDX-License-Identifier: GPL-2.0
==========================================================
Trace performance monitoring and diagnostics monitor(TPDM)
==========================================================
:Author: Jinlong Mao <quic_jinlmao@quicinc.com>
:Date: January 2023
Hardware Description
--------------------
TPDM - The trace performance monitoring and diagnostics monitor or TPDM in
short serves as data collection component for various dataset types.
The primary use case of the TPDM is to collect data from different data
sources and send it to a TPDA for packetization, timestamping and funneling.
Sysfs files and directories
---------------------------
Root: ``/sys/bus/coresight/devices/tpdm<N>``
----
:File: ``enable_source`` (RW)
:Notes:
- > 0 : enable the datasets of TPDM.
- = 0 : disable the datasets of TPDM.
:Syntax:
``echo 1 > enable_source``
----
:File: ``integration_test`` (wo)
:Notes:
Integration test will generate test data for tpdm.
:Syntax:
``echo value > integration_test``
value - 1 or 2.
----
.. This text is intentionally added to make Sphinx happy.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment