mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
Merge 86cfccb669 ("Merge tag 'dlm-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm") into android-mainline
Steps along the way to 5.9-rc1 Fixed conflicts in: drivers/scsi/ufs/Kconfig drivers/scsi/ufs/ufshcd-crypto.c drivers/scsi/ufs/ufshcd.h drivers/staging/android/ion/ion.c drivers/staging/android/ion/ion_heap.c include/linux/ion.h Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ia2602190d5960b7ad1beaf49a00489d49f144a4e
This commit is contained in:
@@ -1569,7 +1569,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_voc_raw
|
|||||||
KernelVersion: 4.3
|
KernelVersion: 4.3
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
Raw (unscaled no offset etc.) percentage reading of a substance.
|
Raw (unscaled no offset etc.) reading of a substance. Units
|
||||||
|
after application of scale and offset are percents.
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_resistance_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_resistance_raw
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw
|
||||||
|
|||||||
20
Documentation/ABI/testing/sysfs-bus-iio-icm42600
Normal file
20
Documentation/ABI/testing/sysfs-bus-iio-icm42600
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_accel_x_calibbias
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_calibbias
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_accel_z_calibbias
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_calibbias
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_calibbias
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_calibbias
|
||||||
|
KernelVersion: 5.8
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Hardware applied calibration offset (assumed to fix production
|
||||||
|
inaccuracies). Values represent a real physical offset expressed
|
||||||
|
in SI units (m/s^2 for accelerometer and rad/s for gyroscope).
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_accel_calibbias_available
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_calibbias_available
|
||||||
|
KernelVersion: 5.8
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Range of available values for hardware offset. Values in SI
|
||||||
|
units (m/s^2 for accelerometer and rad/s for gyroscope).
|
||||||
34
Documentation/ABI/testing/sysfs-bus-iio-scd30
Normal file
34
Documentation/ABI/testing/sysfs-bus-iio-scd30
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
What: /sys/bus/iio/devices/iio:deviceX/calibration_auto_enable
|
||||||
|
Date: June 2020
|
||||||
|
KernelVersion: 5.8
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Contaminants build-up in the measurement chamber or optical
|
||||||
|
elements deterioration leads to sensor drift.
|
||||||
|
|
||||||
|
One can compensate for sensor drift by using automatic self
|
||||||
|
calibration procedure (asc).
|
||||||
|
|
||||||
|
Writing 1 or 0 to this attribute will respectively activate or
|
||||||
|
deactivate asc.
|
||||||
|
|
||||||
|
Upon reading current asc status is returned.
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/calibration_forced_value
|
||||||
|
Date: June 2020
|
||||||
|
KernelVersion: 5.8
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Contaminants build-up in the measurement chamber or optical
|
||||||
|
elements deterioration leads to sensor drift.
|
||||||
|
|
||||||
|
One can compensate for sensor drift by using forced
|
||||||
|
recalibration (frc). This is useful in case there's known
|
||||||
|
co2 reference available nearby the sensor.
|
||||||
|
|
||||||
|
Picking value from the range [400 1 2000] and writing it to the
|
||||||
|
sensor will set frc.
|
||||||
|
|
||||||
|
Upon reading current frc value is returned. Note that after
|
||||||
|
power cycling default value (i.e 400) is returned even though
|
||||||
|
internally sensor had recalibrated itself.
|
||||||
@@ -883,3 +883,139 @@ Contact: Subhash Jadavani <subhashj@codeaurora.org>
|
|||||||
Description: This entry shows the target state of an UFS UIC link
|
Description: This entry shows the target state of an UFS UIC link
|
||||||
for the chosen system power management level.
|
for the chosen system power management level.
|
||||||
The file is read only.
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows if preserve user-space was configured
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the shared allocated units of WB buffer
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the configured WB type.
|
||||||
|
0x1 for shared buffer mode. 0x0 for dedicated buffer mode.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the total user-space decrease in shared
|
||||||
|
buffer mode.
|
||||||
|
The value of this parameter is 3 for TLC NAND when SLC mode
|
||||||
|
is used as WriteBooster Buffer. 2 for MLC NAND.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the Maximum total WriteBooster Buffer size
|
||||||
|
which is supported by the entire device.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the maximum number of luns that can support
|
||||||
|
WriteBooster.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: The supportability of user space reduction mode
|
||||||
|
and preserve user space mode.
|
||||||
|
00h: WriteBooster Buffer can be configured only in
|
||||||
|
user space reduction type.
|
||||||
|
01h: WriteBooster Buffer can be configured only in
|
||||||
|
preserve user space type.
|
||||||
|
02h: Device can be configured in either user space
|
||||||
|
reduction type or preserve user space type.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: The supportability of WriteBooster Buffer type.
|
||||||
|
00h: LU based WriteBooster Buffer configuration
|
||||||
|
01h: Single shared WriteBooster Buffer
|
||||||
|
configuration
|
||||||
|
02h: Supporting both LU based WriteBooster
|
||||||
|
Buffer and Single shared WriteBooster Buffer
|
||||||
|
configuration
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the status of WriteBooster.
|
||||||
|
0: WriteBooster is not enabled.
|
||||||
|
1: WriteBooster is enabled
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows if flush is enabled.
|
||||||
|
0: Flush operation is not performed.
|
||||||
|
1: Flush operation is performed.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: Flush WriteBooster Buffer during hibernate state.
|
||||||
|
0: Device is not allowed to flush the
|
||||||
|
WriteBooster Buffer during link hibernate
|
||||||
|
state.
|
||||||
|
1: Device is allowed to flush the
|
||||||
|
WriteBooster Buffer during link hibernate
|
||||||
|
state
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the amount of unused WriteBooster buffer
|
||||||
|
available.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the amount of unused current buffer.
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the flush operation status.
|
||||||
|
00h: idle
|
||||||
|
01h: Flush operation in progress
|
||||||
|
02h: Flush operation stopped prematurely.
|
||||||
|
03h: Flush operation completed successfully
|
||||||
|
04h: Flush operation general failure
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows an indication of the WriteBooster Buffer
|
||||||
|
lifetime based on the amount of performed program/erase cycles
|
||||||
|
01h: 0% - 10% WriteBooster Buffer life time used
|
||||||
|
...
|
||||||
|
0Ah: 90% - 100% WriteBooster Buffer life time used
|
||||||
|
The file is read only.
|
||||||
|
|
||||||
|
What: /sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units
|
||||||
|
Date: June 2020
|
||||||
|
Contact: Asutosh Das <asutoshd@codeaurora.org>
|
||||||
|
Description: This entry shows the configured size of WriteBooster buffer.
|
||||||
|
0400h corresponds to 4GB.
|
||||||
|
The file is read only.
|
||||||
|
|||||||
@@ -5804,8 +5804,9 @@
|
|||||||
panic() code such as dumping handler.
|
panic() code such as dumping handler.
|
||||||
|
|
||||||
xen_nopvspin [X86,XEN]
|
xen_nopvspin [X86,XEN]
|
||||||
Disables the ticketlock slowpath using Xen PV
|
Disables the qspinlock slowpath using Xen PV optimizations.
|
||||||
optimizations.
|
This parameter is obsoleted by "nopvspin" parameter, which
|
||||||
|
has equivalent effect for XEN platform.
|
||||||
|
|
||||||
xen_nopv [X86]
|
xen_nopv [X86]
|
||||||
Disables the PV optimizations forcing the HVM guest to
|
Disables the PV optimizations forcing the HVM guest to
|
||||||
@@ -5831,6 +5832,11 @@
|
|||||||
as generic guest with no PV drivers. Currently support
|
as generic guest with no PV drivers. Currently support
|
||||||
XEN HVM, KVM, HYPER_V and VMWARE guest.
|
XEN HVM, KVM, HYPER_V and VMWARE guest.
|
||||||
|
|
||||||
|
nopvspin [X86,XEN,KVM]
|
||||||
|
Disables the qspinlock slow path using PV optimizations
|
||||||
|
which allow the hypervisor to 'idle' the guest on lock
|
||||||
|
contention.
|
||||||
|
|
||||||
xirc2ps_cs= [NET,PCMCIA]
|
xirc2ps_cs= [NET,PCMCIA]
|
||||||
Format:
|
Format:
|
||||||
<irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
|
<irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
|
||||||
|
|||||||
@@ -1531,7 +1531,7 @@ The Free Software Foundation may publish new, revised versions
|
|||||||
of the GNU Free Documentation License from time to time. Such new
|
of the GNU Free Documentation License from time to time. Such new
|
||||||
versions will be similar in spirit to the present version, but may
|
versions will be similar in spirit to the present version, but may
|
||||||
differ in detail to address new problems or concerns. See
|
differ in detail to address new problems or concerns. See
|
||||||
http://www.gnu.org/copyleft/.
|
https://www.gnu.org/copyleft/.
|
||||||
|
|
||||||
Each version of the License is given a distinguishing version number.
|
Each version of the License is given a distinguishing version number.
|
||||||
If the Document specifies that a particular numbered version of this
|
If the Document specifies that a particular numbered version of this
|
||||||
@@ -102,7 +102,7 @@ Required sub-node properties:
|
|||||||
[0] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/index.html
|
[0] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/index.html
|
||||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
[2] Documentation/devicetree/bindings/power/power-domain.yaml
|
[2] Documentation/devicetree/bindings/power/power-domain.yaml
|
||||||
[3] Documentation/devicetree/bindings/thermal/thermal.txt
|
[3] Documentation/devicetree/bindings/thermal/thermal*.yaml
|
||||||
[4] Documentation/devicetree/bindings/sram/sram.yaml
|
[4] Documentation/devicetree/bindings/sram/sram.yaml
|
||||||
[5] Documentation/devicetree/bindings/reset/reset.txt
|
[5] Documentation/devicetree/bindings/reset/reset.txt
|
||||||
|
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ Required properties:
|
|||||||
|
|
||||||
[0] http://infocenter.arm.com/help/topic/com.arm.doc.dui0922b/index.html
|
[0] http://infocenter.arm.com/help/topic/com.arm.doc.dui0922b/index.html
|
||||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
[2] Documentation/devicetree/bindings/thermal/thermal.txt
|
[2] Documentation/devicetree/bindings/thermal/thermal*.yaml
|
||||||
[3] Documentation/devicetree/bindings/sram/sram.yaml
|
[3] Documentation/devicetree/bindings/sram/sram.yaml
|
||||||
[4] Documentation/devicetree/bindings/power/power-domain.yaml
|
[4] Documentation/devicetree/bindings/power/power-domain.yaml
|
||||||
|
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ Required properties:
|
|||||||
"fsl,imx8qxp-sc-thermal"
|
"fsl,imx8qxp-sc-thermal"
|
||||||
followed by "fsl,imx-sc-thermal";
|
followed by "fsl,imx-sc-thermal";
|
||||||
|
|
||||||
- #thermal-sensor-cells: See Documentation/devicetree/bindings/thermal/thermal.txt
|
- #thermal-sensor-cells: See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml
|
||||||
for a description.
|
for a description.
|
||||||
|
|
||||||
Example (imx8qxp):
|
Example (imx8qxp):
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ Thermal:
|
|||||||
--------
|
--------
|
||||||
|
|
||||||
For common binding part and usage, refer to
|
For common binding part and usage, refer to
|
||||||
Documentation/devicetree/bindings/thermal/thermal.txt
|
Documentation/devicetree/bindings/thermal/thermal*.yaml
|
||||||
|
|
||||||
The thermal IP can probe the temperature all around the processor. It
|
The thermal IP can probe the temperature all around the processor. It
|
||||||
may feature several channels, each of them wired to one sensor.
|
may feature several channels, each of them wired to one sensor.
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ It is possible to setup an overheat interrupt by giving at least one
|
|||||||
critical point to any subnode of the thermal-zone node.
|
critical point to any subnode of the thermal-zone node.
|
||||||
|
|
||||||
For common binding part and usage, refer to
|
For common binding part and usage, refer to
|
||||||
Documentation/devicetree/bindings/thermal/thermal.txt
|
Documentation/devicetree/bindings/thermal/thermal*.yaml
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: must be one of:
|
- compatible: must be one of:
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ Optional properties:
|
|||||||
in unit of nanoseconds.
|
in unit of nanoseconds.
|
||||||
- voltage-tolerance: Specify the CPU voltage tolerance in percentage.
|
- voltage-tolerance: Specify the CPU voltage tolerance in percentage.
|
||||||
- #cooling-cells:
|
- #cooling-cells:
|
||||||
Please refer to Documentation/devicetree/bindings/thermal/thermal.txt.
|
Please refer to
|
||||||
|
Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ Optional properties:
|
|||||||
flow is handled by hardware, hence no software "voltage tracking" is
|
flow is handled by hardware, hence no software "voltage tracking" is
|
||||||
needed.
|
needed.
|
||||||
- #cooling-cells:
|
- #cooling-cells:
|
||||||
Please refer to Documentation/devicetree/bindings/thermal/thermal.txt
|
For details, please refer to
|
||||||
for detail.
|
Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml
|
||||||
|
|
||||||
Example 1 (MT7623 SoC):
|
Example 1 (MT7623 SoC):
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Required properties:
|
|||||||
- clocks: Must contain an entry for the CPU clock.
|
- clocks: Must contain an entry for the CPU clock.
|
||||||
See ../clocks/clock-bindings.txt for details.
|
See ../clocks/clock-bindings.txt for details.
|
||||||
- operating-points-v2: See ../bindings/opp/opp.txt for details.
|
- operating-points-v2: See ../bindings/opp/opp.txt for details.
|
||||||
- #cooling-cells: Should be 2. See ../thermal/thermal.txt for details.
|
- #cooling-cells: Should be 2. See ../thermal/thermal-cooling-devices.yaml for details.
|
||||||
|
|
||||||
For each opp entry in 'operating-points-v2' table:
|
For each opp entry in 'operating-points-v2' table:
|
||||||
- opp-supported-hw: Two bitfields indicating:
|
- opp-supported-hw: Two bitfields indicating:
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ Optional properties:
|
|||||||
- alarm-gpios: This pin going active indicates something is wrong with
|
- alarm-gpios: This pin going active indicates something is wrong with
|
||||||
the fan, and a udev event will be fired.
|
the fan, and a udev event will be fired.
|
||||||
- #cooling-cells: If used as a cooling device, must be <2>
|
- #cooling-cells: If used as a cooling device, must be <2>
|
||||||
Also see: Documentation/devicetree/bindings/thermal/thermal.txt
|
Also see:
|
||||||
|
Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml
|
||||||
min and max states are derived from the speed-map of the fan.
|
min and max states are derived from the speed-map of the fan.
|
||||||
|
|
||||||
Note: At least one the "gpios" or "alarm-gpios" properties must be set.
|
Note: At least one the "gpios" or "alarm-gpios" properties must be set.
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ Optional properties:
|
|||||||
LM90 "-ALERT" pin output.
|
LM90 "-ALERT" pin output.
|
||||||
See interrupt-controller/interrupts.txt for the format.
|
See interrupt-controller/interrupts.txt for the format.
|
||||||
|
|
||||||
- #thermal-sensor-cells: should be set to 1. See thermal/thermal.txt for
|
- #thermal-sensor-cells: should be set to 1. See thermal/thermal-sensor.yaml
|
||||||
details. See <include/dt-bindings/thermal/lm90.h> for the
|
for details. See <include/dt-bindings/thermal/lm90.h> for the
|
||||||
definition of the local, remote and 2nd remote sensor index
|
definition of the local, remote and 2nd remote sensor index
|
||||||
constants.
|
constants.
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ maintainers:
|
|||||||
description: |
|
description: |
|
||||||
Analog Devices ADXL345/ADXL375 3-Axis Digital Accelerometers that supports
|
Analog Devices ADXL345/ADXL375 3-Axis Digital Accelerometers that supports
|
||||||
both I2C & SPI interfaces.
|
both I2C & SPI interfaces.
|
||||||
http://www.analog.com/en/products/mems/accelerometers/adxl345.html
|
https://www.analog.com/en/products/mems/accelerometers/adxl345.html
|
||||||
http://www.analog.com/en/products/sensors-mems/accelerometers/adxl375.html
|
https://www.analog.com/en/products/sensors-mems/accelerometers/adxl375.html
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
Kionix KXSD9 Accelerometer device tree bindings
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: should be set to "kionix,kxsd9"
|
|
||||||
- reg: i2c slave address
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- vdd-supply: The input supply for VDD
|
|
||||||
- iovdd-supply: The input supply for IOVDD
|
|
||||||
- interrupts: The movement detection interrupt
|
|
||||||
- mount-matrix: See mount-matrix.txt
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
kxsd9@18 {
|
|
||||||
compatible = "kionix,kxsd9";
|
|
||||||
reg = <0x18>;
|
|
||||||
interrupt-parent = <&foo>;
|
|
||||||
interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
|
|
||||||
iovdd-supply = <&bar>;
|
|
||||||
vdd-supply = <&baz>;
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/accel/kionix,kxsd9.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Kionix KXSD9 Accelerometer
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
3 axis 12 bit accelerometer with +-8G range on all axes. Also has a
|
||||||
|
12 bit auxiliary ADC channel. Interface is either SPI or I2C.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: kionix,kxsd9
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vdd-supply: true
|
||||||
|
iovdd-supply: true
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
mount-matrix:
|
||||||
|
description: an optional 3x3 mounting rotation matrix.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
# include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
accel@18 {
|
||||||
|
compatible = "kionix,kxsd9";
|
||||||
|
reg = <0x18>;
|
||||||
|
iovdd-supply = <&iovdd>;
|
||||||
|
vdd-supply = <&vdd>;
|
||||||
|
interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
mount-matrix = "-0.984807753012208", "0", "-0.173648177666930",
|
||||||
|
"0", "-1", "0",
|
||||||
|
"-0.173648177666930", "0", "0.984807753012208";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
- |
|
||||||
|
# include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
accel@0 {
|
||||||
|
compatible = "kionix,kxsd9";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <10000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
* Ingenic JZ47xx ADC controller IIO bindings
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: Should be one of:
|
|
||||||
* ingenic,jz4725b-adc
|
|
||||||
* ingenic,jz4740-adc
|
|
||||||
* ingenic,jz4770-adc
|
|
||||||
- reg: ADC controller registers location and length.
|
|
||||||
- clocks: phandle to the SoC's ADC clock.
|
|
||||||
- clock-names: Must be set to "adc".
|
|
||||||
- #io-channel-cells: Must be set to <1> to indicate channels are selected
|
|
||||||
by index.
|
|
||||||
|
|
||||||
ADC clients must use the format described in iio-bindings.txt, giving
|
|
||||||
a phandle and IIO specifier pair ("io-channels") to the ADC controller.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
#include <dt-bindings/iio/adc/ingenic,adc.h>
|
|
||||||
|
|
||||||
adc: adc@10070000 {
|
|
||||||
compatible = "ingenic,jz4740-adc";
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
|
|
||||||
reg = <0x10070000 0x30>;
|
|
||||||
|
|
||||||
clocks = <&cgu JZ4740_CLK_ADC>;
|
|
||||||
clock-names = "adc";
|
|
||||||
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
interrupts = <18>;
|
|
||||||
};
|
|
||||||
|
|
||||||
adc-keys {
|
|
||||||
...
|
|
||||||
compatible = "adc-keys";
|
|
||||||
io-channels = <&adc INGENIC_ADC_AUX>;
|
|
||||||
io-channel-names = "buttons";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
battery {
|
|
||||||
...
|
|
||||||
compatible = "ingenic,jz4740-battery";
|
|
||||||
io-channels = <&adc INGENIC_ADC_BATTERY>;
|
|
||||||
io-channel-names = "battery";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
71
Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml
Normal file
71
Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
# Copyright 2019-2020 Artur Rojek
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/iio/adc/ingenic,adc.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Ingenic JZ47xx ADC controller IIO bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Artur Rojek <contact@artur-rojek.eu>
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Industrial I/O subsystem bindings for ADC controller found in
|
||||||
|
Ingenic JZ47xx SoCs.
|
||||||
|
|
||||||
|
ADC clients must use the format described in iio-bindings.txt, giving
|
||||||
|
a phandle and IIO specifier pair ("io-channels") to the ADC controller.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ingenic,jz4725b-adc
|
||||||
|
- ingenic,jz4740-adc
|
||||||
|
- ingenic,jz4770-adc
|
||||||
|
|
||||||
|
'#io-channel-cells':
|
||||||
|
const: 1
|
||||||
|
description:
|
||||||
|
Must be set to <1> to indicate channels are selected by index.
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: adc
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- '#io-channel-cells'
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/jz4740-cgu.h>
|
||||||
|
#include <dt-bindings/iio/adc/ingenic,adc.h>
|
||||||
|
|
||||||
|
adc@10070000 {
|
||||||
|
compatible = "ingenic,jz4740-adc";
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
|
||||||
|
reg = <0x10070000 0x30>;
|
||||||
|
|
||||||
|
clocks = <&cgu JZ4740_CLK_ADC>;
|
||||||
|
clock-names = "adc";
|
||||||
|
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
interrupts = <18>;
|
||||||
|
};
|
||||||
@@ -1,173 +0,0 @@
|
|||||||
Qualcomm's SPMI PMIC ADC
|
|
||||||
|
|
||||||
- SPMI PMIC voltage ADC (VADC) provides interface to clients to read
|
|
||||||
voltage. The VADC is a 15-bit sigma-delta ADC.
|
|
||||||
- SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read
|
|
||||||
voltage. The VADC is a 16-bit sigma-delta ADC.
|
|
||||||
|
|
||||||
VADC node:
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <string>
|
|
||||||
Definition: Should contain "qcom,spmi-vadc".
|
|
||||||
Should contain "qcom,spmi-adc5" for PMIC5 ADC driver.
|
|
||||||
Should contain "qcom,spmi-adc-rev2" for PMIC rev2 ADC driver.
|
|
||||||
Should contain "qcom,pms405-adc" for PMS405 PMIC
|
|
||||||
|
|
||||||
- reg:
|
|
||||||
Usage: required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: VADC base address in the SPMI PMIC register map.
|
|
||||||
|
|
||||||
- #address-cells:
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be one. Child node 'reg' property should define ADC
|
|
||||||
channel number.
|
|
||||||
|
|
||||||
- #size-cells:
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be zero.
|
|
||||||
|
|
||||||
- #io-channel-cells:
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be one. For details about IIO bindings see:
|
|
||||||
Documentation/devicetree/bindings/iio/iio-bindings.txt
|
|
||||||
|
|
||||||
- interrupts:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: End of conversion interrupt.
|
|
||||||
|
|
||||||
Channel node properties:
|
|
||||||
|
|
||||||
- reg:
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: ADC channel number.
|
|
||||||
See include/dt-bindings/iio/qcom,spmi-vadc.h
|
|
||||||
|
|
||||||
- label:
|
|
||||||
Usage: required for "qcom,spmi-adc5" and "qcom,spmi-adc-rev2"
|
|
||||||
Value type: <empty>
|
|
||||||
Definition: ADC input of the platform as seen in the schematics.
|
|
||||||
For thermistor inputs connected to generic AMUX or GPIO inputs
|
|
||||||
these can vary across platform for the same pins. Hence select
|
|
||||||
the platform schematics name for this channel.
|
|
||||||
|
|
||||||
- qcom,decimation:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: This parameter is used to decrease ADC sampling rate.
|
|
||||||
Quicker measurements can be made by reducing decimation ratio.
|
|
||||||
- For compatible property "qcom,spmi-vadc", valid values are
|
|
||||||
512, 1024, 2048, 4096. If property is not found, default value
|
|
||||||
of 512 will be used.
|
|
||||||
- For compatible property "qcom,spmi-adc5", valid values are 250, 420
|
|
||||||
and 840. If property is not found, default value of 840 is used.
|
|
||||||
- For compatible property "qcom,spmi-adc-rev2", valid values are 256,
|
|
||||||
512 and 1024. If property is not present, default value is 1024.
|
|
||||||
|
|
||||||
- qcom,pre-scaling:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <u32 array>
|
|
||||||
Definition: Used for scaling the channel input signal before the signal is
|
|
||||||
fed to VADC. The configuration for this node is to know the
|
|
||||||
pre-determined ratio and use it for post scaling. Select one from
|
|
||||||
the following options.
|
|
||||||
<1 1>, <1 3>, <1 4>, <1 6>, <1 20>, <1 8>, <10 81>, <1 10>
|
|
||||||
If property is not found default value depending on chip will be used.
|
|
||||||
|
|
||||||
- qcom,ratiometric:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <empty>
|
|
||||||
Definition: Channel calibration type.
|
|
||||||
- For compatible property "qcom,spmi-vadc", if this property is
|
|
||||||
specified VADC will use the VDD reference (1.8V) and GND for
|
|
||||||
channel calibration. If property is not found, channel will be
|
|
||||||
calibrated with 0.625V and 1.25V reference channels, also
|
|
||||||
known as absolute calibration.
|
|
||||||
- For compatible property "qcom,spmi-adc5" and "qcom,spmi-adc-rev2",
|
|
||||||
if this property is specified VADC will use the VDD reference
|
|
||||||
(1.875V) and GND for channel calibration. If property is not found,
|
|
||||||
channel will be calibrated with 0V and 1.25V reference channels,
|
|
||||||
also known as absolute calibration.
|
|
||||||
|
|
||||||
- qcom,hw-settle-time:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Time between AMUX getting configured and the ADC starting
|
|
||||||
conversion. The 'hw_settle_time' is an index used from valid values
|
|
||||||
and programmed in hardware to achieve the hardware settling delay.
|
|
||||||
- For compatible property "qcom,spmi-vadc" and "qcom,spmi-adc-rev2",
|
|
||||||
Delay = 100us * (hw_settle_time) for hw_settle_time < 11,
|
|
||||||
and 2ms * (hw_settle_time - 10) otherwise.
|
|
||||||
Valid values are: 0, 100, 200, 300, 400, 500, 600, 700, 800,
|
|
||||||
900 us and 1, 2, 4, 6, 8, 10 ms.
|
|
||||||
If property is not found, channel will use 0us.
|
|
||||||
- For compatible property "qcom,spmi-adc5", delay = 15us for
|
|
||||||
value 0, 100us * (value) for values < 11,
|
|
||||||
and 2ms * (value - 10) otherwise.
|
|
||||||
Valid values are: 15, 100, 200, 300, 400, 500, 600, 700, 800,
|
|
||||||
900 us and 1, 2, 4, 6, 8, 10 ms
|
|
||||||
Certain controller digital versions have valid values of
|
|
||||||
15, 100, 200, 300, 400, 500, 600, 700, 1, 2, 4, 8, 16, 32, 64, 128 ms
|
|
||||||
If property is not found, channel will use 15us.
|
|
||||||
|
|
||||||
- qcom,avg-samples:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Number of samples to be used for measurement.
|
|
||||||
Averaging provides the option to obtain a single measurement
|
|
||||||
from the ADC that is an average of multiple samples. The value
|
|
||||||
selected is 2^(value).
|
|
||||||
- For compatible property "qcom,spmi-vadc", valid values
|
|
||||||
are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512
|
|
||||||
If property is not found, 1 sample will be used.
|
|
||||||
- For compatible property "qcom,spmi-adc5" and "qcom,spmi-adc-rev2",
|
|
||||||
valid values are: 1, 2, 4, 8, 16
|
|
||||||
If property is not found, 1 sample will be used.
|
|
||||||
|
|
||||||
NOTE:
|
|
||||||
|
|
||||||
For compatible property "qcom,spmi-vadc" following channels, also known as
|
|
||||||
reference point channels, are used for result calibration and their channel
|
|
||||||
configuration nodes should be defined:
|
|
||||||
VADC_REF_625MV and/or VADC_SPARE1(based on PMIC version) VADC_REF_1250MV,
|
|
||||||
VADC_GND_REF and VADC_VDD_VADC.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
|
||||||
#include <linux/irq.h>
|
|
||||||
/* ... */
|
|
||||||
|
|
||||||
/* VADC node */
|
|
||||||
pmic_vadc: vadc@3100 {
|
|
||||||
compatible = "qcom,spmi-vadc";
|
|
||||||
reg = <0x3100>;
|
|
||||||
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
io-channel-ranges;
|
|
||||||
|
|
||||||
/* Channel node */
|
|
||||||
adc-chan@VADC_LR_MUX10_USB_ID {
|
|
||||||
reg = <VADC_LR_MUX10_USB_ID>;
|
|
||||||
qcom,decimation = <512>;
|
|
||||||
qcom,ratiometric;
|
|
||||||
qcom,hw-settle-time = <200>;
|
|
||||||
qcom,avg-samples = <1>;
|
|
||||||
qcom,pre-scaling = <1 3>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* IIO client node */
|
|
||||||
usb {
|
|
||||||
io-channels = <&pmic_vadc VADC_LR_MUX10_USB_ID>;
|
|
||||||
io-channel-names = "vadc";
|
|
||||||
};
|
|
||||||
278
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml
Normal file
278
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/qcom,spmi-vadc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm's SPMI PMIC ADC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Andy Gross <agross@kernel.org>
|
||||||
|
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
SPMI PMIC voltage ADC (VADC) provides interface to clients to read
|
||||||
|
voltage. The VADC is a 15-bit sigma-delta ADC.
|
||||||
|
SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read
|
||||||
|
voltage. The VADC is a 16-bit sigma-delta ADC.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- items:
|
||||||
|
- const: qcom,pms405-adc
|
||||||
|
- const: qcom,spmi-adc-rev2
|
||||||
|
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- qcom,spmi-vadc
|
||||||
|
- qcom,spmi-adc5
|
||||||
|
- qcom,spmi-adc-rev2
|
||||||
|
- qcom,spmi-adc7
|
||||||
|
|
||||||
|
reg:
|
||||||
|
description: VADC base address in the SPMI PMIC register map
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
'#io-channel-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
End of conversion interrupt.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- '#address-cells'
|
||||||
|
- '#size-cells'
|
||||||
|
- '#io-channel-cells'
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^.*@[0-9a-f]+$":
|
||||||
|
type: object
|
||||||
|
description: |
|
||||||
|
Represents the external channels which are connected to the ADC.
|
||||||
|
For compatible property "qcom,spmi-vadc" following channels, also known as
|
||||||
|
reference point channels, are used for result calibration and their channel
|
||||||
|
configuration nodes should be defined:
|
||||||
|
VADC_REF_625MV and/or VADC_SPARE1(based on PMIC version) VADC_REF_1250MV,
|
||||||
|
VADC_GND_REF and VADC_VDD_VADC.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
description: |
|
||||||
|
ADC channel number.
|
||||||
|
See include/dt-bindings/iio/qcom,spmi-vadc.h
|
||||||
|
For PMIC7 ADC, the channel numbers are specified separately per PMIC
|
||||||
|
in the PMIC-specific files in include/dt-bindings/iio/.
|
||||||
|
|
||||||
|
label:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: |
|
||||||
|
ADC input of the platform as seen in the schematics.
|
||||||
|
For thermistor inputs connected to generic AMUX or GPIO inputs
|
||||||
|
these can vary across platform for the same pins. Hence select
|
||||||
|
the platform schematics name for this channel.
|
||||||
|
|
||||||
|
qcom,decimation:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
This parameter is used to decrease ADC sampling rate.
|
||||||
|
Quicker measurements can be made by reducing decimation ratio.
|
||||||
|
|
||||||
|
qcom,pre-scaling:
|
||||||
|
description: |
|
||||||
|
Used for scaling the channel input signal before the signal is
|
||||||
|
fed to VADC. The configuration for this node is to know the
|
||||||
|
pre-determined ratio and use it for post scaling. It is a pair of
|
||||||
|
integers, denoting the numerator and denominator of the fraction by which
|
||||||
|
input signal is multiplied. For example, <1 3> indicates the signal is scaled
|
||||||
|
down to 1/3 of its value before ADC measurement.
|
||||||
|
If property is not found default value depending on chip will be used.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
oneOf:
|
||||||
|
- items:
|
||||||
|
- const: 1
|
||||||
|
- enum: [ 1, 3, 4, 6, 20, 8, 10 ]
|
||||||
|
|
||||||
|
- items:
|
||||||
|
- const: 10
|
||||||
|
- const: 81
|
||||||
|
|
||||||
|
qcom,ratiometric:
|
||||||
|
description: |
|
||||||
|
Channel calibration type.
|
||||||
|
- For compatible property "qcom,spmi-vadc", if this property is
|
||||||
|
specified VADC will use the VDD reference (1.8V) and GND for
|
||||||
|
channel calibration. If property is not found, channel will be
|
||||||
|
calibrated with 0.625V and 1.25V reference channels, also
|
||||||
|
known as absolute calibration.
|
||||||
|
- For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" and
|
||||||
|
"qcom,spmi-adc-rev2", if this property is specified VADC will use
|
||||||
|
the VDD reference (1.875V) and GND for channel calibration. If
|
||||||
|
property is not found, channel will be calibrated with 0V and 1.25V
|
||||||
|
reference channels, also known as absolute calibration.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
qcom,hw-settle-time:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Time between AMUX getting configured and the ADC starting
|
||||||
|
conversion. The 'hw_settle_time' is an index used from valid values
|
||||||
|
and programmed in hardware to achieve the hardware settling delay.
|
||||||
|
|
||||||
|
qcom,avg-samples:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Number of samples to be used for measurement.
|
||||||
|
Averaging provides the option to obtain a single measurement
|
||||||
|
from the ADC that is an average of multiple samples. The value
|
||||||
|
selected is 2^(value).
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: qcom,spmi-vadc
|
||||||
|
|
||||||
|
then:
|
||||||
|
patternProperties:
|
||||||
|
"^.*@[0-9a-f]+$":
|
||||||
|
properties:
|
||||||
|
qcom,decimation:
|
||||||
|
enum: [ 512, 1024, 2048, 4096 ]
|
||||||
|
default: 512
|
||||||
|
|
||||||
|
qcom,hw-settle-time:
|
||||||
|
enum: [ 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
|
||||||
|
4, 6, 8, 10 ]
|
||||||
|
default: 0
|
||||||
|
|
||||||
|
qcom,avg-samples:
|
||||||
|
enum: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ]
|
||||||
|
default: 1
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: qcom,spmi-adc-rev2
|
||||||
|
|
||||||
|
then:
|
||||||
|
patternProperties:
|
||||||
|
"^.*@[0-9a-f]+$":
|
||||||
|
properties:
|
||||||
|
qcom,decimation:
|
||||||
|
enum: [ 256, 512, 1024 ]
|
||||||
|
default: 1024
|
||||||
|
|
||||||
|
qcom,hw-settle-time:
|
||||||
|
enum: [ 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
|
||||||
|
4, 6, 8, 10 ]
|
||||||
|
default: 0
|
||||||
|
|
||||||
|
qcom,avg-samples:
|
||||||
|
enum: [ 1, 2, 4, 8, 16 ]
|
||||||
|
default: 1
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: qcom,spmi-adc5
|
||||||
|
|
||||||
|
then:
|
||||||
|
patternProperties:
|
||||||
|
"^.*@[0-9a-f]+$":
|
||||||
|
properties:
|
||||||
|
qcom,decimation:
|
||||||
|
enum: [ 250, 420, 840 ]
|
||||||
|
default: 840
|
||||||
|
|
||||||
|
qcom,hw-settle-time:
|
||||||
|
enum: [ 15, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
|
||||||
|
4, 6, 8, 10, 16, 32, 64, 128 ]
|
||||||
|
default: 15
|
||||||
|
|
||||||
|
qcom,avg-samples:
|
||||||
|
enum: [ 1, 2, 4, 8, 16 ]
|
||||||
|
default: 1
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: qcom,spmi-adc7
|
||||||
|
|
||||||
|
then:
|
||||||
|
patternProperties:
|
||||||
|
"^.*@[0-9a-f]+$":
|
||||||
|
properties:
|
||||||
|
qcom,decimation:
|
||||||
|
enum: [ 85, 340, 1360 ]
|
||||||
|
default: 1360
|
||||||
|
|
||||||
|
qcom,hw-settle-time:
|
||||||
|
enum: [ 15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, 4000,
|
||||||
|
8000, 16000, 32000, 64000, 128000 ]
|
||||||
|
default: 15
|
||||||
|
|
||||||
|
qcom,avg-samples:
|
||||||
|
enum: [ 1, 2, 4, 8, 16 ]
|
||||||
|
default: 1
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spmi_bus {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
/* VADC node */
|
||||||
|
pmic_vadc: adc@3100 {
|
||||||
|
compatible = "qcom,spmi-vadc";
|
||||||
|
reg = <0x3100>;
|
||||||
|
interrupts = <0x0 0x31 0x0 0x1>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
io-channel-ranges;
|
||||||
|
|
||||||
|
/* Channel node */
|
||||||
|
adc-chan@39 {
|
||||||
|
reg = <0x39>;
|
||||||
|
qcom,decimation = <512>;
|
||||||
|
qcom,ratiometric;
|
||||||
|
qcom,hw-settle-time = <200>;
|
||||||
|
qcom,avg-samples = <1>;
|
||||||
|
qcom,pre-scaling = <1 3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc-chan@9 {
|
||||||
|
reg = <0x9>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc-chan@a {
|
||||||
|
reg = <0xa>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc-chan@e {
|
||||||
|
reg = <0xe>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc-chan@f {
|
||||||
|
reg = <0xf>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
45
Documentation/devicetree/bindings/iio/adc/ti,ads8688.yaml
Normal file
45
Documentation/devicetree/bindings/iio/adc/ti,ads8688.yaml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/ti,ads8688.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments' ADS8684 and ADS8688 ADC chip
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Sean Nyekjaer <sean@geanix.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
SPI 16bit ADCs with 4/8 channels.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,ads8684
|
||||||
|
- ti,ads8688
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vref-supply:
|
||||||
|
description: Optional external reference. If not supplied, assume
|
||||||
|
REFSEL input tied low to enable the internal reference.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
adc@0 {
|
||||||
|
compatible = "ti,ads8688";
|
||||||
|
reg = <0>;
|
||||||
|
vref-supply = <&vdd_supply>;
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
* Texas Instruments' ADS8684 and ADS8688 ADC chip
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "ti,ads8684" or "ti,ads8688"
|
|
||||||
- reg: spi chip select number for the device
|
|
||||||
|
|
||||||
Recommended properties:
|
|
||||||
- spi-max-frequency: Definition as per
|
|
||||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- vref-supply: The regulator supply for ADC reference voltage
|
|
||||||
|
|
||||||
Example:
|
|
||||||
adc@0 {
|
|
||||||
compatible = "ti,ads8688";
|
|
||||||
reg = <0>;
|
|
||||||
vref-supply = <&vdd_supply>;
|
|
||||||
spi-max-frequency = <1000000>;
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/chemical/sensirion,scd30.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Sensirion SCD30 carbon dioxide sensor
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Tomasz Duszynski <tomasz.duszynski@octakon.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Air quality sensor capable of measuring co2 concentration, temperature
|
||||||
|
and relative humidity.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- sensirion,scd30
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vdd-supply: true
|
||||||
|
|
||||||
|
sensirion,sel-gpios:
|
||||||
|
description: GPIO connected to the SEL line
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sensirion,pwm-gpios:
|
||||||
|
description: GPIO connected to the PWM line
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
# include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
co2-sensor@61 {
|
||||||
|
compatible = "sensirion,scd30";
|
||||||
|
reg = <0x61>;
|
||||||
|
vdd-supply = <&vdd>;
|
||||||
|
interrupt-parent = <&gpio0>;
|
||||||
|
interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
- |
|
||||||
|
# include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
serial {
|
||||||
|
co2-sensor {
|
||||||
|
compatible = "sensirion,scd30";
|
||||||
|
vdd-supply = <&vdd>;
|
||||||
|
interrupt-parent = <&gpio0>;
|
||||||
|
interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
||||||
@@ -6,7 +6,7 @@ Is is programmable through an SPI interface.
|
|||||||
|
|
||||||
The internal DACs are loaded when the LOADDACS pin is pulled down.
|
The internal DACs are loaded when the LOADDACS pin is pulled down.
|
||||||
|
|
||||||
http://www.ti.com/lit/ds/sbas106/sbas106.pdf
|
https://www.ti.com/lit/ds/sbas106/sbas106.pdf
|
||||||
|
|
||||||
Required Properties:
|
Required Properties:
|
||||||
- compatible: Should be one of:
|
- compatible: Should be one of:
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ specifier is an array of one or more cells identifying the IIO
|
|||||||
output on a device. The length of an IIO specifier is defined by the
|
output on a device. The length of an IIO specifier is defined by the
|
||||||
value of a #io-channel-cells property in the IIO provider node.
|
value of a #io-channel-cells property in the IIO provider node.
|
||||||
|
|
||||||
[1] http://marc.info/?l=linux-iio&m=135902119507483&w=2
|
[1] https://marc.info/?l=linux-iio&m=135902119507483&w=2
|
||||||
|
|
||||||
==IIO providers==
|
==IIO providers==
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,15 @@ properties:
|
|||||||
set if the specified interrupt pin should be configured as
|
set if the specified interrupt pin should be configured as
|
||||||
open drain. If not set, defaults to push-pull.
|
open drain. If not set, defaults to push-pull.
|
||||||
|
|
||||||
|
vdd-supply:
|
||||||
|
description: provide VDD power to the sensor.
|
||||||
|
|
||||||
|
vddio-supply:
|
||||||
|
description: provide VDD IO power to the sensor.
|
||||||
|
|
||||||
|
mount-matrix:
|
||||||
|
description: an optional 3x3 mounting rotation matrix
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
@@ -52,9 +61,14 @@ examples:
|
|||||||
bmi160@68 {
|
bmi160@68 {
|
||||||
compatible = "bosch,bmi160";
|
compatible = "bosch,bmi160";
|
||||||
reg = <0x68>;
|
reg = <0x68>;
|
||||||
|
vdd-supply = <&pm8916_l17>;
|
||||||
|
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",
|
||||||
|
"-1", "0", "0",
|
||||||
|
"0", "0", "1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
- |
|
- |
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/imu/invensense,icm42600.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: InvenSense ICM-426xx Inertial Measurement Unit
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis
|
||||||
|
accelerometer.
|
||||||
|
|
||||||
|
It has a configurable host interface that supports I3C, I2C and SPI serial
|
||||||
|
communication, features a 2kB FIFO and 2 programmable interrupts with
|
||||||
|
ultra-low-power wake-on-motion support to minimize system power consumption.
|
||||||
|
|
||||||
|
Other industry-leading features include InvenSense on-chip APEX Motion
|
||||||
|
Processing engine for gesture recognition, activity classification, and
|
||||||
|
pedometer, along with programmable digital filters, and an embedded
|
||||||
|
temperature sensor.
|
||||||
|
|
||||||
|
https://invensense.tdk.com/wp-content/uploads/2020/03/DS-000292-ICM-42605-v1.4.pdf
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- invensense,icm42600
|
||||||
|
- invensense,icm42602
|
||||||
|
- invensense,icm42605
|
||||||
|
- invensense,icm42622
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
drive-open-drain:
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
vdd-supply:
|
||||||
|
description: Regulator that provides power to the sensor
|
||||||
|
|
||||||
|
vddio-supply:
|
||||||
|
description: Regulator that provides power to the bus
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
icm42605@68 {
|
||||||
|
compatible = "invensense,icm42605";
|
||||||
|
reg = <0x68>;
|
||||||
|
interrupt-parent = <&gpio2>;
|
||||||
|
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
vdd-supply = <&vdd>;
|
||||||
|
vddio-supply = <&vddio>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
spi0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
icm42602@0 {
|
||||||
|
compatible = "invensense,icm42602";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <24000000>;
|
||||||
|
spi-cpha;
|
||||||
|
spi-cpol;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
vdd-supply = <&vdd>;
|
||||||
|
vddio-supply = <&vddio>;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
* Avago APDS9300 ambient light sensor
|
* Avago APDS9300 ambient light sensor
|
||||||
|
|
||||||
http://www.avagotech.com/docs/AV02-1077EN
|
https://www.avagotech.com/docs/AV02-1077EN
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
* Avago APDS9960 gesture/RGB/ALS/proximity sensor
|
* Avago APDS9960 gesture/RGB/ALS/proximity sensor
|
||||||
|
|
||||||
http://www.avagotech.com/docs/AV02-4191EN
|
https://www.avagotech.com/docs/AV02-4191EN
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ the optional generation of IIO events on rising/falling light threshold changes
|
|||||||
requires the use of interrupts. Without interrupts, only the simple reading
|
requires the use of interrupts. Without interrupts, only the simple reading
|
||||||
of the current light value is supported through the IIO API.
|
of the current light value is supported through the IIO API.
|
||||||
|
|
||||||
http://www.ti.com/product/opt3001
|
https://www.ti.com/product/opt3001
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: should be "ti,opt3001"
|
- compatible: should be "ti,opt3001"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
STMicro VL6180 - ALS, range and proximity sensor
|
STMicro VL6180 - ALS, range and proximity sensor
|
||||||
|
|
||||||
Link to datasheet: http://www.st.com/resource/en/datasheet/vl6180x.pdf
|
Link to datasheet: https://www.st.com/resource/en/datasheet/vl6180x.pdf
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
* AsahiKASEI AK8975 magnetometer sensor
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : should be "asahi-kasei,ak8975"
|
|
||||||
- reg : the I2C address of the magnetometer
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- gpios : should be device tree identifier of the magnetometer DRDY pin
|
|
||||||
- vdd-supply: an optional regulator that needs to be on to provide VDD
|
|
||||||
- mount-matrix: an optional 3x3 mounting rotation matrix
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
ak8975@c {
|
|
||||||
compatible = "asahi-kasei,ak8975";
|
|
||||||
reg = <0x0c>;
|
|
||||||
gpios = <&gpj0 7 0>;
|
|
||||||
vdd-supply = <&ldo_3v3_gnss>;
|
|
||||||
mount-matrix = "-0.984807753012208", /* x0 */
|
|
||||||
"0", /* y0 */
|
|
||||||
"-0.173648177666930", /* z0 */
|
|
||||||
"0", /* x1 */
|
|
||||||
"-1", /* y1 */
|
|
||||||
"0", /* z1 */
|
|
||||||
"-0.173648177666930", /* x2 */
|
|
||||||
"0", /* y2 */
|
|
||||||
"0.984807753012208"; /* z2 */
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/magnetometer/asahi-kasei,ak8975.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AsahiKASEI AK8975 magnetometer sensor
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Albrieux <jonathan.albrieux@gmail.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- enum:
|
||||||
|
- asahi-kasei,ak8975
|
||||||
|
- asahi-kasei,ak8963
|
||||||
|
- asahi-kasei,ak09911
|
||||||
|
- asahi-kasei,ak09912
|
||||||
|
- enum:
|
||||||
|
- ak8975
|
||||||
|
- ak8963
|
||||||
|
- ak09911
|
||||||
|
- ak09912
|
||||||
|
deprecated: true
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
AK8975 has a "Data ready" pin (DRDY) which informs that data
|
||||||
|
is ready to be read and is possible to listen on it. If used,
|
||||||
|
this should be active high. Prefer interrupt over this.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description: interrupt for DRDY pin. Triggered on rising edge.
|
||||||
|
|
||||||
|
vdd-supply:
|
||||||
|
description: |
|
||||||
|
an optional regulator that needs to be on to provide VDD power to
|
||||||
|
the sensor.
|
||||||
|
|
||||||
|
mount-matrix:
|
||||||
|
description: an optional 3x3 mounting rotation matrix.
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
description: |
|
||||||
|
an optional pin needed for AK09911 to set the reset state. This should
|
||||||
|
be usually active low
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
magnetometer@c {
|
||||||
|
compatible = "asahi-kasei,ak8975";
|
||||||
|
reg = <0x0c>;
|
||||||
|
interrupt-parent = <&gpio6>;
|
||||||
|
interrupts = <15 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
vdd-supply = <&ldo_3v3_gnss>;
|
||||||
|
reset-gpios = <&msmgpio 111 GPIO_ACTIVE_LOW>;
|
||||||
|
mount-matrix = "-0.984807753012208", /* x0 */
|
||||||
|
"0", /* y0 */
|
||||||
|
"-0.173648177666930", /* z0 */
|
||||||
|
"0", /* x1 */
|
||||||
|
"-1", /* y1 */
|
||||||
|
"0", /* z1 */
|
||||||
|
"-0.173648177666930", /* x2 */
|
||||||
|
"0", /* y2 */
|
||||||
|
"0.984807753012208"; /* z2 */
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -4,7 +4,11 @@ http://ae-bst.resource.bosch.com/media/products/dokumente/bmc150/BST-BMC150-DS00
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
- compatible : should be "bosch,bmc150_magn"
|
- compatible : should be one of:
|
||||||
|
"bosch,bmc150_magn"
|
||||||
|
"bosch,bmc156_magn"
|
||||||
|
"bosch,bmm150"
|
||||||
|
"bosch,bmm150_magn" (DEPRECATED, use bosch,bmm150)
|
||||||
- reg : the I2C address of the magnetometer
|
- reg : the I2C address of the magnetometer
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
* Microchip MCP41010/41050/41100/42010/42050/42100 Digital Potentiometer
|
* Microchip MCP41010/41050/41100/42010/42050/42100 Digital Potentiometer
|
||||||
|
|
||||||
Datasheet publicly available at:
|
Datasheet publicly available at:
|
||||||
http://ww1.microchip.com/downloads/en/devicedoc/11195c.pdf
|
https://ww1.microchip.com/downloads/en/devicedoc/11195c.pdf
|
||||||
|
|
||||||
The node for this driver must be a child node of a SPI controller, hence
|
The node for this driver must be a child node of a SPI controller, hence
|
||||||
all mandatory properties described in
|
all mandatory properties described in
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
* Texas Instruments LMP91000 series of potentiostats
|
* Texas Instruments LMP91000 series of potentiostats
|
||||||
|
|
||||||
LMP91000: http://www.ti.com/lit/ds/symlink/lmp91000.pdf
|
LMP91000: https://www.ti.com/lit/ds/symlink/lmp91000.pdf
|
||||||
LMP91002: http://www.ti.com/lit/ds/symlink/lmp91002.pdf
|
LMP91002: https://www.ti.com/lit/ds/symlink/lmp91002.pdf
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ description: |
|
|||||||
Bindings for the All Sensors DLH series pressure sensors.
|
Bindings for the All Sensors DLH series pressure sensors.
|
||||||
|
|
||||||
Specifications about the sensors can be found at:
|
Specifications about the sensors can be found at:
|
||||||
http://www.allsensors.com/cad/DS-0355_Rev_B.PDF
|
https://www.allsensors.com/cad/DS-0355_Rev_B.PDF
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ description: |
|
|||||||
until it is received once again
|
until it is received once again
|
||||||
|
|
||||||
Specifications about the devices can be found at:
|
Specifications about the devices can be found at:
|
||||||
http://www.robot-electronics.co.uk/htm/srf04tech.htm
|
https://www.robot-electronics.co.uk/htm/srf04tech.htm
|
||||||
|
|
||||||
http://www.maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf
|
https://www.maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
|||||||
@@ -35,9 +35,11 @@ properties:
|
|||||||
description: label associated with this uart
|
description: label associated with this uart
|
||||||
|
|
||||||
st,hw-flow-ctrl:
|
st,hw-flow-ctrl:
|
||||||
description: enable hardware flow control
|
description: enable hardware flow control (deprecated)
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
uart-has-rtscts: true
|
||||||
|
|
||||||
dmas:
|
dmas:
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
|||||||
@@ -52,14 +52,20 @@ properties:
|
|||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^timer@[0-2]$":
|
"^timer@[0-2]$":
|
||||||
description: The timer block channels that are used as timers.
|
description: The timer block channels that are used as timers or counters.
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: atmel,tcb-timer
|
items:
|
||||||
|
- enum:
|
||||||
|
- atmel,tcb-timer
|
||||||
|
- microchip,tcb-capture
|
||||||
reg:
|
reg:
|
||||||
description:
|
description:
|
||||||
List of channels to use for this particular timer.
|
List of channels to use for this particular timer. In Microchip TCB capture
|
||||||
|
mode channels are registered as a counter devices, for the qdec mode TCB0's
|
||||||
|
channel <0> and <1> are required.
|
||||||
|
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 3
|
maxItems: 3
|
||||||
|
|
||||||
@@ -153,3 +159,23 @@ examples:
|
|||||||
reg = <1>;
|
reg = <1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
/* TCB0 Capture with QDEC: */
|
||||||
|
timer@f800c000 {
|
||||||
|
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0xfff7c000 0x100>;
|
||||||
|
interrupts = <18 4>;
|
||||||
|
clocks = <&tcb0_clk>, <&clk32k>;
|
||||||
|
clock-names = "t0_clk", "slow_clk";
|
||||||
|
|
||||||
|
timer@0 {
|
||||||
|
compatible = "microchip,tcb-capture";
|
||||||
|
reg = <0>, <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
timer@2 {
|
||||||
|
compatible = "atmel,tcb-timer";
|
||||||
|
reg = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
Analog Devices ADAU1977/ADAU1978/ADAU1979
|
Analog Devices ADAU1977/ADAU1978/ADAU1979
|
||||||
|
|
||||||
Datasheets:
|
Datasheets:
|
||||||
http://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1977.pdf
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1977.pdf
|
||||||
http://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1978.pdf
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1978.pdf
|
||||||
http://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1979.pdf
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1979.pdf
|
||||||
|
|
||||||
This driver supports both the I2C and SPI bus.
|
This driver supports both the I2C and SPI bus.
|
||||||
|
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
AK4613 I2C transmitter
|
|
||||||
|
|
||||||
This device supports I2C mode only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "asahi-kasei,ak4613"
|
|
||||||
- reg : The chip select number on the I2C bus
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- asahi-kasei,in1-single-end : Boolean. Indicate input / output pins are single-ended.
|
|
||||||
- asahi-kasei,in2-single-end rather than differential.
|
|
||||||
- asahi-kasei,out1-single-end
|
|
||||||
- asahi-kasei,out2-single-end
|
|
||||||
- asahi-kasei,out3-single-end
|
|
||||||
- asahi-kasei,out4-single-end
|
|
||||||
- asahi-kasei,out5-single-end
|
|
||||||
- asahi-kasei,out6-single-end
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
ak4613: ak4613@10 {
|
|
||||||
compatible = "asahi-kasei,ak4613";
|
|
||||||
reg = <0x10>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
49
Documentation/devicetree/bindings/sound/ak4613.yaml
Normal file
49
Documentation/devicetree/bindings/sound/ak4613.yaml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/ak4613.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AK4613 I2C transmitter Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: asahi-kasei,ak4613
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^asahi-kasei,in[1-2]-single-end$":
|
||||||
|
description: Input Pin 1 - 2.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
"^asahi-kasei,out[1-6]-single-end$":
|
||||||
|
description: Output Pin 1 - 6.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
ak4613: codec@10 {
|
||||||
|
compatible = "asahi-kasei,ak4613";
|
||||||
|
reg = <0x10>;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
AK4642 I2C transmitter
|
|
||||||
|
|
||||||
This device supports I2C mode only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "asahi-kasei,ak4642" or "asahi-kasei,ak4643" or "asahi-kasei,ak4648"
|
|
||||||
- reg : The chip select number on the I2C bus
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- #clock-cells : common clock binding; shall be set to 0
|
|
||||||
- clocks : common clock binding; MCKI clock
|
|
||||||
- clock-frequency : common clock binding; frequency of MCKO
|
|
||||||
- clock-output-names : common clock binding; MCKO clock name
|
|
||||||
|
|
||||||
Example 1:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
ak4648: ak4648@12 {
|
|
||||||
compatible = "asahi-kasei,ak4642";
|
|
||||||
reg = <0x12>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
Example 2:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
ak4643: codec@12 {
|
|
||||||
compatible = "asahi-kasei,ak4643";
|
|
||||||
reg = <0x12>;
|
|
||||||
#clock-cells = <0>;
|
|
||||||
clocks = <&audio_clock>;
|
|
||||||
clock-frequency = <12288000>;
|
|
||||||
clock-output-names = "ak4643_mcko";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
58
Documentation/devicetree/bindings/sound/ak4642.yaml
Normal file
58
Documentation/devicetree/bindings/sound/ak4642.yaml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/ak4642.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AK4642 I2C transmitter Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- asahi-kasei,ak4642
|
||||||
|
- asahi-kasei,ak4643
|
||||||
|
- asahi-kasei,ak4648
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#clock-cells":
|
||||||
|
const: 0
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-frequency:
|
||||||
|
description: common clock binding; frequency of MCKO
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
clock-output-names:
|
||||||
|
description: common clock name
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
ak4643: codec@12 {
|
||||||
|
compatible = "asahi-kasei,ak4643";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
reg = <0x12>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clocks = <&audio_clock>;
|
||||||
|
clock-frequency = <12288000>;
|
||||||
|
clock-output-names = "ak4643_mcko";
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
Everest ES8316 audio CODEC
|
|
||||||
|
|
||||||
This device supports both I2C and SPI.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : should be "everest,es8316"
|
|
||||||
- reg : the I2C address of the device for I2C
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- clocks : a list of phandle, should contain entries for clock-names
|
|
||||||
- clock-names : should include as follows:
|
|
||||||
"mclk" : master clock (MCLK) of the device
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
es8316: codec@11 {
|
|
||||||
compatible = "everest,es8316";
|
|
||||||
reg = <0x11>;
|
|
||||||
clocks = <&clks 10>;
|
|
||||||
clock-names = "mclk";
|
|
||||||
};
|
|
||||||
50
Documentation/devicetree/bindings/sound/everest,es8316.yaml
Normal file
50
Documentation/devicetree/bindings/sound/everest,es8316.yaml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/everest,es8316.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Everest ES8316 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Daniel Drake <drake@endlessm.com>
|
||||||
|
- Katsuhiro Suzuki <katsuhiro@katsuster.net>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: everest,es8316
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: clock for master clock (MCLK)
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
es8316: codec@11 {
|
||||||
|
compatible = "everest,es8316";
|
||||||
|
reg = <0x11>;
|
||||||
|
clocks = <&clks 10>;
|
||||||
|
clock-names = "mclk";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -6,7 +6,11 @@ a fibre cable.
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
- compatible : Compatible list, must contain "fsl,imx35-spdif".
|
- compatible : Compatible list, should contain one of the following
|
||||||
|
compatibles:
|
||||||
|
"fsl,imx35-spdif",
|
||||||
|
"fsl,vf610-spdif",
|
||||||
|
"fsl,imx6sx-spdif",
|
||||||
|
|
||||||
- reg : Offset and length of the register set for the device.
|
- reg : Offset and length of the register set for the device.
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,10 @@ The compatible list for this generic sound card currently:
|
|||||||
|
|
||||||
"fsl,imx-audio-wm8960"
|
"fsl,imx-audio-wm8960"
|
||||||
|
|
||||||
|
"fsl,imx-audio-mqs"
|
||||||
|
|
||||||
|
"fsl,imx-audio-wm8524"
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
- compatible : Contains one of entries in the compatible list.
|
- compatible : Contains one of entries in the compatible list.
|
||||||
@@ -44,6 +48,11 @@ Required properties:
|
|||||||
|
|
||||||
- audio-codec : The phandle of an audio codec
|
- audio-codec : The phandle of an audio codec
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
|
||||||
|
- audio-asrc : The phandle of ASRC. It can be absent if there's no
|
||||||
|
need to add ASRC support via DPCM.
|
||||||
|
|
||||||
- audio-routing : A list of the connections between audio components.
|
- audio-routing : A list of the connections between audio components.
|
||||||
Each entry is a pair of strings, the first being the
|
Each entry is a pair of strings, the first being the
|
||||||
connection's sink, the second being the connection's
|
connection's sink, the second being the connection's
|
||||||
@@ -60,10 +69,13 @@ Required properties:
|
|||||||
coexisting in order to support the old bindings
|
coexisting in order to support the old bindings
|
||||||
of wm8962 and sgtl5000.
|
of wm8962 and sgtl5000.
|
||||||
|
|
||||||
Optional properties:
|
- hp-det-gpio : The GPIO that detect headphones are plugged in
|
||||||
|
- mic-det-gpio : The GPIO that detect microphones are plugged in
|
||||||
- audio-asrc : The phandle of ASRC. It can be absent if there's no
|
- bitclock-master : Indicates dai-link bit clock master; for details see simple-card.yaml.
|
||||||
need to add ASRC support via DPCM.
|
- frame-master : Indicates dai-link frame master; for details see simple-card.yaml.
|
||||||
|
- dai-format : audio format, for details see simple-card.yaml.
|
||||||
|
- frame-inversion : dai-link uses frame clock inversion, for details see simple-card.yaml.
|
||||||
|
- bitclock-inversion : dai-link uses bit clock inversion, for details see simple-card.yaml.
|
||||||
|
|
||||||
Optional unless SSI is selected as a CPU DAI:
|
Optional unless SSI is selected as a CPU DAI:
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
# Copyright 2020 Intel Corporation
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/intel,keembay-i2s.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Intel KeemBay I2S Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Sia, Jee Heng <jee.heng.sia@intel.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Intel KeemBay I2S
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- intel,keembay-i2s
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: I2S registers
|
||||||
|
- description: I2S gen configuration
|
||||||
|
|
||||||
|
reg-names:
|
||||||
|
items:
|
||||||
|
- const: i2s-regs
|
||||||
|
- const: i2s_gen_cfg
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Bus Clock
|
||||||
|
- description: Module Clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: osc
|
||||||
|
- const: apb_clk
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#define KEEM_BAY_PSS_AUX_I2S3
|
||||||
|
#define KEEM_BAY_PSS_I2S3
|
||||||
|
i2s3: i2s@20140000 {
|
||||||
|
compatible = "intel,keembay-i2s";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
reg = <0x20140000 0x200>, /* I2S registers */
|
||||||
|
<0x202a00a4 0x4>; /* I2S gen configuration */
|
||||||
|
reg-names = "i2s-regs", "i2s_gen_cfg";
|
||||||
|
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clock-names = "osc", "apb_clk";
|
||||||
|
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>;
|
||||||
|
};
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
Maxim MAX98357A audio DAC
|
Maxim MAX98357A/MAX98360A audio DAC
|
||||||
|
|
||||||
This node models the Maxim MAX98357A DAC.
|
This node models the Maxim MAX98357A/MAX98360A DAC.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : "maxim,max98357a"
|
- compatible : "maxim,max98357a" for MAX98357A.
|
||||||
|
"maxim,max98360a" for MAX98360A.
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
- sdmode-gpios : GPIO specifier for the chip's SD_MODE pin.
|
- sdmode-gpios : GPIO specifier for the chip's SD_MODE pin.
|
||||||
@@ -20,3 +21,8 @@ max98357a {
|
|||||||
compatible = "maxim,max98357a";
|
compatible = "maxim,max98357a";
|
||||||
sdmode-gpios = <&qcom_pinmux 25 0>;
|
sdmode-gpios = <&qcom_pinmux 25 0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
max98360a {
|
||||||
|
compatible = "maxim,max98360a";
|
||||||
|
sdmode-gpios = <&qcom_pinmux 25 0>;
|
||||||
|
};
|
||||||
|
|||||||
51
Documentation/devicetree/bindings/sound/maxim,max98390.yaml
Normal file
51
Documentation/devicetree/bindings/sound/maxim,max98390.yaml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/maxim,max98390.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim Integrated MAX98390 Speaker Amplifier with Integrated Dynamic Speaker Management
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Steve Lee <steves.lee@maximintegrated.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: maxim,max98390
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: I2C address of the device.
|
||||||
|
|
||||||
|
maxim,temperature_calib:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: The calculated temperature data was measured while doing the calibration.
|
||||||
|
minimum: 0
|
||||||
|
maximum: 65535
|
||||||
|
|
||||||
|
maxim,r0_calib:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: This is r0 calibration data which was measured in factory mode.
|
||||||
|
minimum: 1
|
||||||
|
maximum: 8388607
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
max98390: amplifier@38 {
|
||||||
|
compatible = "maxim,max98390";
|
||||||
|
reg = <0x38>;
|
||||||
|
maxim,temperature_calib = <1024>;
|
||||||
|
maxim,r0_calib = <100232>;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -10,9 +10,15 @@ Required properties:
|
|||||||
- compatible : "mediatek,mt6358-sound".
|
- compatible : "mediatek,mt6358-sound".
|
||||||
- Avdd-supply : power source of AVDD
|
- Avdd-supply : power source of AVDD
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- mediatek,dmic-mode : Indicates how many data pins are used to transmit two
|
||||||
|
channels of PDM signal. 0 means two wires, 1 means one wire. Default
|
||||||
|
value is 0.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
mt6358_snd {
|
mt6358_snd {
|
||||||
compatible = "mediatek,mt6358-sound";
|
compatible = "mediatek,mt6358-sound";
|
||||||
Avdd-supply = <&mt6358_vaud28_reg>;
|
Avdd-supply = <&mt6358_vaud28_reg>;
|
||||||
|
mediatek,dmic-mode = <0>;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,15 +1,20 @@
|
|||||||
MT8183 with MT6358, DA7219 and MAX98357 CODECS
|
MT8183 with MT6358, DA7219, MAX98357, and RT1015 CODECS
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : "mediatek,mt8183_da7219_max98357"
|
- compatible : "mediatek,mt8183_da7219_max98357" for MAX98357A codec
|
||||||
|
"mediatek,mt8183_da7219_rt1015" for RT1015 codec
|
||||||
- mediatek,headset-codec: the phandles of da7219 codecs
|
- mediatek,headset-codec: the phandles of da7219 codecs
|
||||||
- mediatek,platform: the phandle of MT8183 ASoC platform
|
- mediatek,platform: the phandle of MT8183 ASoC platform
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- mediatek,hdmi-codec: the phandles of HDMI codec
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
sound {
|
sound {
|
||||||
compatible = "mediatek,mt8183_da7219_max98357";
|
compatible = "mediatek,mt8183_da7219_max98357";
|
||||||
mediatek,headset-codec = <&da7219>;
|
mediatek,headset-codec = <&da7219>;
|
||||||
|
mediatek,hdmi-codec = <&it6505dptx>;
|
||||||
mediatek,platform = <&afe>;
|
mediatek,platform = <&afe>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
MT8183 with MT6358, TS3A227 and MAX98357 CODECS
|
MT8183 with MT6358, TS3A227, MAX98357, and RT1015 CODECS
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : "mediatek,mt8183_mt6358_ts3a227_max98357"
|
- compatible : "mediatek,mt8183_mt6358_ts3a227_max98357" for MAX98357A codec
|
||||||
|
"mediatek,mt8183_mt6358_ts3a227_max98357b" for MAX98357B codec
|
||||||
|
"mediatek,mt8183_mt6358_ts3a227_rt1015" for RT1015 codec
|
||||||
- mediatek,platform: the phandle of MT8183 ASoC platform
|
- mediatek,platform: the phandle of MT8183 ASoC platform
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
- mediatek,headset-codec: the phandles of ts3a227 codecs
|
- mediatek,headset-codec: the phandles of ts3a227 codecs
|
||||||
- mediatek,ec-codec: the phandle of EC codecs.
|
- mediatek,ec-codec: the phandle of EC codecs.
|
||||||
See google,cros-ec-codec.txt for more details.
|
See google,cros-ec-codec.txt for more details.
|
||||||
|
- mediatek,hdmi-codec: the phandles of HDMI codec
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
@@ -15,6 +18,7 @@ Example:
|
|||||||
compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
|
compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
|
||||||
mediatek,headset-codec = <&ts3a227>;
|
mediatek,headset-codec = <&ts3a227>;
|
||||||
mediatek,ec-codec = <&ec_codec>;
|
mediatek,ec-codec = <&ec_codec>;
|
||||||
|
mediatek,hdmi-codec = <&it6505dptx>;
|
||||||
mediatek,platform = <&afe>;
|
mediatek,platform = <&afe>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra186-dspk.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra186 DSPK Controller Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Digital Speaker Controller (DSPK) can be viewed as a Pulse
|
||||||
|
Density Modulation (PDM) transmitter that up-samples the input to
|
||||||
|
the desired sampling rate by interpolation and then converts the
|
||||||
|
over sampled Pulse Code Modulation (PCM) input to the desired 1-bit
|
||||||
|
output via Delta Sigma Modulation (DSM).
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^dspk@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra186-dspk
|
||||||
|
- items:
|
||||||
|
- const: nvidia,tegra194-dspk
|
||||||
|
- const: nvidia,tegra186-dspk
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: dspk
|
||||||
|
|
||||||
|
assigned-clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
assigned-clock-parents:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
assigned-clock-rates:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^DSPK[1-9]$"
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description:
|
||||||
|
Used as prefix for sink/source names of the component. Must be a
|
||||||
|
unique string among multiple instances of the same component.
|
||||||
|
The name can be "DSPK1" or "DSPKx", where x depends on the maximum
|
||||||
|
available instances on a Tegra SoC.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- assigned-clocks
|
||||||
|
- assigned-clock-parents
|
||||||
|
- sound-name-prefix
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include<dt-bindings/clock/tegra186-clock.h>
|
||||||
|
|
||||||
|
dspk@2905000 {
|
||||||
|
compatible = "nvidia,tegra186-dspk";
|
||||||
|
reg = <0x2905000 0x100>;
|
||||||
|
clocks = <&bpmp TEGRA186_CLK_DSPK1>;
|
||||||
|
clock-names = "dspk";
|
||||||
|
assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
|
||||||
|
assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
|
||||||
|
assigned-clock-rates = <12288000>;
|
||||||
|
sound-name-prefix = "DSPK1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-admaif.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 ADMAIF Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
ADMAIF is the interface between ADMA and AHUB. Each ADMA channel
|
||||||
|
that sends/receives data to/from AHUB must interface through an
|
||||||
|
ADMAIF channel. ADMA channel sending data to AHUB pairs with ADMAIF
|
||||||
|
Tx channel and ADMA channel receiving data from AHUB pairs with
|
||||||
|
ADMAIF Rx channel.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^admaif@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra210-admaif
|
||||||
|
- nvidia,tegra186-admaif
|
||||||
|
- items:
|
||||||
|
- const: nvidia,tegra194-admaif
|
||||||
|
- const: nvidia,tegra186-admaif
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
dmas: true
|
||||||
|
|
||||||
|
dma-names: true
|
||||||
|
|
||||||
|
if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: nvidia,tegra210-admaif
|
||||||
|
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
dmas:
|
||||||
|
description:
|
||||||
|
DMA channel specifiers, equally divided for Tx and Rx.
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 20
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
pattern: "^[rt]x(10|[1-9])$"
|
||||||
|
description:
|
||||||
|
Should be "rx1", "rx2" ... "rx10" for DMA Rx channel
|
||||||
|
Should be "tx1", "tx2" ... "tx10" for DMA Tx channel
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 20
|
||||||
|
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
dmas:
|
||||||
|
description:
|
||||||
|
DMA channel specifiers, equally divided for Tx and Rx.
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 40
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
pattern: "^[rt]x(1[0-9]|[1-9]|20)$"
|
||||||
|
description:
|
||||||
|
Should be "rx1", "rx2" ... "rx20" for DMA Rx channel
|
||||||
|
Should be "tx1", "tx2" ... "tx20" for DMA Tx channel
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 40
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
admaif@702d0000 {
|
||||||
|
compatible = "nvidia,tegra210-admaif";
|
||||||
|
reg = <0x702d0000 0x800>;
|
||||||
|
dmas = <&adma 1>, <&adma 1>,
|
||||||
|
<&adma 2>, <&adma 2>,
|
||||||
|
<&adma 3>, <&adma 3>,
|
||||||
|
<&adma 4>, <&adma 4>,
|
||||||
|
<&adma 5>, <&adma 5>,
|
||||||
|
<&adma 6>, <&adma 6>,
|
||||||
|
<&adma 7>, <&adma 7>,
|
||||||
|
<&adma 8>, <&adma 8>,
|
||||||
|
<&adma 9>, <&adma 9>,
|
||||||
|
<&adma 10>, <&adma 10>;
|
||||||
|
dma-names = "rx1", "tx1",
|
||||||
|
"rx2", "tx2",
|
||||||
|
"rx3", "tx3",
|
||||||
|
"rx4", "tx4",
|
||||||
|
"rx5", "tx5",
|
||||||
|
"rx6", "tx6",
|
||||||
|
"rx7", "tx7",
|
||||||
|
"rx8", "tx8",
|
||||||
|
"rx9", "tx9",
|
||||||
|
"rx10", "tx10";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
||||||
@@ -0,0 +1,136 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-ahub.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 AHUB Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Audio Hub (AHUB) comprises a collection of hardware accelerators
|
||||||
|
for audio pre-processing, post-processing and a programmable full
|
||||||
|
crossbar for routing audio data across these accelerators. It has
|
||||||
|
external interfaces such as I2S, DMIC, DSPK. It interfaces with ADMA
|
||||||
|
engine through ADMAIF.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^ahub@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra210-ahub
|
||||||
|
- nvidia,tegra186-ahub
|
||||||
|
- items:
|
||||||
|
- const: nvidia,tegra194-ahub
|
||||||
|
- const: nvidia,tegra186-ahub
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: ahub
|
||||||
|
|
||||||
|
assigned-clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
assigned-clock-parents:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
assigned-clock-rates:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#address-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
"#size-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
ranges: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- assigned-clocks
|
||||||
|
- assigned-clock-parents
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
- ranges
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include<dt-bindings/clock/tegra210-car.h>
|
||||||
|
|
||||||
|
ahub@702d0800 {
|
||||||
|
compatible = "nvidia,tegra210-ahub";
|
||||||
|
reg = <0x702d0800 0x800>;
|
||||||
|
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
|
||||||
|
clock-names = "ahub";
|
||||||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
|
||||||
|
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x702d0000 0x702d0000 0x0000e400>;
|
||||||
|
|
||||||
|
// All AHUB child nodes below
|
||||||
|
admaif@702d0000 {
|
||||||
|
compatible = "nvidia,tegra210-admaif";
|
||||||
|
reg = <0x702d0000 0x800>;
|
||||||
|
dmas = <&adma 1>, <&adma 1>,
|
||||||
|
<&adma 2>, <&adma 2>,
|
||||||
|
<&adma 3>, <&adma 3>,
|
||||||
|
<&adma 4>, <&adma 4>,
|
||||||
|
<&adma 5>, <&adma 5>,
|
||||||
|
<&adma 6>, <&adma 6>,
|
||||||
|
<&adma 7>, <&adma 7>,
|
||||||
|
<&adma 8>, <&adma 8>,
|
||||||
|
<&adma 9>, <&adma 9>,
|
||||||
|
<&adma 10>, <&adma 10>;
|
||||||
|
dma-names = "rx1", "tx1",
|
||||||
|
"rx2", "tx2",
|
||||||
|
"rx3", "tx3",
|
||||||
|
"rx4", "tx4",
|
||||||
|
"rx5", "tx5",
|
||||||
|
"rx6", "tx6",
|
||||||
|
"rx7", "tx7",
|
||||||
|
"rx8", "tx8",
|
||||||
|
"rx9", "tx9",
|
||||||
|
"rx10", "tx10";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2s@702d1000 {
|
||||||
|
compatible = "nvidia,tegra210-i2s";
|
||||||
|
reg = <0x702d1000 0x100>;
|
||||||
|
clocks = <&tegra_car TEGRA210_CLK_I2S0>;
|
||||||
|
clock-names = "i2s";
|
||||||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
|
||||||
|
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||||||
|
assigned-clock-rates = <1536000>;
|
||||||
|
sound-name-prefix = "I2S1";
|
||||||
|
};
|
||||||
|
|
||||||
|
dmic@702d4000 {
|
||||||
|
compatible = "nvidia,tegra210-dmic";
|
||||||
|
reg = <0x702d4000 0x100>;
|
||||||
|
clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
|
||||||
|
clock-names = "dmic";
|
||||||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
|
||||||
|
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||||||
|
assigned-clock-rates = <3072000>;
|
||||||
|
sound-name-prefix = "DMIC1";
|
||||||
|
};
|
||||||
|
|
||||||
|
// More child nodes to follow
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-dmic.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 DMIC Controller Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Digital MIC (DMIC) Controller is used to interface with Pulse
|
||||||
|
Density Modulation (PDM) input devices. It converts PDM signals to
|
||||||
|
Pulse Coded Modulation (PCM) signals. DMIC can be viewed as a PDM
|
||||||
|
receiver.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^dmic@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra210-dmic
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra194-dmic
|
||||||
|
- nvidia,tegra186-dmic
|
||||||
|
- const: nvidia,tegra210-dmic
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: dmic
|
||||||
|
|
||||||
|
assigned-clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
assigned-clock-parents:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
assigned-clock-rates:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^DMIC[1-9]$"
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description:
|
||||||
|
used as prefix for sink/source names of the component. Must be a
|
||||||
|
unique string among multiple instances of the same component.
|
||||||
|
The name can be "DMIC1" or "DMIC2" ... "DMICx", where x depends
|
||||||
|
on the maximum available instances on a Tegra SoC.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- assigned-clocks
|
||||||
|
- assigned-clock-parents
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include<dt-bindings/clock/tegra210-car.h>
|
||||||
|
|
||||||
|
dmic@702d4000 {
|
||||||
|
compatible = "nvidia,tegra210-dmic";
|
||||||
|
reg = <0x702d4000 0x100>;
|
||||||
|
clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
|
||||||
|
clock-names = "dmic";
|
||||||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
|
||||||
|
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||||||
|
assigned-clock-rates = <3072000>;
|
||||||
|
sound-name-prefix = "DMIC1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
||||||
101
Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml
Normal file
101
Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-i2s.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 I2S Controller Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Inter-IC Sound (I2S) controller implements full-duplex,
|
||||||
|
bi-directional and single direction point-to-point serial
|
||||||
|
interfaces. It can interface with I2S compatible devices.
|
||||||
|
I2S controller can operate both in master and slave mode.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^i2s@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra210-i2s
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra194-i2s
|
||||||
|
- nvidia,tegra186-i2s
|
||||||
|
- const: nvidia,tegra210-i2s
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
items:
|
||||||
|
- description: I2S bit clock
|
||||||
|
- description:
|
||||||
|
Sync input clock, which can act as clock source to other I/O
|
||||||
|
modules in AHUB. The Tegra I2S driver sets this clock rate as
|
||||||
|
per bit clock rate. I/O module which wants to use this clock
|
||||||
|
as source, can mention this clock as parent in the DT bindings.
|
||||||
|
This is an optional clock entry, since it is only required when
|
||||||
|
some other I/O wants to reference from a particular I2Sx
|
||||||
|
instance.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
items:
|
||||||
|
- const: i2s
|
||||||
|
- const: sync_input
|
||||||
|
|
||||||
|
assigned-clocks:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
assigned-clock-parents:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
assigned-clock-rates:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^I2S[1-9]$"
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description:
|
||||||
|
Used as prefix for sink/source names of the component. Must be a
|
||||||
|
unique string among multiple instances of the same component.
|
||||||
|
The name can be "I2S1" or "I2S2" ... "I2Sx", where x depends
|
||||||
|
on the maximum available instances on a Tegra SoC.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- assigned-clocks
|
||||||
|
- assigned-clock-parents
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include<dt-bindings/clock/tegra210-car.h>
|
||||||
|
|
||||||
|
i2s@702d1000 {
|
||||||
|
compatible = "nvidia,tegra210-i2s";
|
||||||
|
reg = <0x702d1000 0x100>;
|
||||||
|
clocks = <&tegra_car TEGRA210_CLK_I2S0>;
|
||||||
|
clock-names = "i2s";
|
||||||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
|
||||||
|
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||||||
|
assigned-clock-rates = <1536000>;
|
||||||
|
sound-name-prefix = "I2S1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
||||||
@@ -39,9 +39,9 @@ configuration of each dai. Must contain the following properties.
|
|||||||
Usage: Required for Compress offload dais
|
Usage: Required for Compress offload dais
|
||||||
Value type: <u32>
|
Value type: <u32>
|
||||||
Definition: Specifies the direction of the dai stream
|
Definition: Specifies the direction of the dai stream
|
||||||
0 for both tx and rx
|
Q6ASM_DAI_TX_RX (0) for both tx and rx
|
||||||
1 for only tx (Capture/Encode)
|
Q6ASM_DAI_TX (1) for only tx (Capture/Encode)
|
||||||
2 for only rx (Playback/Decode)
|
Q6ASM_DAI_RX (2) for only rx (Playback/Decode)
|
||||||
|
|
||||||
- is-compress-dai:
|
- is-compress-dai:
|
||||||
Usage: Required for Compress offload dais
|
Usage: Required for Compress offload dais
|
||||||
@@ -50,6 +50,7 @@ configuration of each dai. Must contain the following properties.
|
|||||||
|
|
||||||
|
|
||||||
= EXAMPLE
|
= EXAMPLE
|
||||||
|
#include <dt-bindings/sound/qcom,q6asm.h>
|
||||||
|
|
||||||
apr-service@7 {
|
apr-service@7 {
|
||||||
compatible = "qcom,q6asm";
|
compatible = "qcom,q6asm";
|
||||||
@@ -62,7 +63,7 @@ apr-service@7 {
|
|||||||
|
|
||||||
dai@0 {
|
dai@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
direction = <2>;
|
direction = <Q6ASM_DAI_RX>;
|
||||||
is-compress-dai;
|
is-compress-dai;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -43,30 +43,19 @@ properties:
|
|||||||
'#sound-dai-cells':
|
'#sound-dai-cells':
|
||||||
const: 1
|
const: 1
|
||||||
|
|
||||||
fsia,spdif-connection:
|
patternProperties:
|
||||||
|
"^fsi(a|b),spdif-connection$":
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
description: FSI is connected by S/PDIF
|
description: FSI is connected by S/PDIF
|
||||||
|
|
||||||
fsia,stream-mode-support:
|
"^fsi(a|b),stream-mode-support$":
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
description: FSI supports 16bit stream mode
|
description: FSI supports 16bit stream mode
|
||||||
|
|
||||||
fsia,use-internal-clock:
|
"^fsi(a|b),use-internal-clock$":
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
description: FSI uses internal clock when master mode
|
description: FSI uses internal clock when master mode
|
||||||
|
|
||||||
fsib,spdif-connection:
|
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
|
||||||
description: same as fsia
|
|
||||||
|
|
||||||
fsib,stream-mode-support:
|
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
|
||||||
description: same as fsia
|
|
||||||
|
|
||||||
fsib,use-internal-clock:
|
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
|
||||||
description: same as fsia
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ Required properties:
|
|||||||
- "renesas,rcar_sound-r8a774a1" (RZ/G2M)
|
- "renesas,rcar_sound-r8a774a1" (RZ/G2M)
|
||||||
- "renesas,rcar_sound-r8a774b1" (RZ/G2N)
|
- "renesas,rcar_sound-r8a774b1" (RZ/G2N)
|
||||||
- "renesas,rcar_sound-r8a774c0" (RZ/G2E)
|
- "renesas,rcar_sound-r8a774c0" (RZ/G2E)
|
||||||
|
- "renesas,rcar_sound-r8a774e1" (RZ/G2H)
|
||||||
- "renesas,rcar_sound-r8a7778" (R-Car M1A)
|
- "renesas,rcar_sound-r8a7778" (R-Car M1A)
|
||||||
- "renesas,rcar_sound-r8a7779" (R-Car H1)
|
- "renesas,rcar_sound-r8a7779" (R-Car H1)
|
||||||
- "renesas,rcar_sound-r8a7790" (R-Car H2)
|
- "renesas,rcar_sound-r8a7790" (R-Car H2)
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
* Rockchip Rk3328 internal codec
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: "rockchip,rk3328-codec"
|
|
||||||
- reg: physical base address of the controller and length of memory mapped
|
|
||||||
region.
|
|
||||||
- rockchip,grf: the phandle of the syscon node for GRF register.
|
|
||||||
- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
|
|
||||||
- clock-names: should be "pclk".
|
|
||||||
- spk-depop-time-ms: speak depop time msec.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- mute-gpios: GPIO specifier for external line driver control (typically the
|
|
||||||
dedicated GPIO_MUTE pin)
|
|
||||||
|
|
||||||
Example for rk3328 internal codec:
|
|
||||||
|
|
||||||
codec: codec@ff410000 {
|
|
||||||
compatible = "rockchip,rk3328-codec";
|
|
||||||
reg = <0x0 0xff410000 0x0 0x1000>;
|
|
||||||
rockchip,grf = <&grf>;
|
|
||||||
clocks = <&cru PCLK_ACODEC>;
|
|
||||||
clock-names = "pclk";
|
|
||||||
mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
|
|
||||||
spk-depop-time-ms = 100;
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/rockchip,rk3328-codec.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Rockchip rk3328 internal codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Heiko Stuebner <heiko@sntech.de>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: rockchip,rk3328-codec
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: clock for audio codec
|
||||||
|
- description: clock for I2S master clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: pclk
|
||||||
|
- const: mclk
|
||||||
|
|
||||||
|
rockchip,grf:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
The phandle of the syscon node for the GRF register.
|
||||||
|
|
||||||
|
spk-depop-time-ms:
|
||||||
|
default: 200
|
||||||
|
description:
|
||||||
|
Speaker depop time in msec.
|
||||||
|
|
||||||
|
mute-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
GPIO specifier for external line driver control (typically the
|
||||||
|
dedicated GPIO_MUTE pin)
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- rockchip,grf
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/clock/rk3328-cru.h>
|
||||||
|
codec: codec@ff410000 {
|
||||||
|
compatible = "rockchip,rk3328-codec";
|
||||||
|
reg = <0xff410000 0x1000>;
|
||||||
|
clocks = <&cru PCLK_ACODECPHY>, <&cru SCLK_I2S1>;
|
||||||
|
clock-names = "pclk", "mclk";
|
||||||
|
rockchip,grf = <&grf>;
|
||||||
|
mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
|
||||||
|
spk-depop-time-ms = <100>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
};
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
ROHM BD28623MUV Class D speaker amplifier for digital input
|
|
||||||
|
|
||||||
This codec does not have any control buses such as I2C, it detect format and
|
|
||||||
rate of I2S signal automatically. It has two signals that can be connected
|
|
||||||
to GPIOs: reset and mute.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : should be "rohm,bd28623"
|
|
||||||
- #sound-dai-cells: should be 0.
|
|
||||||
- VCCA-supply : regulator phandle for the VCCA supply
|
|
||||||
- VCCP1-supply : regulator phandle for the VCCP1 supply
|
|
||||||
- VCCP2-supply : regulator phandle for the VCCP2 supply
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios : GPIO specifier for the active low reset line
|
|
||||||
- mute-gpios : GPIO specifier for the active low mute line
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
codec {
|
|
||||||
compatible = "rohm,bd28623";
|
|
||||||
#sound-dai-cells = <0>;
|
|
||||||
|
|
||||||
VCCA-supply = <&vcc_reg>;
|
|
||||||
VCCP1-supply = <&vcc_reg>;
|
|
||||||
VCCP2-supply = <&vcc_reg>;
|
|
||||||
reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
|
||||||
mute-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
67
Documentation/devicetree/bindings/sound/rohm,bd28623.yaml
Normal file
67
Documentation/devicetree/bindings/sound/rohm,bd28623.yaml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/rohm,bd28623.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: ROHM BD28623MUV Class D speaker amplifier for digital input
|
||||||
|
|
||||||
|
description:
|
||||||
|
This codec does not have any control buses such as I2C, it detect
|
||||||
|
format and rate of I2S signal automatically. It has two signals
|
||||||
|
that can be connected to GPIOs reset and mute.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Katsuhiro Suzuki <katsuhiro@katsuster.net>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: rohm,bd28623
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
VCCA-supply:
|
||||||
|
description:
|
||||||
|
regulator phandle for the VCCA (for analog) power supply
|
||||||
|
|
||||||
|
VCCP1-supply:
|
||||||
|
description:
|
||||||
|
regulator phandle for the VCCP1 (for ch1) power supply
|
||||||
|
|
||||||
|
VCCP2-supply:
|
||||||
|
description:
|
||||||
|
regulator phandle for the VCCP2 (for ch2) power supply
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
GPIO specifier for the active low reset line
|
||||||
|
|
||||||
|
mute-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
GPIO specifier for the active low mute line
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- VCCA-supply
|
||||||
|
- VCCP1-supply
|
||||||
|
- VCCP2-supply
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
codec {
|
||||||
|
compatible = "rohm,bd28623";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
|
||||||
|
VCCA-supply = <&vcc_reg>;
|
||||||
|
VCCP1-supply = <&vcc_reg>;
|
||||||
|
VCCP2-supply = <&vcc_reg>;
|
||||||
|
reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
||||||
|
mute-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/samsung,aries-wm8994.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Samsung Aries audio complex with WM8994 codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Bakker <xc-racer2@live.ca>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: samsung,aries-wm8994
|
||||||
|
description: With FM radio and modem master
|
||||||
|
|
||||||
|
- const: samsung,fascinate4g-wm8994
|
||||||
|
description: Without FM radio and modem slave
|
||||||
|
|
||||||
|
model:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: The user-visible name of this sound complex.
|
||||||
|
|
||||||
|
cpu:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
sound-dai:
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
description: |
|
||||||
|
phandles to the I2S controller and bluetooth codec,
|
||||||
|
in that order
|
||||||
|
|
||||||
|
codec:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
sound-dai:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
description: phandle to the WM8994 CODEC
|
||||||
|
|
||||||
|
samsung,audio-routing:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
description: |
|
||||||
|
List of the connections between audio
|
||||||
|
components; each entry is a pair of strings, the first being the
|
||||||
|
connection's sink, the second being the connection's source;
|
||||||
|
valid names for sources and sinks are the WM8994's pins (as
|
||||||
|
documented in its binding), and the jacks on the board -
|
||||||
|
For samsung,aries-wm8994: HP, SPK, RCV, LINE, Main Mic, Headset Mic,
|
||||||
|
or FM In
|
||||||
|
For samsung,fascinate4g-wm8994: HP, SPK, RCV, LINE, Main Mic,
|
||||||
|
or HeadsetMic
|
||||||
|
|
||||||
|
extcon:
|
||||||
|
description: Extcon phandle for dock detection
|
||||||
|
|
||||||
|
main-micbias-supply:
|
||||||
|
description: Supply for the micbias on the main mic
|
||||||
|
|
||||||
|
headset-micbias-supply:
|
||||||
|
description: Supply for the micbias on the headset mic
|
||||||
|
|
||||||
|
earpath-sel-gpios:
|
||||||
|
description: GPIO for switching between tv-out and mic paths
|
||||||
|
|
||||||
|
headset-detect-gpios:
|
||||||
|
description: GPIO for detection of headset insertion
|
||||||
|
|
||||||
|
headset-key-gpios:
|
||||||
|
description: GPIO for detection of headset key press
|
||||||
|
|
||||||
|
io-channels:
|
||||||
|
maxItems: 1
|
||||||
|
description: IO channel to read micbias voltage for headset detection
|
||||||
|
|
||||||
|
io-channel-names:
|
||||||
|
const: headset-detect
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- model
|
||||||
|
- cpu
|
||||||
|
- codec
|
||||||
|
- samsung,audio-routing
|
||||||
|
- extcon
|
||||||
|
- main-micbias-supply
|
||||||
|
- headset-micbias-supply
|
||||||
|
- earpath-sel-gpios
|
||||||
|
- headset-detect-gpios
|
||||||
|
- headset-key-gpios
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
sound {
|
||||||
|
compatible = "samsung,fascinate4g-wm8994";
|
||||||
|
|
||||||
|
model = "Fascinate4G";
|
||||||
|
|
||||||
|
extcon = <&fsa9480>;
|
||||||
|
|
||||||
|
main-micbias-supply = <&main_micbias_reg>;
|
||||||
|
headset-micbias-supply = <&headset_micbias_reg>;
|
||||||
|
|
||||||
|
earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
|
io-channels = <&adc 3>;
|
||||||
|
io-channel-names = "headset-detect";
|
||||||
|
headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
|
samsung,audio-routing =
|
||||||
|
"HP", "HPOUT1L",
|
||||||
|
"HP", "HPOUT1R",
|
||||||
|
|
||||||
|
"SPK", "SPKOUTLN",
|
||||||
|
"SPK", "SPKOUTLP",
|
||||||
|
|
||||||
|
"RCV", "HPOUT2N",
|
||||||
|
"RCV", "HPOUT2P",
|
||||||
|
|
||||||
|
"LINE", "LINEOUT2N",
|
||||||
|
"LINE", "LINEOUT2P",
|
||||||
|
|
||||||
|
"IN1LP", "Main Mic",
|
||||||
|
"IN1LN", "Main Mic",
|
||||||
|
|
||||||
|
"IN1RP", "Headset Mic",
|
||||||
|
"IN1RN", "Headset Mic";
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&headset_det &earpath_sel>;
|
||||||
|
|
||||||
|
cpu {
|
||||||
|
sound-dai = <&i2s0>, <&bt_codec>;
|
||||||
|
};
|
||||||
|
|
||||||
|
codec {
|
||||||
|
sound-dai = <&wm8994>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
108
Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
Normal file
108
Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/samsung,midas-audio.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Samsung Midas audio complex with WM1811 codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: samsung,midas-audio
|
||||||
|
|
||||||
|
model:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: The user-visible name of this sound complex.
|
||||||
|
|
||||||
|
cpu:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
sound-dai:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: phandle to the I2S controller
|
||||||
|
required:
|
||||||
|
- sound-dai
|
||||||
|
|
||||||
|
codec:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
sound-dai:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: phandle to the WM1811 CODEC
|
||||||
|
required:
|
||||||
|
- sound-dai
|
||||||
|
|
||||||
|
samsung,audio-routing:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
description: |
|
||||||
|
List of the connections between audio components; each entry is
|
||||||
|
a pair of strings, the first being the connection's sink, the second
|
||||||
|
being the connection's source; valid names for sources and sinks are
|
||||||
|
the WM1811's pins (as documented in its binding), and the jacks
|
||||||
|
on the board: HP, SPK, Main Mic, Sub Mic, Headset Mic.
|
||||||
|
|
||||||
|
mic-bias-supply:
|
||||||
|
description: Supply for the micbias on the Main microphone
|
||||||
|
|
||||||
|
submic-bias-supply:
|
||||||
|
description: Supply for the micbias on the Sub microphone
|
||||||
|
|
||||||
|
fm-sel-gpios:
|
||||||
|
description: GPIO pin for FM selection
|
||||||
|
|
||||||
|
lineout-sel-gpios:
|
||||||
|
description: GPIO pin for line out selection
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- model
|
||||||
|
- cpu
|
||||||
|
- codec
|
||||||
|
- samsung,audio-routing
|
||||||
|
- mic-bias-supply
|
||||||
|
- submic-bias-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
sound {
|
||||||
|
compatible = "samsung,midas-audio";
|
||||||
|
model = "Midas";
|
||||||
|
|
||||||
|
fm-sel-gpios = <&gpaa0 3 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
|
mic-bias-supply = <&mic_bias_reg>;
|
||||||
|
submic-bias-supply = <&submic_bias_reg>;
|
||||||
|
|
||||||
|
samsung,audio-routing =
|
||||||
|
"HP", "HPOUT1L",
|
||||||
|
"HP", "HPOUT1R",
|
||||||
|
|
||||||
|
"SPK", "SPKOUTLN",
|
||||||
|
"SPK", "SPKOUTLP",
|
||||||
|
"SPK", "SPKOUTRN",
|
||||||
|
"SPK", "SPKOUTRP",
|
||||||
|
|
||||||
|
"RCV", "HPOUT2N",
|
||||||
|
"RCV", "HPOUT2P",
|
||||||
|
|
||||||
|
"IN1LP", "Main Mic",
|
||||||
|
"IN1LN", "Main Mic",
|
||||||
|
"IN1RP", "Sub Mic",
|
||||||
|
"IN1LP", "Sub Mic";
|
||||||
|
|
||||||
|
cpu {
|
||||||
|
sound-dai = <&i2s0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
codec {
|
||||||
|
sound-dai = <&wm1811>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
* Freescale SGTL5000 Stereo Codec
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "fsl,sgtl5000".
|
|
||||||
|
|
||||||
- reg : the I2C address of the device
|
|
||||||
|
|
||||||
- #sound-dai-cells: must be equal to 0
|
|
||||||
|
|
||||||
- clocks : the clock provider of SYS_MCLK
|
|
||||||
|
|
||||||
- VDDA-supply : the regulator provider of VDDA
|
|
||||||
|
|
||||||
- VDDIO-supply: the regulator provider of VDDIO
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- VDDD-supply : the regulator provider of VDDD
|
|
||||||
|
|
||||||
- micbias-resistor-k-ohms : the bias resistor to be used in kOhms
|
|
||||||
The resistor can take values of 2k, 4k or 8k.
|
|
||||||
If set to 0 it will be off.
|
|
||||||
If this node is not mentioned or if the value is unknown, then
|
|
||||||
micbias resistor is set to 4K.
|
|
||||||
|
|
||||||
- micbias-voltage-m-volts : the bias voltage to be used in mVolts
|
|
||||||
The voltage can take values from 1.25V to 3V by 250mV steps
|
|
||||||
If this node is not mentioned or the value is unknown, then
|
|
||||||
the value is set to 1.25V.
|
|
||||||
|
|
||||||
- lrclk-strength: the LRCLK pad strength. Possible values are:
|
|
||||||
0, 1, 2 and 3 as per the table below:
|
|
||||||
|
|
||||||
VDDIO 1.8V 2.5V 3.3V
|
|
||||||
0 = Disable
|
|
||||||
1 = 1.66 mA 2.87 mA 4.02 mA
|
|
||||||
2 = 3.33 mA 5.74 mA 8.03 mA
|
|
||||||
3 = 4.99 mA 8.61 mA 12.05 mA
|
|
||||||
|
|
||||||
- sclk-strength: the SCLK pad strength. Possible values are:
|
|
||||||
0, 1, 2 and 3 as per the table below:
|
|
||||||
|
|
||||||
VDDIO 1.8V 2.5V 3.3V
|
|
||||||
0 = Disable
|
|
||||||
1 = 1.66 mA 2.87 mA 4.02 mA
|
|
||||||
2 = 3.33 mA 5.74 mA 8.03 mA
|
|
||||||
3 = 4.99 mA 8.61 mA 12.05 mA
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
sgtl5000: codec@a {
|
|
||||||
compatible = "fsl,sgtl5000";
|
|
||||||
reg = <0x0a>;
|
|
||||||
#sound-dai-cells = <0>;
|
|
||||||
clocks = <&clks 150>;
|
|
||||||
micbias-resistor-k-ohms = <2>;
|
|
||||||
micbias-voltage-m-volts = <2250>;
|
|
||||||
VDDA-supply = <®_3p3v>;
|
|
||||||
VDDIO-supply = <®_3p3v>;
|
|
||||||
};
|
|
||||||
103
Documentation/devicetree/bindings/sound/sgtl5000.yaml
Normal file
103
Documentation/devicetree/bindings/sound/sgtl5000.yaml
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/sgtl5000.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Freescale SGTL5000 Stereo Codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Fabio Estevam <festevam@gmail.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: fsl,sgtl5000
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: the clock provider of SYS_MCLK
|
||||||
|
|
||||||
|
VDDA-supply:
|
||||||
|
description: the regulator provider of VDDA
|
||||||
|
|
||||||
|
VDDIO-supply:
|
||||||
|
description: the regulator provider of VDDIO
|
||||||
|
|
||||||
|
VDDD-supply:
|
||||||
|
description: the regulator provider of VDDD
|
||||||
|
|
||||||
|
micbias-resistor-k-ohms:
|
||||||
|
description: The bias resistor to be used in kOhms. The resistor can take
|
||||||
|
values of 2k, 4k or 8k. If set to 0 it will be off. If this node is not
|
||||||
|
mentioned or if the value is unknown, then micbias resistor is set to
|
||||||
|
4k.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
enum: [ 0, 2, 4, 8 ]
|
||||||
|
|
||||||
|
micbias-voltage-m-volts:
|
||||||
|
description: The bias voltage to be used in mVolts. The voltage can take
|
||||||
|
values from 1.25V to 3V by 250mV steps. If this node is not mentioned
|
||||||
|
or the value is unknown, then the value is set to 1.25V.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
enum: [ 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000 ]
|
||||||
|
|
||||||
|
lrclk-strength:
|
||||||
|
description: |
|
||||||
|
The LRCLK pad strength. Possible values are: 0, 1, 2 and 3 as per the
|
||||||
|
table below:
|
||||||
|
|
||||||
|
VDDIO 1.8V 2.5V 3.3V
|
||||||
|
0 = Disable
|
||||||
|
1 = 1.66 mA 2.87 mA 4.02 mA
|
||||||
|
2 = 3.33 mA 5.74 mA 8.03 mA
|
||||||
|
3 = 4.99 mA 8.61 mA 12.05 mA
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
enum: [ 0, 1, 2, 3 ]
|
||||||
|
|
||||||
|
sclk-strength:
|
||||||
|
description: |
|
||||||
|
The SCLK pad strength. Possible values are: 0, 1, 2 and 3 as per the
|
||||||
|
table below:
|
||||||
|
|
||||||
|
VDDIO 1.8V 2.5V 3.3V
|
||||||
|
0 = Disable
|
||||||
|
1 = 1.66 mA 2.87 mA 4.02 mA
|
||||||
|
2 = 3.33 mA 5.74 mA 8.03 mA
|
||||||
|
3 = 4.99 mA 8.61 mA 12.05 mA
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
enum: [ 0, 1, 2, 3 ]
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- clocks
|
||||||
|
- VDDA-supply
|
||||||
|
- VDDIO-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
codec@a {
|
||||||
|
compatible = "fsl,sgtl5000";
|
||||||
|
reg = <0x0a>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
clocks = <&clks 150>;
|
||||||
|
micbias-resistor-k-ohms = <2>;
|
||||||
|
micbias-voltage-m-volts = <2250>;
|
||||||
|
VDDA-supply = <®_3p3v>;
|
||||||
|
VDDIO-supply = <®_3p3v>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/socionext,uniphier-aio.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: UniPhier AIO audio system
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- <alsa-devel@alsa-project.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- socionext,uniphier-ld11-aio
|
||||||
|
- socionext,uniphier-ld20-aio
|
||||||
|
- socionext,uniphier-pxs2-aio
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: aio
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
const: aio
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
socionext,syscon:
|
||||||
|
description: |
|
||||||
|
Specifies a phandle to soc-glue, which is used for changing mode of S/PDIF
|
||||||
|
signal pin to output from Hi-Z. This property is optional if you use I2S
|
||||||
|
signal pins only.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^port@[0-9]$":
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
endpoint: true
|
||||||
|
required:
|
||||||
|
- endpoint
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clock-names
|
||||||
|
- clocks
|
||||||
|
- reset-names
|
||||||
|
- resets
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
audio@56000000 {
|
||||||
|
compatible = "socionext,uniphier-ld20-aio";
|
||||||
|
reg = <0x56000000 0x80000>;
|
||||||
|
interrupts = <0 144 4>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_aout>;
|
||||||
|
clock-names = "aio";
|
||||||
|
clocks = <&sys_clk 40>;
|
||||||
|
reset-names = "aio";
|
||||||
|
resets = <&sys_rst 40>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
socionext,syscon = <&soc_glue>;
|
||||||
|
};
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/socionext,uniphier-evea.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: UniPhier EVEA SoC-internal sound codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- <alsa-devel@alsa-project.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: socionext,uniphier-evea
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: evea
|
||||||
|
- const: exiv
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
items:
|
||||||
|
- const: evea
|
||||||
|
- const: exiv
|
||||||
|
- const: adamv
|
||||||
|
|
||||||
|
resets:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^port@[0-9]$":
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
endpoint: true
|
||||||
|
required:
|
||||||
|
- endpoint
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clock-names
|
||||||
|
- clocks
|
||||||
|
- reset-names
|
||||||
|
- resets
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
codec@57900000 {
|
||||||
|
compatible = "socionext,uniphier-evea";
|
||||||
|
reg = <0x57900000 0x1000>;
|
||||||
|
clock-names = "evea", "exiv";
|
||||||
|
clocks = <&sys_clk 41>, <&sys_clk 42>;
|
||||||
|
reset-names = "evea", "exiv", "adamv";
|
||||||
|
resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
};
|
||||||
@@ -33,4 +33,4 @@ tas2552: tas2552@41 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
For more product information please see the link below:
|
For more product information please see the link below:
|
||||||
http://www.ti.com/product/TAS2552
|
https://www.ti.com/product/TAS2552
|
||||||
|
|||||||
@@ -11,12 +11,14 @@ Required properties:
|
|||||||
- compatible: - Should contain "ti,tas2562", "ti,tas2563".
|
- compatible: - Should contain "ti,tas2562", "ti,tas2563".
|
||||||
- reg: - The i2c address. Should be 0x4c, 0x4d, 0x4e or 0x4f.
|
- reg: - The i2c address. Should be 0x4c, 0x4d, 0x4e or 0x4f.
|
||||||
- ti,imon-slot-no:- TDM TX current sense time slot.
|
- ti,imon-slot-no:- TDM TX current sense time slot.
|
||||||
|
- ti,vmon-slot-no:- TDM TX voltage sense time slot. This slot must always be
|
||||||
|
greater then ti,imon-slot-no.
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
- interrupt-parent: phandle to the interrupt controller which provides
|
- interrupt-parent: phandle to the interrupt controller which provides
|
||||||
the interrupt.
|
the interrupt.
|
||||||
- interrupts: (GPIO) interrupt to which the chip is connected.
|
- interrupts: (GPIO) interrupt to which the chip is connected.
|
||||||
- shut-down: GPIO used to control the state of the device.
|
- shut-down-gpio: GPIO used to control the state of the device.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
tas2562@4c {
|
tas2562@4c {
|
||||||
@@ -28,7 +30,8 @@ tas2562@4c {
|
|||||||
interrupt-parent = <&gpio1>;
|
interrupt-parent = <&gpio1>;
|
||||||
interrupts = <14>;
|
interrupts = <14>;
|
||||||
|
|
||||||
shut-down = <&gpio1 15 0>;
|
shut-down-gpio = <&gpio1 15 0>;
|
||||||
ti,imon-slot-no = <0>;
|
ti,imon-slot-no = <0>;
|
||||||
|
ti,vmon-slot-no = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
69
Documentation/devicetree/bindings/sound/tas2562.yaml
Normal file
69
Documentation/devicetree/bindings/sound/tas2562.yaml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
# Copyright (C) 2019 Texas Instruments Incorporated
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/sound/tas2562.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Texas Instruments TAS2562 Smart PA
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Dan Murphy <dmurphy@ti.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The TAS2562 is a mono, digital input Class-D audio amplifier optimized for
|
||||||
|
efficiently driving high peak power into small loudspeakers.
|
||||||
|
Integrated speaker voltage and current sense provides for
|
||||||
|
real time monitoring of loudspeaker behavior.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,tas2562
|
||||||
|
- ti,tas2563
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
I2C address of the device can be one of these 0x4c, 0x4d, 0x4e or 0x4f
|
||||||
|
|
||||||
|
shut-down-gpios:
|
||||||
|
description: GPIO used to control the state of the device.
|
||||||
|
deprecated: true
|
||||||
|
|
||||||
|
shutdown-gpios:
|
||||||
|
description: GPIO used to control the state of the device.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
ti,imon-slot-no:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: TDM TX current sense time slot.
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec: codec@4c {
|
||||||
|
compatible = "ti,tas2562";
|
||||||
|
reg = <0x4c>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <14>;
|
||||||
|
shutdown-gpios = <&gpio1 15 0>;
|
||||||
|
ti,imon-slot-no = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
Texas Instruments TAS2770 Smart PA
|
|
||||||
|
|
||||||
The TAS2770 is a mono, digital input Class-D audio amplifier optimized for
|
|
||||||
efficiently driving high peak power into small loudspeakers.
|
|
||||||
Integrated speaker voltage and current sense provides for
|
|
||||||
real time monitoring of loudspeaker behavior.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: - Should contain "ti,tas2770".
|
|
||||||
- reg: - The i2c address. Should contain <0x4c>, <0x4d>,<0x4e>, or <0x4f>.
|
|
||||||
- #address-cells - Should be <1>.
|
|
||||||
- #size-cells - Should be <0>.
|
|
||||||
- ti,asi-format: - Sets TDM RX capture edge. 0->Rising; 1->Falling.
|
|
||||||
- ti,imon-slot-no:- TDM TX current sense time slot.
|
|
||||||
- ti,vmon-slot-no:- TDM TX voltage sense time slot.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- interrupt-parent: the phandle to the interrupt controller which provides
|
|
||||||
the interrupt.
|
|
||||||
- interrupts: interrupt specification for data-ready.
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
tas2770@4c {
|
|
||||||
compatible = "ti,tas2770";
|
|
||||||
reg = <0x4c>;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
interrupt-parent = <&msm_gpio>;
|
|
||||||
interrupts = <97 0>;
|
|
||||||
ti,asi-format = <0>;
|
|
||||||
ti,imon-slot-no = <0>;
|
|
||||||
ti,vmon-slot-no = <2>;
|
|
||||||
};
|
|
||||||
|
|
||||||
76
Documentation/devicetree/bindings/sound/tas2770.yaml
Normal file
76
Documentation/devicetree/bindings/sound/tas2770.yaml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
# Copyright (C) 2019-20 Texas Instruments Incorporated
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/sound/tas2770.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Texas Instruments TAS2770 Smart PA
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Shi Fu <shifu0704@thundersoft.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The TAS2770 is a mono, digital input Class-D audio amplifier optimized for
|
||||||
|
efficiently driving high peak power into small loudspeakers.
|
||||||
|
Integrated speaker voltage and current sense provides for
|
||||||
|
real time monitoring of loudspeaker behavior.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,tas2770
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
I2C address of the device can be one of these 0x4c, 0x4d, 0x4e or 0x4f
|
||||||
|
|
||||||
|
reset-gpio:
|
||||||
|
description: GPIO used to reset the device.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
ti,imon-slot-no:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: TDM TX current sense time slot.
|
||||||
|
|
||||||
|
ti,vmon-slot-no:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: TDM TX voltage sense time slot.
|
||||||
|
|
||||||
|
ti,asi-format:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Sets TDM RX capture edge.
|
||||||
|
enum:
|
||||||
|
- 0 # Rising edge
|
||||||
|
- 1 # Falling edge
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec: codec@4c {
|
||||||
|
compatible = "ti,tas2770";
|
||||||
|
reg = <0x4c>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <14>;
|
||||||
|
reset-gpio = <&gpio1 15 0>;
|
||||||
|
ti,imon-slot-no = <0>;
|
||||||
|
ti,vmon-slot-no = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
@@ -4,9 +4,9 @@ The TAS5720 serial control bus communicates through the I2C protocol only. The
|
|||||||
serial bus is also used for periodic codec fault checking/reporting during
|
serial bus is also used for periodic codec fault checking/reporting during
|
||||||
audio playback. For more product information please see the links below:
|
audio playback. For more product information please see the links below:
|
||||||
|
|
||||||
http://www.ti.com/product/TAS5720L
|
https://www.ti.com/product/TAS5720L
|
||||||
http://www.ti.com/product/TAS5720M
|
https://www.ti.com/product/TAS5720M
|
||||||
http://www.ti.com/product/TAS5722L
|
https://www.ti.com/product/TAS5722L
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,95 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/ti,j721e-cpb-audio.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments J721e Common Processor Board Audio Support
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Peter Ujfalusi <peter.ujfalusi@ti.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The audio support on the board is using pcm3168a codec connected to McASP10
|
||||||
|
serializers in parallel setup.
|
||||||
|
The pcm3168a SCKI clock is sourced from j721e AUDIO_REFCLK2 pin.
|
||||||
|
In order to support 48KHz and 44.1KHz family of sampling rates the parent
|
||||||
|
clock for AUDIO_REFCLK2 needs to be changed between PLL4 (for 48KHz) and
|
||||||
|
PLL15 (for 44.1KHz). The same PLLs are used for McASP10's AUXCLK clock via
|
||||||
|
different HSDIVIDER.
|
||||||
|
|
||||||
|
Clocking setup for 48KHz family:
|
||||||
|
PLL4 ---> PLL4_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
|
||||||
|
|-> PLL4_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI
|
||||||
|
|
||||||
|
Clocking setup for 44.1KHz family:
|
||||||
|
PLL15 ---> PLL15_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
|
||||||
|
|-> PLL15_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- const: ti,j721e-cpb-audio
|
||||||
|
|
||||||
|
model:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: User specified audio sound card name
|
||||||
|
|
||||||
|
ti,cpb-mcasp:
|
||||||
|
description: phandle to McASP used on CPB
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
ti,cpb-codec:
|
||||||
|
description: phandle to the pcm3168a codec used on the CPB
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: AUXCLK clock for McASP used by CPB audio
|
||||||
|
- description: Parent for CPB_McASP auxclk (for 48KHz)
|
||||||
|
- description: Parent for CPB_McASP auxclk (for 44.1KHz)
|
||||||
|
- description: SCKI clock for the pcm3168a codec on CPB
|
||||||
|
- description: Parent for CPB_SCKI clock (for 48KHz)
|
||||||
|
- description: Parent for CPB_SCKI clock (for 44.1KHz)
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: cpb-mcasp-auxclk
|
||||||
|
- const: cpb-mcasp-auxclk-48000
|
||||||
|
- const: cpb-mcasp-auxclk-44100
|
||||||
|
- const: cpb-codec-scki
|
||||||
|
- const: cpb-codec-scki-48000
|
||||||
|
- const: cpb-codec-scki-44100
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- model
|
||||||
|
- ti,cpb-mcasp
|
||||||
|
- ti,cpb-codec
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |+
|
||||||
|
sound {
|
||||||
|
compatible = "ti,j721e-cpb-audio";
|
||||||
|
model = "j721e-cpb";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ti,cpb-mcasp = <&mcasp10>;
|
||||||
|
ti,cpb-codec = <&pcm3168a_1>;
|
||||||
|
|
||||||
|
clocks = <&k3_clks 184 1>,
|
||||||
|
<&k3_clks 184 2>, <&k3_clks 184 4>,
|
||||||
|
<&k3_clks 157 371>,
|
||||||
|
<&k3_clks 157 400>, <&k3_clks 157 401>;
|
||||||
|
clock-names = "cpb-mcasp-auxclk",
|
||||||
|
"cpb-mcasp-auxclk-48000", "cpb-mcasp-auxclk-44100",
|
||||||
|
"cpb-codec-scki",
|
||||||
|
"cpb-codec-scki-48000", "cpb-codec-scki-44100";
|
||||||
|
};
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/ti,j721e-cpb-ivi-audio.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments J721e Common Processor Board Audio Support
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Peter Ujfalusi <peter.ujfalusi@ti.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Infotainment board plugs into the Common Processor Board, the support of the
|
||||||
|
extension board is extending the CPB audio support, decribed in:
|
||||||
|
sound/ti,j721e-cpb-audio.txt
|
||||||
|
|
||||||
|
The audio support on the Infotainment Expansion Board consists of McASP0
|
||||||
|
connected to two pcm3168a codecs with dedicated set of serializers to each.
|
||||||
|
The SCKI for pcm3168a is sourced from j721e AUDIO_REFCLK0 pin.
|
||||||
|
|
||||||
|
In order to support 48KHz and 44.1KHz family of sampling rates the parent clock
|
||||||
|
for AUDIO_REFCLK0 needs to be changed between PLL4 (for 48KHz) and PLL15 (for
|
||||||
|
44.1KHz). The same PLLs are used for McASP0's AUXCLK clock via different
|
||||||
|
HSDIVIDER.
|
||||||
|
|
||||||
|
Note: the same PLL4 and PLL15 is used by the audio support on the CPB!
|
||||||
|
|
||||||
|
Clocking setup for 48KHz family:
|
||||||
|
PLL4 ---> PLL4_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
|
||||||
|
| |-> MCASP0_AUXCLK ---> McASP0.auxclk
|
||||||
|
|
|
||||||
|
|-> PLL4_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI
|
||||||
|
|-> AUDIO_REFCLK0 ---> pcm3168a_a/b.SCKI
|
||||||
|
|
||||||
|
Clocking setup for 44.1KHz family:
|
||||||
|
PLL15 ---> PLL15_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
|
||||||
|
| |-> MCASP0_AUXCLK ---> McASP0.auxclk
|
||||||
|
|
|
||||||
|
|-> PLL15_HSDIV2 ---> AUDIO_REFCLK2 ---> pcm3168a.SCKI
|
||||||
|
|-> AUDIO_REFCLK0 ---> pcm3168a_a/b.SCKI
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- const: ti,j721e-cpb-ivi-audio
|
||||||
|
|
||||||
|
model:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: User specified audio sound card name
|
||||||
|
|
||||||
|
ti,cpb-mcasp:
|
||||||
|
description: phandle to McASP used on CPB
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
ti,cpb-codec:
|
||||||
|
description: phandle to the pcm3168a codec used on the CPB
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
ti,ivi-mcasp:
|
||||||
|
description: phandle to McASP used on IVI
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
ti,ivi-codec-a:
|
||||||
|
description: phandle to the pcm3168a-A codec on the expansion board
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
ti,ivi-codec-b:
|
||||||
|
description: phandle to the pcm3168a-B codec on the expansion board
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: AUXCLK clock for McASP used by CPB audio
|
||||||
|
- description: Parent for CPB_McASP auxclk (for 48KHz)
|
||||||
|
- description: Parent for CPB_McASP auxclk (for 44.1KHz)
|
||||||
|
- description: SCKI clock for the pcm3168a codec on CPB
|
||||||
|
- description: Parent for CPB_SCKI clock (for 48KHz)
|
||||||
|
- description: Parent for CPB_SCKI clock (for 44.1KHz)
|
||||||
|
- description: AUXCLK clock for McASP used by IVI audio
|
||||||
|
- description: Parent for IVI_McASP auxclk (for 48KHz)
|
||||||
|
- description: Parent for IVI_McASP auxclk (for 44.1KHz)
|
||||||
|
- description: SCKI clock for the pcm3168a codec on IVI
|
||||||
|
- description: Parent for IVI_SCKI clock (for 48KHz)
|
||||||
|
- description: Parent for IVI_SCKI clock (for 44.1KHz)
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: cpb-mcasp-auxclk
|
||||||
|
- const: cpb-mcasp-auxclk-48000
|
||||||
|
- const: cpb-mcasp-auxclk-44100
|
||||||
|
- const: cpb-codec-scki
|
||||||
|
- const: cpb-codec-scki-48000
|
||||||
|
- const: cpb-codec-scki-44100
|
||||||
|
- const: ivi-mcasp-auxclk
|
||||||
|
- const: ivi-mcasp-auxclk-48000
|
||||||
|
- const: ivi-mcasp-auxclk-44100
|
||||||
|
- const: ivi-codec-scki
|
||||||
|
- const: ivi-codec-scki-48000
|
||||||
|
- const: ivi-codec-scki-44100
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- model
|
||||||
|
- ti,cpb-mcasp
|
||||||
|
- ti,cpb-codec
|
||||||
|
- ti,ivi-mcasp
|
||||||
|
- ti,ivi-codec-a
|
||||||
|
- ti,ivi-codec-b
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |+
|
||||||
|
sound {
|
||||||
|
compatible = "ti,j721e-cpb-ivi-audio";
|
||||||
|
model = "j721e-cpb-ivi";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ti,cpb-mcasp = <&mcasp10>;
|
||||||
|
ti,cpb-codec = <&pcm3168a_1>;
|
||||||
|
|
||||||
|
ti,ivi-mcasp = <&mcasp0>;
|
||||||
|
ti,ivi-codec-a = <&pcm3168a_a>;
|
||||||
|
ti,ivi-codec-b = <&pcm3168a_b>;
|
||||||
|
|
||||||
|
clocks = <&k3_clks 184 1>,
|
||||||
|
<&k3_clks 184 2>, <&k3_clks 184 4>,
|
||||||
|
<&k3_clks 157 371>,
|
||||||
|
<&k3_clks 157 400>, <&k3_clks 157 401>,
|
||||||
|
<&k3_clks 174 1>,
|
||||||
|
<&k3_clks 174 2>, <&k3_clks 174 4>,
|
||||||
|
<&k3_clks 157 301>,
|
||||||
|
<&k3_clks 157 330>, <&k3_clks 157 331>;
|
||||||
|
clock-names = "cpb-mcasp-auxclk",
|
||||||
|
"cpb-mcasp-auxclk-48000", "cpb-mcasp-auxclk-44100",
|
||||||
|
"cpb-codec-scki",
|
||||||
|
"cpb-codec-scki-48000", "cpb-codec-scki-44100",
|
||||||
|
"ivi-mcasp-auxclk",
|
||||||
|
"ivi-mcasp-auxclk-48000", "ivi-mcasp-auxclk-44100",
|
||||||
|
"ivi-codec-scki",
|
||||||
|
"ivi-codec-scki-48000", "ivi-codec-scki-44100";
|
||||||
|
};
|
||||||
@@ -19,4 +19,4 @@ tas6424: tas6424@6a {
|
|||||||
};
|
};
|
||||||
|
|
||||||
For more product information please see the link below:
|
For more product information please see the link below:
|
||||||
http://www.ti.com/product/TAS6424-Q1
|
https://www.ti.com/product/TAS6424-Q1
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ description: |
|
|||||||
microphone bias or supply voltage generation.
|
microphone bias or supply voltage generation.
|
||||||
|
|
||||||
Specifications can be found at:
|
Specifications can be found at:
|
||||||
http://www.ti.com/lit/ds/symlink/tlv320adc3140.pdf
|
https://www.ti.com/lit/ds/symlink/tlv320adc3140.pdf
|
||||||
http://www.ti.com/lit/ds/symlink/tlv320adc5140.pdf
|
https://www.ti.com/lit/ds/symlink/tlv320adc5140.pdf
|
||||||
http://www.ti.com/lit/ds/symlink/tlv320adc6140.pdf
|
https://www.ti.com/lit/ds/symlink/tlv320adc6140.pdf
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@@ -108,6 +108,32 @@ properties:
|
|||||||
maximum: 7
|
maximum: 7
|
||||||
default: [0, 0, 0, 0]
|
default: [0, 0, 0, 0]
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^ti,gpo-config-[1-4]$':
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description: |
|
||||||
|
Defines the configuration and output driver for the general purpose
|
||||||
|
output pins (GPO). These values are pairs, the first value is for the
|
||||||
|
configuration type and the second value is for the output drive type.
|
||||||
|
The array is defined as <GPO_CFG GPO_DRV>
|
||||||
|
|
||||||
|
GPO output configuration can be one of the following:
|
||||||
|
|
||||||
|
0 - (default) disabled
|
||||||
|
1 - GPOX is configured as a general-purpose output (GPO)
|
||||||
|
2 - GPOX is configured as a device interrupt output (IRQ)
|
||||||
|
3 - GPOX is configured as a secondary ASI output (SDOUT2)
|
||||||
|
4 - GPOX is configured as a PDM clock output (PDMCLK)
|
||||||
|
|
||||||
|
GPO output drive configuration for the GPO pins can be one of the following:
|
||||||
|
|
||||||
|
0d - (default) Hi-Z output
|
||||||
|
1d - Drive active low and active high
|
||||||
|
2d - Drive active low and weak high
|
||||||
|
3d - Drive active low and Hi-Z
|
||||||
|
4d - Drive weak low and active high
|
||||||
|
5d - Drive Hi-Z and active high
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
@@ -124,6 +150,8 @@ examples:
|
|||||||
ti,mic-bias-source = <6>;
|
ti,mic-bias-source = <6>;
|
||||||
ti,pdm-edge-select = <0 1 0 1>;
|
ti,pdm-edge-select = <0 1 0 1>;
|
||||||
ti,gpi-config = <4 5 6 7>;
|
ti,gpi-config = <4 5 6 7>;
|
||||||
|
ti,gpo-config-1 = <0 0>;
|
||||||
|
ti,gpo-config-2 = <0 0>;
|
||||||
reset-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
|
reset-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
Socionext UniPhier SoC audio driver
|
|
||||||
|
|
||||||
The Socionext UniPhier audio subsystem consists of I2S and S/PDIF blocks in
|
|
||||||
the same register space.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : should be one of the following:
|
|
||||||
"socionext,uniphier-ld11-aio"
|
|
||||||
"socionext,uniphier-ld20-aio"
|
|
||||||
"socionext,uniphier-pxs2-aio"
|
|
||||||
- reg : offset and length of the register set for the device.
|
|
||||||
- interrupts : should contain I2S or S/PDIF interrupt.
|
|
||||||
- pinctrl-names : should be "default".
|
|
||||||
- pinctrl-0 : defined I2S signal pins for an external codec chip.
|
|
||||||
- clock-names : should include following entries:
|
|
||||||
"aio"
|
|
||||||
- clocks : a list of phandle, should contain an entry for each
|
|
||||||
entry in clock-names.
|
|
||||||
- reset-names : should include following entries:
|
|
||||||
"aio"
|
|
||||||
- resets : a list of phandle, should contain an entry for each
|
|
||||||
entry in reset-names.
|
|
||||||
- #sound-dai-cells: should be 1.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- socionext,syscon: a phandle, should contain soc-glue.
|
|
||||||
The soc-glue is used for changing mode of S/PDIF signal pin
|
|
||||||
to Output from Hi-Z. This property is optional if you use
|
|
||||||
I2S signal pins only.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
audio {
|
|
||||||
compatible = "socionext,uniphier-ld20-aio";
|
|
||||||
reg = <0x56000000 0x80000>;
|
|
||||||
interrupts = <0 144 4>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pinctrl_aout>;
|
|
||||||
clock-names = "aio";
|
|
||||||
clocks = <&sys_clk 40>;
|
|
||||||
reset-names = "aio";
|
|
||||||
resets = <&sys_rst 40>;
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
|
|
||||||
socionext,syscon = <&sg>;
|
|
||||||
};
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
Socionext EVEA - UniPhier SoC internal codec driver
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : should be "socionext,uniphier-evea".
|
|
||||||
- reg : offset and length of the register set for the device.
|
|
||||||
- clock-names : should include following entries:
|
|
||||||
"evea", "exiv"
|
|
||||||
- clocks : a list of phandle, should contain an entry for each
|
|
||||||
entries in clock-names.
|
|
||||||
- reset-names : should include following entries:
|
|
||||||
"evea", "exiv", "adamv"
|
|
||||||
- resets : a list of phandle, should contain reset entries of
|
|
||||||
reset-names.
|
|
||||||
- #sound-dai-cells: should be 1.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
codec {
|
|
||||||
compatible = "socionext,uniphier-evea";
|
|
||||||
reg = <0x57900000 0x1000>;
|
|
||||||
clock-names = "evea", "exiv";
|
|
||||||
clocks = <&sys_clk 41>, <&sys_clk 42>;
|
|
||||||
reset-names = "evea", "exiv", "adamv";
|
|
||||||
resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
};
|
|
||||||
@@ -21,6 +21,17 @@ Optional properties:
|
|||||||
enabled and disabled together with HP_L and HP_R pins in response to jack
|
enabled and disabled together with HP_L and HP_R pins in response to jack
|
||||||
detect events.
|
detect events.
|
||||||
|
|
||||||
|
- wlf,hp-cfg: A list of headphone jack detect configuration register values.
|
||||||
|
The list must be 3 entries long.
|
||||||
|
hp-cfg[0]: HPSEL[1:0] of R48 (Additional Control 4).
|
||||||
|
hp-cfg[1]: {HPSWEN:HPSWPOL} of R24 (Additional Control 2).
|
||||||
|
hp-cfg[2]: {TOCLKSEL:TOEN} of R23 (Additional Control 1).
|
||||||
|
|
||||||
|
- wlf,gpio-cfg: A list of GPIO configuration register values.
|
||||||
|
The list must be 2 entries long.
|
||||||
|
gpio-cfg[0]: ALRCGPIO of R9 (Audio interface)
|
||||||
|
gpio-cfg[1]: {GPIOPOL:GPIOSEL[2:0]} of R48 (Additional Control 4).
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
wm8960: codec@1a {
|
wm8960: codec@1a {
|
||||||
|
|||||||
@@ -68,6 +68,29 @@ Optional properties:
|
|||||||
- wlf,csnaddr-pd : If present enable the internal pull-down resistor on
|
- wlf,csnaddr-pd : If present enable the internal pull-down resistor on
|
||||||
the CS/ADDR pin.
|
the CS/ADDR pin.
|
||||||
|
|
||||||
|
Pins on the device (for linking into audio routes):
|
||||||
|
|
||||||
|
* IN1LN
|
||||||
|
* IN1LP
|
||||||
|
* IN2LN
|
||||||
|
* IN2LP:VXRN
|
||||||
|
* IN1RN
|
||||||
|
* IN1RP
|
||||||
|
* IN2RN
|
||||||
|
* IN2RP:VXRP
|
||||||
|
* SPKOUTLP
|
||||||
|
* SPKOUTLN
|
||||||
|
* SPKOUTRP
|
||||||
|
* SPKOUTRN
|
||||||
|
* HPOUT1L
|
||||||
|
* HPOUT1R
|
||||||
|
* HPOUT2P
|
||||||
|
* HPOUT2N
|
||||||
|
* LINEOUT1P
|
||||||
|
* LINEOUT1N
|
||||||
|
* LINEOUT2P
|
||||||
|
* LINEOUT2N
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
wm8994: codec@1a {
|
wm8994: codec@1a {
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ properties:
|
|||||||
nvmem-cell-names:
|
nvmem-cell-names:
|
||||||
const: calibration
|
const: calibration
|
||||||
|
|
||||||
# See ./thermal.txt for details
|
# See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for details
|
||||||
"#thermal-sensor-cells":
|
"#thermal-sensor-cells":
|
||||||
enum:
|
enum:
|
||||||
- 0
|
- 0
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ transaction.
|
|||||||
Required properties:
|
Required properties:
|
||||||
- compatible: "amazon,al-thermal".
|
- compatible: "amazon,al-thermal".
|
||||||
- reg: The physical base address and length of the sensor's registers.
|
- reg: The physical base address and length of the sensor's registers.
|
||||||
- #thermal-sensor-cells: Must be 1. See ./thermal.txt for a description.
|
- #thermal-sensor-cells: Must be 1. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for a description.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
thermal: thermal {
|
thermal: thermal {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ properties:
|
|||||||
compatible:
|
compatible:
|
||||||
const: brcm,bcm2711-thermal
|
const: brcm,bcm2711-thermal
|
||||||
|
|
||||||
# See ./thermal.txt for details
|
# See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for details
|
||||||
"#thermal-sensor-cells":
|
"#thermal-sensor-cells":
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ compatible: should be one of: "brcm,bcm2835-thermal",
|
|||||||
"brcm,bcm2836-thermal" or "brcm,bcm2837-thermal"
|
"brcm,bcm2836-thermal" or "brcm,bcm2837-thermal"
|
||||||
reg: Address range of the thermal registers.
|
reg: Address range of the thermal registers.
|
||||||
clocks: Phandle of the clock used by the thermal sensor.
|
clocks: Phandle of the clock used by the thermal sensor.
|
||||||
#thermal-sensor-cells: should be 0 (see thermal.txt)
|
#thermal-sensor-cells: should be 0 (see Documentation/devicetree/bindings/thermal/thermal-sensor.yaml)
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
by /SOCTHERM/tsensor.
|
by /SOCTHERM/tsensor.
|
||||||
- clock-names: Input clock name, should be 'thermal_clk'.
|
- clock-names: Input clock name, should be 'thermal_clk'.
|
||||||
- clocks: phandles for clock specified in "clock-names" property.
|
- clocks: phandles for clock specified in "clock-names" property.
|
||||||
- #thermal-sensor-cells: Should be 1. See ./thermal.txt for a description.
|
- #thermal-sensor-cells: Should be 1. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for a description.
|
||||||
|
|
||||||
Example :
|
Example :
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ below threshold level.
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
-------------------
|
-------------------
|
||||||
#thermal-sensor-cells: Please refer <devicetree/bindings/thermal/thermal.txt>
|
#thermal-sensor-cells: For more details, please refer to
|
||||||
for more details.
|
<devicetree/bindings/thermal/thermal-sensor.yaml>
|
||||||
The value must be 0.
|
The value must be 0.
|
||||||
|
|
||||||
For more details, please refer generic thermal DT binding document
|
For more details, please refer generic thermal DT binding document
|
||||||
<devicetree/bindings/thermal/thermal.txt>.
|
<devicetree/bindings/thermal/thermal*.yaml>.
|
||||||
|
|
||||||
Please refer <devicetree/bindings/mfd/max77620.txt> for mfd DT binding
|
Please refer <devicetree/bindings/mfd/max77620.txt> for mfd DT binding
|
||||||
document for the MAX77620.
|
document for the MAX77620.
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ Required properties:
|
|||||||
- resets: Reference to the reset controller controlling the thermal controller.
|
- resets: Reference to the reset controller controlling the thermal controller.
|
||||||
- mediatek,auxadc: A phandle to the AUXADC which the thermal controller uses
|
- mediatek,auxadc: A phandle to the AUXADC which the thermal controller uses
|
||||||
- mediatek,apmixedsys: A phandle to the APMIXEDSYS controller.
|
- mediatek,apmixedsys: A phandle to the APMIXEDSYS controller.
|
||||||
- #thermal-sensor-cells : Should be 0. See ./thermal.txt for a description.
|
- #thermal-sensor-cells : Should be 0. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for a description.
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
- nvmem-cells: A phandle to the calibration data provided by a nvmem device. If
|
- nvmem-cells: A phandle to the calibration data provided by a nvmem device. If
|
||||||
|
|||||||
@@ -28,9 +28,10 @@ Required properties :
|
|||||||
See ../reset/reset.txt for details.
|
See ../reset/reset.txt for details.
|
||||||
- reset-names : Must include the following entries:
|
- reset-names : Must include the following entries:
|
||||||
- soctherm
|
- soctherm
|
||||||
- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description
|
- #thermal-sensor-cells : Should be 1. For a description of this property, see
|
||||||
of this property. See <dt-bindings/thermal/tegra124-soctherm.h> for a
|
Documentation/devicetree/bindings/thermal/thermal-sensor.yaml.
|
||||||
list of valid values when referring to thermal sensors.
|
See <dt-bindings/thermal/tegra124-soctherm.h> for a list of valid values
|
||||||
|
when referring to thermal sensors.
|
||||||
- throttle-cfgs: A sub-node which is a container of configuration for each
|
- throttle-cfgs: A sub-node which is a container of configuration for each
|
||||||
hardware throttle events. These events can be set as cooling devices.
|
hardware throttle events. These events can be set as cooling devices.
|
||||||
* throttle events: Sub-nodes must be named as "light" or "heavy".
|
* throttle events: Sub-nodes must be named as "light" or "heavy".
|
||||||
@@ -62,7 +63,8 @@ Required properties :
|
|||||||
TEGRA_SOCTHERM_THROT_LEVEL_MED (75%),
|
TEGRA_SOCTHERM_THROT_LEVEL_MED (75%),
|
||||||
TEGRA_SOCTHERM_THROT_LEVEL_HIGH (85%).
|
TEGRA_SOCTHERM_THROT_LEVEL_HIGH (85%).
|
||||||
- #cooling-cells: Should be 1. This cooling device only support on/off state.
|
- #cooling-cells: Should be 1. This cooling device only support on/off state.
|
||||||
See ./thermal.txt for a description of this property.
|
For a description of this property see:
|
||||||
|
Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml
|
||||||
|
|
||||||
Optional properties: The following properties are T210 specific and
|
Optional properties: The following properties are T210 specific and
|
||||||
valid only for OCx throttle events.
|
valid only for OCx throttle events.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ exposed by BPMP.
|
|||||||
The BPMP thermal node must be located directly inside the main BPMP node. See
|
The BPMP thermal node must be located directly inside the main BPMP node. See
|
||||||
../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding.
|
../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding.
|
||||||
|
|
||||||
This node represents a thermal sensor. See thermal.txt for details of the
|
This node represents a thermal sensor. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for details of the
|
||||||
core thermal binding.
|
core thermal binding.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user