mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
Merge branch 'master' into mm-stable
This commit is contained in:
commit
bcfbff2ea3
|
|
@ -35,6 +35,15 @@ Description: This controls cursor delay when using arrow keys. When a
|
|||
characters. Set this to a higher value to adjust for the delay
|
||||
and better synchronisation between cursor position and speech.
|
||||
|
||||
What: /sys/accessibility/speakup/cur_phonetic
|
||||
KernelVersion: 6.2
|
||||
Contact: speakup@linux-speakup.org
|
||||
Description: This allows speakup to speak letters phoneticaly when arrowing through
|
||||
a word letter by letter. This doesn't affect the spelling when typing
|
||||
the characters. When cur_phonetic=1, speakup will speak characters
|
||||
phoneticaly when arrowing over a letter. When cur_phonetic=0, speakup
|
||||
will speak letters as normally.
|
||||
|
||||
What: /sys/accessibility/speakup/delimiters
|
||||
KernelVersion: 2.6
|
||||
Contact: speakup@linux-speakup.org
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ Description: Specific MJPEG format descriptors
|
|||
read-only
|
||||
bmaControls this format's data for bmaControls in
|
||||
the streaming header
|
||||
bmInterfaceFlags specifies interlace information,
|
||||
bmInterlaceFlags specifies interlace information,
|
||||
read-only
|
||||
bAspectRatioY the X dimension of the picture aspect
|
||||
ratio, read-only
|
||||
|
|
@ -253,7 +253,7 @@ Description: Specific uncompressed format descriptors
|
|||
read-only
|
||||
bmaControls this format's data for bmaControls in
|
||||
the streaming header
|
||||
bmInterfaceFlags specifies interlace information,
|
||||
bmInterlaceFlags specifies interlace information,
|
||||
read-only
|
||||
bAspectRatioY the X dimension of the picture aspect
|
||||
ratio, read-only
|
||||
|
|
|
|||
|
|
@ -91,6 +91,13 @@ Description: Enables the root user to set the device to specific state.
|
|||
Valid values are "disable", "enable", "suspend", "resume".
|
||||
User can read this property to see the valid values
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/device_release_watchdog_timeout
|
||||
Date: Oct 2022
|
||||
KernelVersion: 6.2
|
||||
Contact: ttayar@habana.ai
|
||||
Description: The watchdog timeout value in seconds for a device relese upon
|
||||
certain error cases, after which the device is reset.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/dma_size
|
||||
Date: Apr 2021
|
||||
KernelVersion: 5.13
|
||||
|
|
|
|||
45
Documentation/ABI/testing/sysfs-bus-coreboot
Normal file
45
Documentation/ABI/testing/sysfs-bus-coreboot
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
What: /sys/bus/coreboot
|
||||
Date: August 2022
|
||||
Contact: Jack Rosenthal <jrosenth@chromium.org>
|
||||
Description:
|
||||
The coreboot bus provides a variety of virtual devices used to
|
||||
access data structures created by the Coreboot BIOS.
|
||||
|
||||
What: /sys/bus/coreboot/devices/cbmem-<id>
|
||||
Date: August 2022
|
||||
Contact: Jack Rosenthal <jrosenth@chromium.org>
|
||||
Description:
|
||||
CBMEM is a downwards-growing memory region created by Coreboot,
|
||||
and contains tagged data structures to be shared with payloads
|
||||
in the boot process and the OS. Each CBMEM entry is given a
|
||||
directory in /sys/bus/coreboot/devices based on its id.
|
||||
A list of ids known to Coreboot can be found in the coreboot
|
||||
source tree at
|
||||
``src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h``.
|
||||
|
||||
What: /sys/bus/coreboot/devices/cbmem-<id>/address
|
||||
Date: August 2022
|
||||
Contact: Jack Rosenthal <jrosenth@chromium.org>
|
||||
Description:
|
||||
This is the pyhsical memory address that the CBMEM entry's data
|
||||
begins at, in hexadecimal (e.g., ``0x76ffe000``).
|
||||
|
||||
What: /sys/bus/coreboot/devices/cbmem-<id>/size
|
||||
Date: August 2022
|
||||
Contact: Jack Rosenthal <jrosenth@chromium.org>
|
||||
Description:
|
||||
This is the size of the CBMEM entry's data, in hexadecimal
|
||||
(e.g., ``0x1234``).
|
||||
|
||||
What: /sys/bus/coreboot/devices/cbmem-<id>/mem
|
||||
Date: August 2022
|
||||
Contact: Jack Rosenthal <jrosenth@chromium.org>
|
||||
Description:
|
||||
A file exposing read/write access to the entry's data. Note
|
||||
that this file does not support mmap(), as coreboot
|
||||
does not guarantee that the data will be page-aligned.
|
||||
|
||||
The mode of this file is 0600. While there shouldn't be
|
||||
anything security-sensitive contained in CBMEM, read access
|
||||
requires root privileges given this is exposing a small subset
|
||||
of physical memory.
|
||||
46
Documentation/ABI/testing/sysfs-bus-iio-adc-ad4130
Normal file
46
Documentation/ABI/testing/sysfs-bus-iio-adc-ad4130
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_mode_available
|
||||
KernelVersion: 6.2
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns a list with the possible filter modes.
|
||||
|
||||
* "sinc4" - Sinc 4. Excellent noise performance. Long
|
||||
1st conversion time. No natural 50/60Hz rejection.
|
||||
|
||||
* "sinc4+sinc1" - Sinc4 + averaging by 8. Low 1st conversion
|
||||
time.
|
||||
|
||||
* "sinc3" - Sinc3. Moderate 1st conversion time.
|
||||
Good noise performance.
|
||||
|
||||
* "sinc3+rej60" - Sinc3 + 60Hz rejection. At a sampling
|
||||
frequency of 50Hz, achieves simultaneous 50Hz and 60Hz
|
||||
rejection.
|
||||
|
||||
* "sinc3+sinc1" - Sinc3 + averaging by 8. Low 1st conversion
|
||||
time. Best used with a sampling frequency of at least
|
||||
216.19Hz.
|
||||
|
||||
* "sinc3+pf1" - Sinc3 + Post Filter 1. 53dB rejection @
|
||||
50Hz, 58dB rejection @ 60Hz.
|
||||
|
||||
* "sinc3+pf2" - Sinc3 + Post Filter 2. 70dB rejection @
|
||||
50Hz, 70dB rejection @ 60Hz.
|
||||
|
||||
* "sinc3+pf3" - Sinc3 + Post Filter 3. 99dB rejection @
|
||||
50Hz, 103dB rejection @ 60Hz.
|
||||
|
||||
* "sinc3+pf4" - Sinc3 + Post Filter 4. 103dB rejection @
|
||||
50Hz, 109dB rejection @ 60Hz.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_filter_mode
|
||||
KernelVersion: 6.2
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Set the filter mode of the differential channel. When the filter
|
||||
mode changes, the in_voltageY-voltageZ_sampling_frequency and
|
||||
in_voltageY-voltageZ_sampling_frequency_available attributes
|
||||
might also change to accommodate the new filter mode.
|
||||
If the current sampling frequency is out of range for the new
|
||||
filter mode, the sampling frequency will be changed to the
|
||||
closest valid one.
|
||||
13
Documentation/ABI/testing/sysfs-bus-iio-adc-max11410
Normal file
13
Documentation/ABI/testing/sysfs-bus-iio-adc-max11410
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage_filterY_notch_en
|
||||
Date: September 2022
|
||||
KernelVersion: 6.0
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Enable or disable a notch filter.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage_filterY_notch_center
|
||||
Date: September 2022
|
||||
KernelVersion: 6.0
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Center frequency of the notch filter in Hz.
|
||||
|
|
@ -0,0 +1,312 @@
|
|||
What: /sys/bus/platform/devices/smpro-errmon.*/error_[core|mem|pcie|other]_[ce|ue]
|
||||
KernelVersion: 6.1
|
||||
Contact: Quan Nguyen <quan@os.amperecomputing.com>
|
||||
Description:
|
||||
(RO) Contains the 48-byte Ampere (Vendor-Specific) Error Record printed
|
||||
in hex format according to the table below:
|
||||
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| Offset | Field | Size (byte) | Description |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 00 | Error Type | 1 | See :ref:`the table below <smpro-error-types>` for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 01 | Subtype | 1 | See :ref:`the table below <smpro-error-types>` for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 02 | Instance | 2 | See :ref:`the table below <smpro-error-types>` for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 04 | Error status | 4 | See ARM RAS specification for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 08 | Error Address | 8 | See ARM RAS specification for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 16 | Error Misc 0 | 8 | See ARM RAS specification for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 24 | Error Misc 1 | 8 | See ARM RAS specification for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 32 | Error Misc 2 | 8 | See ARM RAS specification for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
| 40 | Error Misc 3 | 8 | See ARM RAS specification for details |
|
||||
+--------+---------------+-------------+------------------------------------------------------------+
|
||||
|
||||
The table below defines the value of error types, their subtype, subcomponent and instance:
|
||||
|
||||
.. _smpro-error-types:
|
||||
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| Error Group | Error Type | Sub type | Sub component | Instance |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| CPM (core) | 0 | 0 | Snoop-Logic | CPM # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| CPM (core) | 0 | 2 | Armv8 Core 1 | CPM # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| MCU (mem) | 1 | 1 | ERR1 | MCU # \| SLOT << 11 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| MCU (mem) | 1 | 2 | ERR2 | MCU # \| SLOT << 11 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| MCU (mem) | 1 | 3 | ERR3 | MCU # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| MCU (mem) | 1 | 4 | ERR4 | MCU # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| MCU (mem) | 1 | 5 | ERR5 | MCU # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| MCU (mem) | 1 | 6 | ERR6 | MCU # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| MCU (mem) | 1 | 7 | Link Error | MCU # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| Mesh (other) | 2 | 0 | Cross Point | X \| (Y << 5) \| NS <<11 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| Mesh (other) | 2 | 1 | Home Node(IO) | X \| (Y << 5) \| NS <<11 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| Mesh (other) | 2 | 2 | Home Node(Mem) | X \| (Y << 5) \| NS <<11 \| device<<12 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| Mesh (other) | 2 | 4 | CCIX Node | X \| (Y << 5) \| NS <<11 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| 2P Link (other) | 3 | 0 | N/A | Altra 2P Link # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 0 | ERR0 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 1 | ERR1 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 2 | ERR2 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 3 | ERR3 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 4 | ERR4 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 5 | ERR5 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 6 | ERR6 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 7 | ERR7 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 8 | ERR8 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 9 | ERR9 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 10 | ERR10 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 11 | ERR11 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 12 | ERR12 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| GIC (other) | 5 | 13-21 | ERR13 | RC # + 1 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TCU | 100 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU0 | 0 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU1 | 1 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU2 | 2 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU3 | 3 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU4 | 4 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU5 | 5 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU6 | 6 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU7 | 7 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU8 | 8 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMMU (other) | 6 | TBU9 | 9 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PCIe AER (pcie) | 7 | Root | 0 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PCIe AER (pcie) | 7 | Device | 1 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PCIe RC (pcie) | 8 | RCA HB | 0 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PCIe RC (pcie) | 8 | RCB HB | 1 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PCIe RC (pcie) | 8 | RASDP | 8 | RC # |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| OCM (other) | 9 | ERR0 | 0 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| OCM (other) | 9 | ERR1 | 1 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| OCM (other) | 9 | ERR2 | 2 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMpro (other) | 10 | ERR0 | 0 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMpro (other) | 10 | ERR1 | 1 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| SMpro (other) | 10 | MPA_ERR | 2 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PMpro (other) | 11 | ERR0 | 0 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PMpro (other) | 11 | ERR1 | 1 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
| PMpro (other) | 11 | MPA_ERR | 2 | 0 |
|
||||
+-----------------+------------+----------+----------------+----------------------------------------+
|
||||
|
||||
Example::
|
||||
|
||||
# cat error_other_ue
|
||||
880807001e004010401040101500000001004010401040100c0000000000000000000000000000000000000000000000
|
||||
|
||||
The detail of each sysfs entries is as below:
|
||||
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| Error | Sysfs entry | Description (when triggered) |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| Core's CE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce | Core has CE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| Core's UE | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue | Core has UE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce | Memory has CE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue | Memory has UE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce | any PCIe controller has CE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue | any PCIe controller has UE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| Other's CE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce | any other CE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
| Other's UE | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue | any other UE error |
|
||||
+-------------+---------------------------------------------------------+----------------------------------+
|
||||
|
||||
UE: Uncorrect-able Error
|
||||
CE: Correct-able Error
|
||||
|
||||
For details, see section `3.3 Ampere (Vendor-Specific) Error Record Formats,
|
||||
Altra Family RAS Supplement`.
|
||||
|
||||
|
||||
What: /sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]
|
||||
KernelVersion: 6.1
|
||||
Contact: Quan Nguyen <quan@os.amperecomputing.com>
|
||||
Description:
|
||||
(RO) Return the overflow status of each type HW error reported:
|
||||
|
||||
- 0 : No overflow
|
||||
- 1 : There is an overflow and the oldest HW errors are dropped
|
||||
|
||||
The detail of each sysfs entries is as below:
|
||||
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| Overflow | Sysfs entry | Description |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| Core's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce | Core CE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| Core's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue | Core UE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce | Memory CE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue | Memory UE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| PCIe's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce | any PCIe controller CE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| PCIe's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue | any PCIe controller UE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| Other's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce| any other CE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
| Other's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue| other UE error overflow |
|
||||
+-------------+-----------------------------------------------------------+---------------------------------------+
|
||||
|
||||
where:
|
||||
|
||||
- UE: Uncorrect-able Error
|
||||
- CE: Correct-able Error
|
||||
|
||||
What: /sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]
|
||||
KernelVersion: 6.1
|
||||
Contact: Quan Nguyen <quan@os.amperecomputing.com>
|
||||
Description:
|
||||
(RO) Contains the internal firmware error/warning printed as hex format.
|
||||
|
||||
The detail of each sysfs entries is as below:
|
||||
|
||||
+---------------+------------------------------------------------------+--------------------------+
|
||||
| Error | Sysfs entry | Description |
|
||||
+---------------+------------------------------------------------------+--------------------------+
|
||||
| SMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_smpro | system has SMpro error |
|
||||
+---------------+------------------------------------------------------+--------------------------+
|
||||
| SMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_smpro | system has SMpro warning |
|
||||
+---------------+------------------------------------------------------+--------------------------+
|
||||
| PMpro error | /sys/bus/platform/devices/smpro-errmon.*/error_pmpro | system has PMpro error |
|
||||
+---------------+------------------------------------------------------+--------------------------+
|
||||
| PMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_pmpro | system has PMpro warning |
|
||||
+---------------+------------------------------------------------------+--------------------------+
|
||||
|
||||
For details, see section `5.10 RAS Internal Error Register Definitions,
|
||||
Altra Family Soc BMC Interface Specification`.
|
||||
|
||||
What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot]
|
||||
KernelVersion: 6.1
|
||||
Contact: Quan Nguyen <quan@os.amperecomputing.com>
|
||||
Description:
|
||||
(RO) Contains the detail information in case of VRD/DIMM warning/hot events
|
||||
in hex format as below::
|
||||
|
||||
AAAA
|
||||
|
||||
where:
|
||||
|
||||
- ``AAAA``: The event detail information data
|
||||
|
||||
The detail of each sysfs entries is as below:
|
||||
|
||||
+---------------+---------------------------------------------------------------+---------------------+
|
||||
| Event | Sysfs entry | Description |
|
||||
+---------------+---------------------------------------------------------------+---------------------+
|
||||
| VRD HOT | /sys/bus/platform/devices/smpro-errmon.*/event_vrd_hot | VRD Hot |
|
||||
+---------------+---------------------------------------------------------------+---------------------+
|
||||
| VR Warn/Fault | /sys/bus/platform/devices/smpro-errmon.*/event_vrd_warn_fault | VR Warning or Fault |
|
||||
+---------------+---------------------------------------------------------------+---------------------+
|
||||
| DIMM HOT | /sys/bus/platform/devices/smpro-errmon.*/event_dimm_hot | DIMM Hot |
|
||||
+---------------+---------------------------------------------------------------+---------------------+
|
||||
|
||||
For more details, see section `5.7 GPI Status Registers,
|
||||
Altra Family Soc BMC Interface Specification`.
|
||||
|
||||
What: /sys/bus/platform/devices/smpro-misc.*/boot_progress
|
||||
KernelVersion: 6.1
|
||||
Contact: Quan Nguyen <quan@os.amperecomputing.com>
|
||||
Description:
|
||||
(RO) Contains the boot stages information in hex as format below::
|
||||
|
||||
AABBCCCCCCCC
|
||||
|
||||
where:
|
||||
|
||||
- ``AA`` : The boot stages
|
||||
|
||||
- 00: SMpro firmware booting
|
||||
- 01: PMpro firmware booting
|
||||
- 02: ATF BL1 firmware booting
|
||||
- 03: DDR initialization
|
||||
- 04: DDR training report status
|
||||
- 05: ATF BL2 firmware booting
|
||||
- 06: ATF BL31 firmware booting
|
||||
- 07: ATF BL32 firmware booting
|
||||
- 08: UEFI firmware booting
|
||||
- 09: OS booting
|
||||
|
||||
- ``BB`` : Boot status
|
||||
|
||||
- 00: Not started
|
||||
- 01: Started
|
||||
- 02: Completed without error
|
||||
- 03: Failed.
|
||||
|
||||
- ``CCCCCCCC``: Boot status information defined for each boot stages
|
||||
|
||||
For details, see section `5.11 Boot Stage Register Definitions`
|
||||
and section `6. Processor Boot Progress Codes, Altra Family Soc BMC
|
||||
Interface Specification`.
|
||||
|
||||
|
||||
What: /sys/bus/platform/devices/smpro-misc*/soc_power_limit
|
||||
KernelVersion: 6.1
|
||||
Contact: Quan Nguyen <quan@os.amperecomputing.com>
|
||||
Description:
|
||||
(RW) Contains the desired SoC power limit in Watt.
|
||||
Writes to this sysfs set the desired SoC power limit (W).
|
||||
Reads from this register return the current SoC power limit (W).
|
||||
The value ranges:
|
||||
|
||||
- Minimum: 120 W
|
||||
- Maximum: Socket TDP power
|
||||
|
|
@ -264,6 +264,17 @@ Description:
|
|||
attached to the port will not be detected, initialized,
|
||||
or enumerated.
|
||||
|
||||
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/early_stop
|
||||
Date: Sep 2022
|
||||
Contact: Ray Chi <raychi@google.com>
|
||||
Description:
|
||||
Some USB hosts have some watchdog mechanisms so that the device
|
||||
may enter ramdump if it takes a long time during port initialization.
|
||||
This attribute allows each port just has two attempts so that the
|
||||
port initialization will be failed quickly. In addition, if a port
|
||||
which is marked with early_stop has failed to initialize, it will ignore
|
||||
all future connections until this attribute is clear.
|
||||
|
||||
What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
|
||||
Date: May 2013
|
||||
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
|
||||
|
|
|
|||
12
Documentation/ABI/testing/sysfs-kernel-cpu_byteorder
Normal file
12
Documentation/ABI/testing/sysfs-kernel-cpu_byteorder
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
What: /sys/kernel/cpu_byteorder
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: Thomas Weißschuh <linux@weissschuh.net>
|
||||
Description:
|
||||
The endianness of the running kernel.
|
||||
|
||||
Access: Read
|
||||
|
||||
Valid values:
|
||||
"little", "big"
|
||||
Users: util-linux
|
||||
|
|
@ -858,7 +858,7 @@ CIFS kernel module parameters
|
|||
These module parameters can be specified or modified either during the time of
|
||||
module loading or during the runtime by using the interface::
|
||||
|
||||
/proc/module/cifs/parameters/<param>
|
||||
/sys/module/cifs/parameters/<param>
|
||||
|
||||
i.e.::
|
||||
|
||||
|
|
|
|||
|
|
@ -6266,6 +6266,25 @@
|
|||
See also Documentation/trace/ftrace.rst "trace options"
|
||||
section.
|
||||
|
||||
trace_trigger=[trigger-list]
|
||||
[FTRACE] Add a event trigger on specific events.
|
||||
Set a trigger on top of a specific event, with an optional
|
||||
filter.
|
||||
|
||||
The format is is "trace_trigger=<event>.<trigger>[ if <filter>],..."
|
||||
Where more than one trigger may be specified that are comma deliminated.
|
||||
|
||||
For example:
|
||||
|
||||
trace_trigger="sched_switch.stacktrace if prev_state == 2"
|
||||
|
||||
The above will enable the "stacktrace" trigger on the "sched_switch"
|
||||
event but only trigger it if the "prev_state" of the "sched_switch"
|
||||
event is "2" (TASK_UNINTERUPTIBLE).
|
||||
|
||||
See also "Event triggers" in Documentation/trace/events.rst
|
||||
|
||||
|
||||
traceoff_on_warning
|
||||
[FTRACE] enable this option to disable tracing when a
|
||||
warning is hit. This turns off "tracing_on". Tracing can
|
||||
|
|
|
|||
|
|
@ -120,8 +120,6 @@ stable kernels.
|
|||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
|
||||
|
|
|
|||
|
|
@ -0,0 +1,232 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/bus/fsl,imx8qxp-pixel-link-msi-bus.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale i.MX8qxp Pixel Link Medium Speed Interconnect (MSI) Bus
|
||||
|
||||
maintainers:
|
||||
- Liu Ying <victor.liu@nxp.com>
|
||||
|
||||
description: |
|
||||
i.MX8qxp pixel link MSI bus is used to control settings of PHYs, I/Os
|
||||
sitting together with the PHYs. It is not the same as the MSI bus coming
|
||||
from i.MX8 System Controller Unit (SCU) which is used to control power,
|
||||
clock and reset through the i.MX8 Distributed Slave System Controller (DSC).
|
||||
|
||||
i.MX8qxp pixel link MSI bus is a simple memory-mapped bus. Two input clocks,
|
||||
that is, MSI clock and AHB clock, need to be enabled so that peripherals
|
||||
connected to the bus can be accessed. Also, the bus is part of a power
|
||||
domain. The power domain needs to be enabled before the peripherals can
|
||||
be accessed.
|
||||
|
||||
Peripherals in i.MX8qm/qxp imaging, LVDS, MIPI DSI and HDMI TX subsystems,
|
||||
like I2C controller, PWM controller, MIPI DSI controller and Control and
|
||||
Status Registers (CSR) module, are accessed through the bus.
|
||||
|
||||
The i.MX System Controller Firmware (SCFW) owns and uses the i.MX8qm/qxp
|
||||
pixel link MSI bus controller and does not allow SCFW user to control it.
|
||||
So, the controller's registers cannot be accessed by SCFW user. Hence,
|
||||
the interrupts generated by the controller don't make any sense from SCFW
|
||||
user's point of view.
|
||||
|
||||
allOf:
|
||||
- $ref: simple-pm-bus.yaml#
|
||||
|
||||
# We need a select here so we don't match all nodes with 'simple-pm-bus'.
|
||||
select:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- fsl,imx8qxp-display-pixel-link-msi-bus
|
||||
- fsl,imx8qm-display-pixel-link-msi-bus
|
||||
required:
|
||||
- compatible
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- fsl,imx8qxp-display-pixel-link-msi-bus
|
||||
- fsl,imx8qm-display-pixel-link-msi-bus
|
||||
- const: simple-pm-bus
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: master gated clock from system
|
||||
- description: AHB clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: msi
|
||||
- const: ahb
|
||||
|
||||
patternProperties:
|
||||
"^.*@[0-9a-f]+$":
|
||||
description: Devices attached to the bus
|
||||
type: object
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- power-domains
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8-lpcg.h>
|
||||
#include <dt-bindings/firmware/imx/rsrc.h>
|
||||
bus@56200000 {
|
||||
compatible = "fsl,imx8qxp-display-pixel-link-msi-bus", "simple-pm-bus";
|
||||
reg = <0x56200000 0x20000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupt-parent = <&dc0_irqsteer>;
|
||||
interrupts = <320>;
|
||||
ranges;
|
||||
clocks = <&dc0_disp_ctrl_link_mst0_lpcg IMX_LPCG_CLK_4>,
|
||||
<&dc0_disp_ctrl_link_mst0_lpcg IMX_LPCG_CLK_4>;
|
||||
clock-names = "msi", "ahb";
|
||||
power-domains = <&pd IMX_SC_R_DC_0>;
|
||||
|
||||
syscon@56221000 {
|
||||
compatible = "fsl,imx8qxp-mipi-lvds-csr", "syscon", "simple-mfd";
|
||||
reg = <0x56221000 0x1000>;
|
||||
clocks = <&mipi_lvds_0_di_mipi_lvds_regs_lpcg IMX_LPCG_CLK_4>;
|
||||
clock-names = "ipg";
|
||||
|
||||
pxl2dpi {
|
||||
compatible = "fsl,imx8qxp-pxl2dpi";
|
||||
fsl,sc-resource = <IMX_SC_R_MIPI_0>;
|
||||
power-domains = <&pd IMX_SC_R_MIPI_0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
mipi_lvds_0_pxl2dpi_dc0_pixel_link0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&dc0_pixel_link0_mipi_lvds_0_pxl2dpi>;
|
||||
};
|
||||
|
||||
mipi_lvds_0_pxl2dpi_dc0_pixel_link1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&dc0_pixel_link1_mipi_lvds_0_pxl2dpi>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
|
||||
mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch0: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&mipi_lvds_0_ldb_ch0_mipi_lvds_0_pxl2dpi>;
|
||||
};
|
||||
|
||||
mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch1: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&mipi_lvds_0_ldb_ch1_mipi_lvds_0_pxl2dpi>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ldb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx8qxp-ldb";
|
||||
clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_MISC2>,
|
||||
<&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_BYPASS>;
|
||||
clock-names = "pixel", "bypass";
|
||||
power-domains = <&pd IMX_SC_R_LVDS_0>;
|
||||
|
||||
channel@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
phys = <&mipi_lvds_0_phy>;
|
||||
phy-names = "lvds_phy";
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
mipi_lvds_0_ldb_ch0_mipi_lvds_0_pxl2dpi: endpoint {
|
||||
remote-endpoint = <&mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch0>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
/* ... */
|
||||
};
|
||||
};
|
||||
|
||||
channel@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
phys = <&mipi_lvds_0_phy>;
|
||||
phy-names = "lvds_phy";
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
mipi_lvds_0_ldb_ch1_mipi_lvds_0_pxl2dpi: endpoint {
|
||||
remote-endpoint = <&mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch1>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
/* ... */
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
clock-controller@56223004 {
|
||||
compatible = "fsl,imx8qxp-lpcg";
|
||||
reg = <0x56223004 0x4>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&mipi_lvds_0_ipg_clk>;
|
||||
clock-indices = <IMX_LPCG_CLK_4>;
|
||||
clock-output-names = "mipi_lvds_0_di_mipi_lvds_regs_lpcg_ipg_clk";
|
||||
power-domains = <&pd IMX_SC_R_MIPI_0>;
|
||||
};
|
||||
|
||||
phy@56228300 {
|
||||
compatible = "fsl,imx8qxp-mipi-dphy";
|
||||
reg = <0x56228300 0x100>;
|
||||
clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_PHY>;
|
||||
clock-names = "phy_ref";
|
||||
#phy-cells = <0>;
|
||||
fsl,syscon = <&mipi_lvds_0_csr>;
|
||||
power-domains = <&pd IMX_SC_R_MIPI_0>;
|
||||
};
|
||||
};
|
||||
|
|
@ -10,6 +10,9 @@ title: I2C EEPROMs compatible with Atmel's AT24
|
|||
maintainers:
|
||||
- Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/nvmem/nvmem.yaml
|
||||
|
||||
select:
|
||||
properties:
|
||||
compatible:
|
||||
|
|
@ -183,7 +186,7 @@ required:
|
|||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ required:
|
|||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- $ref: /schemas/nvmem/nvmem.yaml
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ required:
|
|||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- $ref: /schemas/nvmem/nvmem.yaml
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,81 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/fpga/lattice,sysconfig.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Lattice Slave SPI sysCONFIG FPGA manager
|
||||
|
||||
maintainers:
|
||||
- Ivan Bornyakov <i.bornyakov@metrotek.ru>
|
||||
|
||||
description: |
|
||||
Lattice sysCONFIG port, which is used for FPGA configuration, among others,
|
||||
have Slave Serial Peripheral Interface. Only full reconfiguration is
|
||||
supported.
|
||||
|
||||
Programming of ECP5 is done by writing uncompressed bitstream image in .bit
|
||||
format into FPGA's SRAM configuration memory.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- lattice,sysconfig-ecp5
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
program-gpios:
|
||||
description:
|
||||
A GPIO line connected to PROGRAMN (active low) pin of the device.
|
||||
Initiates configuration sequence.
|
||||
maxItems: 1
|
||||
|
||||
init-gpios:
|
||||
description:
|
||||
A GPIO line connected to INITN (active low) pin of the device.
|
||||
Indicates that the FPGA is ready to be configured.
|
||||
maxItems: 1
|
||||
|
||||
done-gpios:
|
||||
description:
|
||||
A GPIO line connected to DONE (active high) pin of the device.
|
||||
Indicates that the configuration sequence is complete.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: lattice,sysconfig-ecp5
|
||||
then:
|
||||
properties:
|
||||
spi-max-frequency:
|
||||
maximum: 60000000
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fpga-mgr@0 {
|
||||
compatible = "lattice,sysconfig-ecp5";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
program-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
|
||||
init-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>;
|
||||
done-gpios = <&gpio3 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/i2c/hisilicon,ascend910-i2c.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon common I2C controller
|
||||
|
||||
maintainers:
|
||||
- Yicong Yang <yangyicong@hisilicon.com>
|
||||
|
||||
description:
|
||||
The HiSilicon common I2C controller can be used for many different
|
||||
types of SoC such as Huawei Ascend AI series chips.
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/i2c/i2c-controller.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: hisilicon,ascend910-i2c
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-frequency:
|
||||
default: 400000
|
||||
|
||||
i2c-sda-falling-time-ns:
|
||||
default: 343
|
||||
|
||||
i2c-scl-falling-time-ns:
|
||||
default: 203
|
||||
|
||||
i2c-sda-hold-time-ns:
|
||||
default: 830
|
||||
|
||||
i2c-scl-rising-time-ns:
|
||||
default: 365
|
||||
|
||||
i2c-digital-filter-width-ns:
|
||||
default: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
i2c@38b0000 {
|
||||
compatible = "hisilicon,ascend910-i2c";
|
||||
reg = <0x38b0000 0x10000>;
|
||||
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
i2c-sda-falling-time-ns = <56>;
|
||||
i2c-scl-falling-time-ns = <56>;
|
||||
i2c-sda-hold-time-ns = <56>;
|
||||
i2c-scl-rising-time-ns = <56>;
|
||||
i2c-digital-filter;
|
||||
i2c-digital-filter-width-ns = <0x0>;
|
||||
clocks = <&alg_clk>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
|
@ -23,6 +23,7 @@ properties:
|
|||
- const: mediatek,mt6577-i2c
|
||||
- const: mediatek,mt6589-i2c
|
||||
- const: mediatek,mt7622-i2c
|
||||
- const: mediatek,mt7986-i2c
|
||||
- const: mediatek,mt8168-i2c
|
||||
- const: mediatek,mt8173-i2c
|
||||
- const: mediatek,mt8183-i2c
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ properties:
|
|||
- const: allwinner,sun6i-a31-i2c
|
||||
- items:
|
||||
- enum:
|
||||
- allwinner,suniv-f1c100s-i2c
|
||||
- allwinner,sun8i-a23-i2c
|
||||
- allwinner,sun8i-a83t-i2c
|
||||
- allwinner,sun8i-v536-i2c
|
||||
|
|
|
|||
|
|
@ -10,18 +10,19 @@ maintainers:
|
|||
- Andy Gross <agross@kernel.org>
|
||||
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/i2c/i2c-controller.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,geni-i2c
|
||||
enum:
|
||||
- qcom,geni-i2c
|
||||
- qcom,geni-i2c-master-hub
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
const: se
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clock-frequency:
|
||||
default: 100000
|
||||
|
|
@ -35,13 +36,12 @@ properties:
|
|||
- const: rx
|
||||
|
||||
interconnects:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
|
||||
interconnect-names:
|
||||
items:
|
||||
- const: qup-core
|
||||
- const: qup-config
|
||||
- const: qup-memory
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
|
@ -71,6 +71,50 @@ required:
|
|||
- clock-names
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/i2c/i2c-controller.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: qcom,geni-i2c-master-hub
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: se
|
||||
- const: core
|
||||
|
||||
dmas: false
|
||||
dma-names: false
|
||||
|
||||
interconnects:
|
||||
maxItems: 2
|
||||
|
||||
interconnect-names:
|
||||
items:
|
||||
- const: qup-core
|
||||
- const: qup-config
|
||||
else:
|
||||
properties:
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
const: se
|
||||
|
||||
interconnects:
|
||||
minItems: 3
|
||||
|
||||
interconnect-names:
|
||||
items:
|
||||
- const: qup-core
|
||||
- const: qup-config
|
||||
- const: qup-memory
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ properties:
|
|||
- enum:
|
||||
- renesas,riic-r7s72100 # RZ/A1H
|
||||
- renesas,riic-r7s9210 # RZ/A2M
|
||||
- renesas,riic-r9a07g043 # RZ/G2UL
|
||||
- renesas,riic-r9a07g043 # RZ/G2UL and RZ/Five
|
||||
- renesas,riic-r9a07g044 # RZ/G2{L,LC}
|
||||
- renesas,riic-r9a07g054 # RZ/V2L
|
||||
- const: renesas,riic-rz # RZ/A or RZ/G2L
|
||||
|
|
|
|||
|
|
@ -4,20 +4,22 @@
|
|||
$id: http://devicetree.org/schemas/iio/accel/adi,adxl355.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices ADXL355 3-Axis, Low noise MEMS Accelerometer
|
||||
title: Analog Devices ADXL355 and ADXL359 3-Axis, Low noise MEMS Accelerometers
|
||||
|
||||
maintainers:
|
||||
- Puranjay Mohan <puranjay12@gmail.com>
|
||||
|
||||
description: |
|
||||
Analog Devices ADXL355 3-Axis, Low noise MEMS Accelerometer that supports
|
||||
both I2C & SPI interfaces
|
||||
Analog Devices ADXL355 and ADXL359 3-Axis, Low noise MEMS Accelerometers that
|
||||
support both I2C & SPI interfaces
|
||||
https://www.analog.com/en/products/adxl355.html
|
||||
https://www.analog.com/en/products/adxl359.html
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,adxl355
|
||||
- adi,adxl359
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
|||
|
|
@ -0,0 +1,65 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/accel/kionix,kx022a.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM/Kionix KX022A Accelerometer
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <mazziesaccount@gmail.com>
|
||||
|
||||
description: |
|
||||
KX022A is a 3-axis accelerometer supporting +/- 2G, 4G, 8G and 16G ranges,
|
||||
output data-rates from 0.78Hz to 1600Hz and a hardware-fifo buffering.
|
||||
KX022A can be accessed either via I2C or SPI.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: kionix,kx022a
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- enum: [INT1, INT2]
|
||||
- const: INT2
|
||||
|
||||
vdd-supply: true
|
||||
io-vdd-supply: true
|
||||
|
||||
mount-matrix:
|
||||
description: |
|
||||
an optional 3x3 mounting rotation matrix.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
accel@1f {
|
||||
compatible = "kionix,kx022a";
|
||||
reg = <0x1f>;
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "INT1";
|
||||
|
||||
io-vdd-supply = <&iovdd>;
|
||||
vdd-supply = <&vdd>;
|
||||
};
|
||||
};
|
||||
262
Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
Normal file
262
Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
Normal file
|
|
@ -0,0 +1,262 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
# Copyright 2022 Analog Devices Inc.
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/adi,ad4130.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices AD4130 ADC device driver
|
||||
|
||||
maintainers:
|
||||
- Cosmin Tanislav <cosmin.tanislav@analog.com>
|
||||
|
||||
description: |
|
||||
Bindings for the Analog Devices AD4130 ADC. Datasheet can be found here:
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4130-8.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad4130
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description: phandle to the master clock (mclk)
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mclk
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-names:
|
||||
description: |
|
||||
Specify which interrupt pin should be configured as Data Ready / FIFO
|
||||
interrupt.
|
||||
Default if not supplied is int.
|
||||
enum:
|
||||
- int
|
||||
- clk
|
||||
- p2
|
||||
- dout
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
'#clock-cells':
|
||||
const: 0
|
||||
|
||||
clock-output-names:
|
||||
maxItems: 1
|
||||
|
||||
refin1-supply:
|
||||
description: refin1 supply. Can be used as reference for conversion.
|
||||
|
||||
refin2-supply:
|
||||
description: refin2 supply. Can be used as reference for conversion.
|
||||
|
||||
avdd-supply:
|
||||
description: AVDD voltage supply. Can be used as reference for conversion.
|
||||
|
||||
iovdd-supply:
|
||||
description: IOVDD voltage supply. Used for the chip interface.
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 5000000
|
||||
|
||||
adi,ext-clk-freq-hz:
|
||||
description: Specify the frequency of the external clock.
|
||||
enum: [76800, 153600]
|
||||
default: 76800
|
||||
|
||||
adi,bipolar:
|
||||
description: Specify if the device should be used in bipolar mode.
|
||||
type: boolean
|
||||
|
||||
adi,vbias-pins:
|
||||
description: Analog inputs to apply a voltage bias of (AVDD − AVSS) / 2 to.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 16
|
||||
items:
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
patternProperties:
|
||||
"^channel@([0-9a-f])$":
|
||||
type: object
|
||||
$ref: adc.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: The channel number.
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
|
||||
diff-channels:
|
||||
description: |
|
||||
Besides the analog inputs available, internal inputs can be used.
|
||||
16: Internal temperature sensor.
|
||||
17: AVSS
|
||||
18: Internal reference
|
||||
19: DGND
|
||||
20: (AVDD − AVSS)/6+
|
||||
21: (AVDD − AVSS)/6-
|
||||
22: (IOVDD − DGND)/6+
|
||||
23: (IOVDD − DGND)/6-
|
||||
24: (ALDO − AVSS)/6+
|
||||
25: (ALDO − AVSS)/6-
|
||||
26: (DLDO − DGND)/6+
|
||||
27: (DLDO − DGND)/6-
|
||||
28: V_MV_P
|
||||
29: V_MV_M
|
||||
items:
|
||||
minimum: 0
|
||||
maximum: 29
|
||||
|
||||
adi,reference-select:
|
||||
description: |
|
||||
Select the reference source to use when converting on the
|
||||
specific channel. Valid values are:
|
||||
0: REFIN1(+)/REFIN1(−)
|
||||
1: REFIN2(+)/REFIN2(−)
|
||||
2: REFOUT/AVSS (Internal reference)
|
||||
3: AVDD/AVSS
|
||||
If not specified, REFIN1 is used.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 0
|
||||
|
||||
adi,excitation-pin-0:
|
||||
description: |
|
||||
Analog input to apply excitation current to while the channel
|
||||
is active.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
default: 0
|
||||
|
||||
adi,excitation-pin-1:
|
||||
description: |
|
||||
Analog input to apply excitation current to while this channel
|
||||
is active.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
default: 0
|
||||
|
||||
adi,excitation-current-0-nanoamp:
|
||||
description: |
|
||||
Excitation current in nanoamps to be applied to pin specified in
|
||||
adi,excitation-pin-0 while this channel is active.
|
||||
enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000]
|
||||
default: 0
|
||||
|
||||
adi,excitation-current-1-nanoamp:
|
||||
description: |
|
||||
Excitation current in nanoamps to be applied to pin specified in
|
||||
adi,excitation-pin-1 while this channel is active.
|
||||
enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000]
|
||||
default: 0
|
||||
|
||||
adi,burnout-current-nanoamp:
|
||||
description: |
|
||||
Burnout current in nanoamps to be applied for this channel.
|
||||
enum: [0, 500, 2000, 4000]
|
||||
default: 0
|
||||
|
||||
adi,buffered-positive:
|
||||
description: Enable buffered mode for positive input.
|
||||
type: boolean
|
||||
|
||||
adi,buffered-negative:
|
||||
description: Enable buffered mode for negative input.
|
||||
type: boolean
|
||||
|
||||
required:
|
||||
- reg
|
||||
- diff-channels
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
compatible = "adi,ad4130";
|
||||
reg = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
spi-max-frequency = <5000000>;
|
||||
interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-parent = <&gpio>;
|
||||
|
||||
channel@0 {
|
||||
reg = <0>;
|
||||
|
||||
adi,reference-select = <2>;
|
||||
|
||||
/* AIN8, AIN9 */
|
||||
diff-channels = <8 9>;
|
||||
};
|
||||
|
||||
channel@1 {
|
||||
reg = <1>;
|
||||
|
||||
adi,reference-select = <2>;
|
||||
|
||||
/* AIN10, AIN11 */
|
||||
diff-channels = <10 11>;
|
||||
};
|
||||
|
||||
channel@2 {
|
||||
reg = <2>;
|
||||
|
||||
adi,reference-select = <2>;
|
||||
|
||||
/* Temperature Sensor, DGND */
|
||||
diff-channels = <16 19>;
|
||||
};
|
||||
|
||||
channel@3 {
|
||||
reg = <3>;
|
||||
|
||||
adi,reference-select = <2>;
|
||||
|
||||
/* Internal reference, DGND */
|
||||
diff-channels = <18 19>;
|
||||
};
|
||||
|
||||
channel@4 {
|
||||
reg = <4>;
|
||||
|
||||
adi,reference-select = <2>;
|
||||
|
||||
/* DGND, DGND */
|
||||
diff-channels = <19 19>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -11,7 +11,7 @@ maintainers:
|
|||
|
||||
description: |
|
||||
Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs, and AD7908,
|
||||
AD7918, AD7928 8 Channels ADCs.
|
||||
AD7918, AD7927, AD7928 8 Channels ADCs.
|
||||
|
||||
Specifications about the part can be found at:
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7923.pdf
|
||||
|
|
@ -20,14 +20,22 @@ description: |
|
|||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7904
|
||||
- adi,ad7914
|
||||
- adi,ad7923
|
||||
- adi,ad7924
|
||||
- adi,ad7908
|
||||
- adi,ad7918
|
||||
- adi,ad7928
|
||||
oneOf:
|
||||
- enum:
|
||||
- adi,ad7904
|
||||
- adi,ad7908
|
||||
- adi,ad7914
|
||||
- adi,ad7918
|
||||
- adi,ad7923
|
||||
- adi,ad7928
|
||||
- const: adi,ad7924
|
||||
deprecated: true
|
||||
- items:
|
||||
- const: adi,ad7924
|
||||
- const: adi,ad7923
|
||||
- items:
|
||||
- const: adi,ad7927
|
||||
- const: adi,ad7928
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
|||
177
Documentation/devicetree/bindings/iio/adc/adi,max11410.yaml
Normal file
177
Documentation/devicetree/bindings/iio/adc/adi,max11410.yaml
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
# Copyright 2022 Analog Devices Inc.
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/adi,max11410.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices MAX11410 ADC device driver
|
||||
|
||||
maintainers:
|
||||
- Ibrahim Tilki <Ibrahim.Tilki@analog.com>
|
||||
|
||||
description: |
|
||||
Bindings for the Analog Devices MAX11410 ADC device. Datasheet can be
|
||||
found here:
|
||||
https://datasheets.maximintegrated.com/en/ds/MAX11410.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,max11410
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
interrupt-names:
|
||||
description: Name of the gpio pin of max11410 used for IRQ
|
||||
minItems: 1
|
||||
items:
|
||||
- enum: [gpio0, gpio1]
|
||||
- const: gpio1
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
avdd-supply:
|
||||
description: Optional avdd supply. Used as reference when no explicit reference supplied.
|
||||
|
||||
vref0p-supply:
|
||||
description: vref0p supply can be used as reference for conversion.
|
||||
|
||||
vref1p-supply:
|
||||
description: vref1p supply can be used as reference for conversion.
|
||||
|
||||
vref2p-supply:
|
||||
description: vref2p supply can be used as reference for conversion.
|
||||
|
||||
vref0n-supply:
|
||||
description: vref0n supply can be used as reference for conversion.
|
||||
|
||||
vref1n-supply:
|
||||
description: vref1n supply can be used as reference for conversion.
|
||||
|
||||
vref2n-supply:
|
||||
description: vref2n supply can be used as reference for conversion.
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 8000000
|
||||
|
||||
patternProperties:
|
||||
"^channel(@[0-9])?$":
|
||||
$ref: adc.yaml
|
||||
type: object
|
||||
description: Represents the external channels which are connected to the ADC.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: The channel number in single-ended mode.
|
||||
minimum: 0
|
||||
maximum: 9
|
||||
|
||||
adi,reference:
|
||||
description: |
|
||||
Select the reference source to use when converting on
|
||||
the specific channel. Valid values are:
|
||||
0: VREF0P/VREF0N
|
||||
1: VREF1P/VREF1N
|
||||
2: VREF2P/VREF2N
|
||||
3: AVDD/AGND
|
||||
4: VREF0P/AGND
|
||||
5: VREF1P/AGND
|
||||
6: VREF2P/AGND
|
||||
If this field is left empty, AVDD/AGND is selected.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3, 4, 5, 6]
|
||||
default: 3
|
||||
|
||||
adi,input-mode:
|
||||
description: |
|
||||
Select signal path of input channels. Valid values are:
|
||||
0: Buffered, low-power, unity-gain path (default)
|
||||
1: Bypass path
|
||||
2: PGA path
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2]
|
||||
default: 0
|
||||
|
||||
diff-channels: true
|
||||
|
||||
bipolar: true
|
||||
|
||||
settling-time-us: true
|
||||
|
||||
adi,buffered-vrefp:
|
||||
description: Enable buffered mode for positive reference.
|
||||
type: boolean
|
||||
|
||||
adi,buffered-vrefn:
|
||||
description: Enable buffered mode for negative reference.
|
||||
type: boolean
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
reg = <0>;
|
||||
compatible = "adi,max11410";
|
||||
spi-max-frequency = <8000000>;
|
||||
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-names = "gpio1";
|
||||
|
||||
avdd-supply = <&adc_avdd>;
|
||||
|
||||
vref1p-supply = <&adc_vref1p>;
|
||||
vref1n-supply = <&adc_vref1n>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
channel@1 {
|
||||
reg = <1>;
|
||||
diff-channels = <2 3>;
|
||||
adi,reference = <1>;
|
||||
bipolar;
|
||||
settling-time-us = <100000>;
|
||||
};
|
||||
|
||||
channel@2 {
|
||||
reg = <2>;
|
||||
diff-channels = <7 9>;
|
||||
adi,reference = <5>;
|
||||
adi,input-mode = <2>;
|
||||
settling-time-us = <50000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -18,7 +18,10 @@ description: |
|
|||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,spmi-iadc
|
||||
items:
|
||||
- enum:
|
||||
- qcom,pm8941-iadc
|
||||
- const: qcom,spmi-iadc
|
||||
|
||||
reg:
|
||||
description: IADC base address and length in the SPMI PMIC register map
|
||||
|
|
@ -50,7 +53,7 @@ examples:
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pmic_iadc: adc@3600 {
|
||||
compatible = "qcom,spmi-iadc";
|
||||
compatible = "qcom,pm8941-iadc", "qcom,spmi-iadc";
|
||||
reg = <0x3600>;
|
||||
interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
qcom,external-resistor-micro-ohms = <10000>;
|
||||
|
|
|
|||
|
|
@ -22,13 +22,11 @@ properties:
|
|||
- 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
|
||||
- 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
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ properties:
|
|||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- renesas,r9a07g043-adc # RZ/G2UL
|
||||
- renesas,r9a07g043-adc # RZ/G2UL and RZ/Five
|
||||
- renesas,r9a07g044-adc # RZ/G2L
|
||||
- renesas,r9a07g054-adc # RZ/V2L
|
||||
- const: renesas,rzg2l-adc
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ properties:
|
|||
- rockchip,rk3328-saradc
|
||||
- rockchip,rk3568-saradc
|
||||
- rockchip,rv1108-saradc
|
||||
- rockchip,rv1126-saradc
|
||||
- const: rockchip,rk3399-saradc
|
||||
|
||||
reg:
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ properties:
|
|||
- st,stm32f4-adc-core
|
||||
- st,stm32h7-adc-core
|
||||
- st,stm32mp1-adc-core
|
||||
- st,stm32mp13-adc-core
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
@ -37,6 +38,7 @@ properties:
|
|||
- stm32f4 and stm32h7 share a common ADC interrupt line.
|
||||
- stm32mp1 has two separate interrupt lines, one for each ADC within
|
||||
ADC block.
|
||||
- stm32mp13 has an interrupt line per ADC block.
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
|
|
@ -180,6 +182,33 @@ allOf:
|
|||
maximum: 36000000
|
||||
default: 36000000
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: st,stm32mp13-adc-core
|
||||
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: bus
|
||||
- const: adc
|
||||
minItems: 1
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: ADC interrupt line
|
||||
|
||||
st,max-clk-rate-hz:
|
||||
minimum: 150000
|
||||
maximum: 75000000
|
||||
default: 75000000
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
|
|
@ -208,6 +237,7 @@ patternProperties:
|
|||
- st,stm32f4-adc
|
||||
- st,stm32h7-adc
|
||||
- st,stm32mp1-adc
|
||||
- st,stm32mp13-adc
|
||||
|
||||
reg:
|
||||
description: |
|
||||
|
|
@ -229,7 +259,7 @@ patternProperties:
|
|||
interrupts:
|
||||
description: |
|
||||
IRQ Line for the ADC instance. Valid values are:
|
||||
- 0 for adc@0
|
||||
- 0 for adc@0 (single adc for stm32mp13)
|
||||
- 1 for adc@100
|
||||
- 2 for adc@200 (stm32f4 only)
|
||||
maxItems: 1
|
||||
|
|
@ -250,13 +280,14 @@ patternProperties:
|
|||
assigned-resolution-bits:
|
||||
description: |
|
||||
Resolution (bits) to use for conversions:
|
||||
- can be 6, 8, 10 or 12 on stm32f4
|
||||
- can be 6, 8, 10 or 12 on stm32f4 and stm32mp13
|
||||
- can be 8, 10, 12, 14 or 16 on stm32h7 and stm32mp1
|
||||
|
||||
st,adc-channels:
|
||||
description: |
|
||||
List of single-ended channels muxed for this ADC. It can have up to:
|
||||
- 16 channels, numbered from 0 to 15 (for in0..in15) on stm32f4
|
||||
- 19 channels, numbered from 0 to 18 (for in0..in18) on stm32mp13.
|
||||
- 20 channels, numbered from 0 to 19 (for in0..in19) on stm32h7 and
|
||||
stm32mp1.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
|
|
@ -322,7 +353,7 @@ patternProperties:
|
|||
label:
|
||||
description: |
|
||||
Unique name to identify which channel this is.
|
||||
Reserved label names "vddcore", "vrefint" and "vbat"
|
||||
Reserved label names "vddcore", "vddcpu", "vddq_ddr", "vrefint" and "vbat"
|
||||
are used to identify internal channels with matching names.
|
||||
|
||||
diff-channels:
|
||||
|
|
@ -419,6 +450,37 @@ patternProperties:
|
|||
items:
|
||||
minimum: 40
|
||||
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: st,stm32mp13-adc
|
||||
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
const: 0x0
|
||||
|
||||
interrupts:
|
||||
const: 0
|
||||
|
||||
assigned-resolution-bits:
|
||||
enum: [6, 8, 10, 12]
|
||||
default: 12
|
||||
|
||||
st,adc-channels:
|
||||
minItems: 1
|
||||
maxItems: 19
|
||||
items:
|
||||
minimum: 0
|
||||
maximum: 18
|
||||
|
||||
st,min-sample-time-nsecs:
|
||||
minItems: 1
|
||||
maxItems: 19
|
||||
items:
|
||||
minimum: 40
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
|
|
|
|||
373
Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml
Normal file
373
Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml
Normal file
|
|
@ -0,0 +1,373 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/addac/adi,ad74115.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices AD74115H device
|
||||
|
||||
maintainers:
|
||||
- Cosmin Tanislav <cosmin.tanislav@analog.com>
|
||||
|
||||
description: |
|
||||
The AD74115H is a single-channel software configurable input/output
|
||||
device for industrial control applications. It contains functionality for
|
||||
analog output, analog input, digital output, digital input, resistance
|
||||
temperature detector, and thermocouple measurements integrated into a single
|
||||
chip solution with an SPI interface. The device features a 16-bit ADC and a
|
||||
14-bit DAC.
|
||||
|
||||
https://www.analog.com/en/products/ad74115h.html
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad74115h
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 24000000
|
||||
|
||||
spi-cpol: true
|
||||
|
||||
reset-gpios: true
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
items:
|
||||
enum:
|
||||
- adc_rdy
|
||||
- alert
|
||||
|
||||
avdd-supply: true
|
||||
avcc-supply: true
|
||||
dvcc-supply: true
|
||||
dovdd-supply: true
|
||||
refin-supply: true
|
||||
|
||||
adi,ch-func:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Channel function.
|
||||
0 - High impedance
|
||||
1 - Voltage output
|
||||
2 - Current output
|
||||
3 - Voltage input
|
||||
4 - Current input, externally-powered
|
||||
5 - Current input, loop-powered
|
||||
6 - Resistance input
|
||||
7 - RTD measure
|
||||
8 - Digital input logic
|
||||
9 - Digital input, loop-powered
|
||||
10 - Current output with HART
|
||||
11 - Current input, externally-powered, with HART
|
||||
12 - Current input, loop-powered, with HART
|
||||
minimum: 0
|
||||
maximum: 12
|
||||
default: 0
|
||||
|
||||
adi,conv2-mux:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Input node for ADC conversion 2.
|
||||
0 - SENSE_EXT1 to AGND_SENSE
|
||||
1 - SENSE_EXT2 to AGND_SENSE
|
||||
2 - SENSE_EXT2 to SENSE_EXT1
|
||||
3 - AGND to AGND
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
default: 0
|
||||
|
||||
adi,conv2-range-microvolt:
|
||||
description: Conversion range for ADC conversion 2.
|
||||
oneOf:
|
||||
- items:
|
||||
- enum: [-2500000, 0]
|
||||
- const: 2500000
|
||||
- items:
|
||||
- enum: [-12000000, 0]
|
||||
- const: 12000000
|
||||
- items:
|
||||
- const: -2500000
|
||||
- const: 0
|
||||
- items:
|
||||
- const: -104000
|
||||
- const: 104000
|
||||
- items:
|
||||
- const: 0
|
||||
- const: 625000
|
||||
|
||||
adi,sense-agnd-buffer-low-power:
|
||||
type: boolean
|
||||
description:
|
||||
Whether to enable low-power buffered mode for the AGND sense pin.
|
||||
|
||||
adi,lf-buffer-low-power:
|
||||
type: boolean
|
||||
description:
|
||||
Whether to enable low-power buffered mode for the low-side filtered
|
||||
sense pin.
|
||||
|
||||
adi,hf-buffer-low-power:
|
||||
type: boolean
|
||||
description:
|
||||
Whether to enable low-power buffered mode for the high-side filtered
|
||||
sense pin.
|
||||
|
||||
adi,ext2-buffer-low-power:
|
||||
type: boolean
|
||||
description: Whether to enable low-power buffered mode for the EXT2 pin.
|
||||
|
||||
adi,ext1-buffer-low-power:
|
||||
type: boolean
|
||||
description: Whether to enable low-power buffered mode for the EXT1 pin.
|
||||
|
||||
adi,comparator-invert:
|
||||
type: boolean
|
||||
description: Whether to invert the comparator output.
|
||||
|
||||
adi,digital-input-sink-range-high:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
When not present, the digital input range is from 0 to 3700uA in steps
|
||||
of 120uA, with a ~2k series resistance.
|
||||
When present, the digital input range is from 0 to 7400uA in steps
|
||||
of 240uA, with a ~1k series resistance.
|
||||
|
||||
adi,digital-input-sink-microamp:
|
||||
description: Sink current in digital input mode.
|
||||
minimum: 0
|
||||
maximum: 3700
|
||||
default: 0
|
||||
|
||||
adi,digital-input-debounce-mode-counter-reset:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, a counter increments when the signal is asserted
|
||||
and decrements when the signal is de-asserted.
|
||||
When present, a counter increments while the signal is asserted and
|
||||
resets when the signal de-asserts
|
||||
|
||||
adi,digital-input-unbuffered:
|
||||
type: boolean
|
||||
description: Whether to buffer digital input signals.
|
||||
|
||||
adi,digital-input-short-circuit-detection:
|
||||
type: boolean
|
||||
description: Whether to detect digital input short circuits.
|
||||
|
||||
adi,digital-input-open-circuit-detection:
|
||||
type: boolean
|
||||
description: Whether to detect digital input open circuits.
|
||||
|
||||
adi,digital-input-threshold-mode-fixed:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, the digital input threshold range is -0.96 * AVDD
|
||||
to AVDD.
|
||||
When present, the threshold range is fixed from -19V to 30V.
|
||||
|
||||
adi,dac-bipolar:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, the DAC operates in the 0V to 12V range.
|
||||
When present, the DAC operates in the -12V to 12V range.
|
||||
|
||||
adi,charge-pump:
|
||||
type: boolean
|
||||
description: Whether to enable the internal charge pump.
|
||||
|
||||
adi,dac-hart-slew:
|
||||
type: boolean
|
||||
description: Whether to use a HART-compatible slew rate.
|
||||
|
||||
adi,dac-current-limit-low:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, the DAC short-circuit current limit is 32mA in
|
||||
either source or sink for VOUT and 4mA sink for IOUT.
|
||||
When present, the limit is 16mA in either source or sink for VOUT,
|
||||
1mA sink for IOUT.
|
||||
|
||||
adi,4-wire-rtd:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, the ADC should be used for measuring 3-wire RTDs.
|
||||
When present, the ADC should be used for measuring 4-wire RTDs.
|
||||
|
||||
adi,3-wire-rtd-excitation-swap:
|
||||
type: boolean
|
||||
description: Whether to swap the excitation for 3-wire RTD.
|
||||
|
||||
adi,rtd-excitation-current-microamp:
|
||||
description: Excitation current to apply to RTD.
|
||||
enum: [250, 500, 750, 1000]
|
||||
default: 250
|
||||
|
||||
adi,ext1-burnout:
|
||||
type: boolean
|
||||
description: Whether to enable burnout current for EXT1.
|
||||
|
||||
adi,ext1-burnout-current-nanoamp:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
Burnout current in nanoamps to be applied to EXT1.
|
||||
enum: [0, 50, 500, 1000, 10000]
|
||||
default: 0
|
||||
|
||||
adi,ext1-burnout-current-polarity-sourcing:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, the burnout current polarity for EXT1 is sinking.
|
||||
When present, the burnout current polarity for EXT1 is sourcing.
|
||||
|
||||
adi,ext2-burnout:
|
||||
type: boolean
|
||||
description: Whether to enable burnout current for EXT2.
|
||||
|
||||
adi,ext2-burnout-current-nanoamp:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Burnout current in nanoamps to be applied to EXT2.
|
||||
enum: [0, 50, 500, 1000, 10000]
|
||||
default: 0
|
||||
|
||||
adi,ext2-burnout-current-polarity-sourcing:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, the burnout current polarity for EXT2 is sinking.
|
||||
When present, the burnout current polarity for EXT2 is sourcing.
|
||||
|
||||
adi,viout-burnout:
|
||||
type: boolean
|
||||
description: Whether to enable burnout current for VIOUT.
|
||||
|
||||
adi,viout-burnout-current-nanoamp:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Burnout current in nanoamps to be applied to VIOUT.
|
||||
enum: [0, 1000, 10000]
|
||||
default: 0
|
||||
|
||||
adi,viout-burnout-current-polarity-sourcing:
|
||||
type: boolean
|
||||
description: |
|
||||
When not present, the burnout current polarity for VIOUT is sinking.
|
||||
When present, the burnout current polarity for VIOUT is sourcing.
|
||||
|
||||
adi,gpio0-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
GPIO functions.
|
||||
0 - Disabled
|
||||
1 - Logic I/O
|
||||
2 - Comparator output
|
||||
3 - Control HART CD
|
||||
4 - Monitor HART CD
|
||||
5 - Monitor HART EOM status
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
default: 0
|
||||
|
||||
adi,gpio1-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
GPIO functions.
|
||||
0 - Disabled
|
||||
1 - Logic I/O
|
||||
2 - Drive external digital output FET
|
||||
3 - Control HART RXD
|
||||
4 - Monitor HART RXD
|
||||
5 - Monitor HART SOM status
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
default: 0
|
||||
|
||||
adi,gpio2-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
GPIO functions.
|
||||
0 - Disabled
|
||||
1 - Logic I/O
|
||||
2 - Drive internal digital output FET
|
||||
3 - Control HART TXD
|
||||
4 - Monitor HART TXD
|
||||
5 - Monitor HART TX complete status
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
default: 0
|
||||
|
||||
adi,gpio3-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
GPIO functions.
|
||||
0 - Disabled
|
||||
1 - Logic I/O
|
||||
2 - High impedance
|
||||
3 - Control HART RTS
|
||||
4 - Monitor HART RTS
|
||||
5 - Monitor HART CD complete status
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
default: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- spi-cpol
|
||||
- avdd-supply
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- if:
|
||||
required:
|
||||
- adi,digital-input-sink-range-high
|
||||
then:
|
||||
properties:
|
||||
adi,digital-input-sink-microamp:
|
||||
maximum: 7400
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
addac@0 {
|
||||
compatible = "adi,ad74115h";
|
||||
reg = <0>;
|
||||
|
||||
spi-max-frequency = <12000000>;
|
||||
spi-cpol;
|
||||
|
||||
reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
|
||||
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-names = "adc_rdy";
|
||||
|
||||
avdd-supply = <&ad74115_avdd>;
|
||||
|
||||
adi,ch-func = <1>;
|
||||
adi,conv2-mux = <2>;
|
||||
adi,conv2-range-microvolt = <(-12000000) 12000000>;
|
||||
|
||||
adi,gpio0-mode = <1>;
|
||||
adi,gpio1-mode = <1>;
|
||||
adi,gpio2-mode = <1>;
|
||||
adi,gpio3-mode = <1>;
|
||||
|
||||
adi,dac-bipolar;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
|
@ -51,6 +51,9 @@ properties:
|
|||
Shunt (sense) resistor value in micro-Ohms.
|
||||
default: 100000000
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
@ -58,8 +61,6 @@ required:
|
|||
- spi-cpol
|
||||
- refin-supply
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
patternProperties:
|
||||
"^channel@[0-3]$":
|
||||
type: object
|
||||
|
|
@ -103,6 +104,11 @@ patternProperties:
|
|||
required:
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
|
@ -113,9 +119,7 @@ examples:
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cs-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
|
||||
ad74413r@0 {
|
||||
addac@0 {
|
||||
compatible = "adi,ad74413r";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
|
|
@ -128,6 +132,7 @@ examples:
|
|||
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
refin-supply = <&ad74413r_refin>;
|
||||
reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
|
||||
|
||||
channel@0 {
|
||||
reg = <0>;
|
||||
|
|
|
|||
|
|
@ -102,8 +102,7 @@ allOf:
|
|||
- if:
|
||||
properties:
|
||||
adi,dc-dc-mode:
|
||||
contains:
|
||||
enum: [1, 3]
|
||||
enum: [1, 3]
|
||||
then:
|
||||
properties:
|
||||
adi,range-microvolt: false
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||
title: Analog Devices AD5766 DAC device driver
|
||||
|
||||
maintainers:
|
||||
- Cristian Pop <cristian.pop@analog.com>
|
||||
- Nuno Sá <nuno.sa@analog.com>
|
||||
|
||||
description: |
|
||||
Bindings for the Analog Devices AD5766 current DAC device. Datasheet can be
|
||||
|
|
|
|||
|
|
@ -160,13 +160,16 @@ properties:
|
|||
2: +2dBm
|
||||
3: +5dBm
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/frequency/adi,adf4377.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ADF4377 Microwave Wideband Synthesizer with Integrated VCO
|
||||
|
||||
maintainers:
|
||||
- Antoniu Miclaus <antoniu.miclaus@analog.com>
|
||||
- Dragos Bogdan <dragos.bogdan@analog.com>
|
||||
|
||||
description: |
|
||||
The ADF4377 is a high performance, ultralow jitter, dual output integer-N
|
||||
phased locked loop (PLL) with integrated voltage controlled oscillator (VCO)
|
||||
ideally suited for data converter and mixed signal front end (MxFE) clock
|
||||
applications.
|
||||
|
||||
https://www.analog.com/en/products/adf4377.html
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,adf4377
|
||||
- adi,adf4378
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 10000000
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
description:
|
||||
External clock that provides reference input frequency.
|
||||
items:
|
||||
- const: ref_in
|
||||
|
||||
chip-enable-gpios:
|
||||
description:
|
||||
GPIO that controls the Chip Enable Pin.
|
||||
maxItems: 1
|
||||
|
||||
clk1-enable-gpios:
|
||||
description:
|
||||
GPIO that controls the Enable Clock 1 Output Buffer Pin.
|
||||
maxItems: 1
|
||||
|
||||
clk2-enable-gpios:
|
||||
description:
|
||||
GPIO that controls the Enable Clock 2 Output Buffer Pin.
|
||||
maxItems: 1
|
||||
|
||||
adi,muxout-select:
|
||||
description:
|
||||
On chip multiplexer output selection.
|
||||
high_z - MUXOUT Pin set to high-Z.
|
||||
lock_detect - MUXOUT Pin set to lock detector output.
|
||||
muxout_low - MUXOUT Pin set to low.
|
||||
f_div_rclk_2 - MUXOUT Pin set to fDIV_RCLK/2.
|
||||
f_div_nclk_2 - MUXOUT Pin set to fDIV_NCLK/2.
|
||||
muxout_high - MUXOUT Pin set to high.
|
||||
enum: [high_z, lock_detect, muxout_low, f_div_rclk_2, f_div_nclk_2, muxout_high]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
frequency@0 {
|
||||
compatible = "adi,adf4377";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>;
|
||||
clocks = <&adf4377_ref_in>;
|
||||
clock-names = "ref_in";
|
||||
};
|
||||
};
|
||||
...
|
||||
|
|
@ -70,7 +70,10 @@ required:
|
|||
- clock-names
|
||||
- vcm-supply
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -104,7 +104,10 @@ required:
|
|||
- clock-names
|
||||
- vcm-supply
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||
title: ADMV4420 K Band Downconverter
|
||||
|
||||
maintainers:
|
||||
- Cristian Pop <cristian.pop@analog.com>
|
||||
- Nuno Sá <nuno.sa@analog.com>
|
||||
|
||||
description:
|
||||
The ADMV4420 is a highly integrated, double balanced, active
|
||||
|
|
@ -37,7 +37,11 @@ required:
|
|||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -113,7 +113,10 @@ required:
|
|||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -38,7 +38,10 @@ required:
|
|||
- spi-cpol
|
||||
- spi-cpha
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -56,7 +56,10 @@ required:
|
|||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ required:
|
|||
- spi-cpol
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
|
@ -107,7 +108,7 @@ allOf:
|
|||
dependencies:
|
||||
adi,sync-mode: [ clocks ]
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ properties:
|
|||
- invensense,icm42602
|
||||
- invensense,icm42605
|
||||
- invensense,icm42622
|
||||
- invensense,icm42631
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
|||
|
|
@ -32,12 +32,20 @@ properties:
|
|||
- st,lsm6dsrx
|
||||
- st,lsm6dst
|
||||
- st,lsm6dsop
|
||||
- st,lsm6dsv
|
||||
- st,lsm6dso16is
|
||||
- items:
|
||||
- const: st,asm330lhhx
|
||||
- const: st,lsm6dsr
|
||||
- items:
|
||||
- const: st,lsm6dstx
|
||||
- const: st,lsm6dst
|
||||
- items:
|
||||
- const: st,lsm6dsv16x
|
||||
- const: st,lsm6dsv
|
||||
- items:
|
||||
- const: st,ism330is
|
||||
- const: st,lsm6dso16is
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
|||
|
|
@ -30,7 +30,10 @@ required:
|
|||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
@ -52,6 +55,7 @@ examples:
|
|||
compatible = "meas,ms5611";
|
||||
reg = <0>;
|
||||
vdd-supply = <&ldo_3v3_gnss>;
|
||||
spi-max-frequency = <20000000>;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
|
|
|||
|
|
@ -33,7 +33,10 @@ required:
|
|||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -49,7 +49,10 @@ required:
|
|||
- spi-cpha
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -33,8 +33,6 @@ properties:
|
|||
|
||||
spi-cpha: true
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
@ -43,6 +41,11 @@ dependencies:
|
|||
spi-cpol: [ spi-cpha ]
|
||||
spi-cpha: [ spi-cpol ]
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
|
|
|
|||
|
|
@ -4,19 +4,30 @@
|
|||
$id: http://devicetree.org/schemas/iio/temperature/adi,ltc2983.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices LTC2983 Multi-sensor Temperature system
|
||||
title: Analog Devices LTC2983, LTC2986, LTM2985 Multi-sensor Temperature system
|
||||
|
||||
maintainers:
|
||||
- Nuno Sá <nuno.sa@analog.com>
|
||||
|
||||
description: |
|
||||
Analog Devices LTC2983 Multi-Sensor Digital Temperature Measurement System
|
||||
Analog Devices LTC2983, LTC2984, LTC2986, LTM2985 Multi-Sensor Digital
|
||||
Temperature Measurement Systems
|
||||
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/2983fc.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/2984fb.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/29861fa.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ltm2985.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ltc2983
|
||||
oneOf:
|
||||
- enum:
|
||||
- adi,ltc2983
|
||||
- adi,ltc2986
|
||||
- adi,ltm2985
|
||||
- items:
|
||||
- const: adi,ltc2984
|
||||
- const: adi,ltc2983
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
@ -25,26 +36,26 @@ properties:
|
|||
maxItems: 1
|
||||
|
||||
adi,mux-delay-config-us:
|
||||
description:
|
||||
The LTC2983 performs 2 or 3 internal conversion cycles per temperature
|
||||
result. Each conversion cycle is performed with different excitation and
|
||||
input multiplexer configurations. Prior to each conversion, these
|
||||
excitation circuits and input switch configurations are changed and an
|
||||
internal 1ms delay ensures settling prior to the conversion cycle in most
|
||||
cases. An extra delay can be configured using this property. The value is
|
||||
rounded to nearest 100us.
|
||||
description: |
|
||||
Extra delay prior to each conversion, in addition to the internal 1ms
|
||||
delay, for the multiplexer to switch input configurations and
|
||||
excitation values.
|
||||
|
||||
This property is supposed to be in microseconds, but to maintain
|
||||
compatibility, this value will be multiplied by 100 before usage.
|
||||
maximum: 255
|
||||
default: 0
|
||||
|
||||
adi,filter-notch-freq:
|
||||
description:
|
||||
Set's the default setting of the digital filter. The default is
|
||||
simultaneous 50/60Hz rejection.
|
||||
Notch frequency of the digital filter.
|
||||
0 - 50/60Hz rejection
|
||||
1 - 60Hz rejection
|
||||
2 - 50Hz rejection
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 2
|
||||
default: 0
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
|
@ -53,19 +64,20 @@ properties:
|
|||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"@([1-9]|1[0-9]|20)$":
|
||||
"@([0-9a-f]+)$":
|
||||
type: object
|
||||
description: Sensor.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
The channel number. It can be connected to one of the 20 channels of
|
||||
the device.
|
||||
Channel number. Connects the sensor to the channel with this number
|
||||
of the device.
|
||||
minimum: 1
|
||||
maximum: 20
|
||||
|
||||
adi,sensor-type:
|
||||
description: Identifies the type of sensor connected to the device.
|
||||
description: Type of sensor connected to the device.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
required:
|
||||
|
|
@ -74,9 +86,7 @@ patternProperties:
|
|||
|
||||
"^thermocouple@":
|
||||
type: object
|
||||
description:
|
||||
Represents a thermocouple sensor which is connected to one of the device
|
||||
channels.
|
||||
description: Thermocouple sensor.
|
||||
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
|
|
@ -95,86 +105,87 @@ patternProperties:
|
|||
maximum: 9
|
||||
|
||||
adi,single-ended:
|
||||
description:
|
||||
Boolean property which set's the thermocouple as single-ended.
|
||||
description: Whether the sensor is single-ended.
|
||||
type: boolean
|
||||
|
||||
adi,sensor-oc-current-microamp:
|
||||
description:
|
||||
This property set's the pulsed current value applied during
|
||||
open-circuit detect.
|
||||
description: Pulsed current value applied during open-circuit detect.
|
||||
enum: [10, 100, 500, 1000]
|
||||
default: 10
|
||||
|
||||
adi,cold-junction-handle:
|
||||
description:
|
||||
Phandle which points to a sensor object responsible for measuring
|
||||
the thermocouple cold junction temperature.
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||
Sensor responsible for measuring the thermocouple cold junction
|
||||
temperature.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
adi,custom-thermocouple:
|
||||
description:
|
||||
This is a table, where each entry should be a pair of
|
||||
voltage(mv)-temperature(K). The entries must be given in nv and uK
|
||||
so that, the original values must be multiplied by 1000000. For
|
||||
more details look at table 69 and 70.
|
||||
Note should be signed, but dtc doesn't currently maintain the
|
||||
sign.
|
||||
Used for digitizing custom thermocouples.
|
||||
See Page 59 of the datasheet.
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-matrix
|
||||
minItems: 3
|
||||
maxItems: 64
|
||||
items:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
items:
|
||||
- description: Voltage point in nV, signed.
|
||||
- description: Temperature point in uK.
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
const: 9
|
||||
then:
|
||||
required:
|
||||
- adi,custom-thermocouple
|
||||
|
||||
"^diode@":
|
||||
type: object
|
||||
description:
|
||||
Represents a diode sensor which is connected to one of the device
|
||||
channels.
|
||||
description: Diode sensor.
|
||||
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
description: Identifies the sensor as a diode.
|
||||
description: Sensor type for diodes.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
const: 28
|
||||
|
||||
adi,single-ended:
|
||||
description: Boolean property which set's the diode as single-ended.
|
||||
description: Whether the sensor is single-ended.
|
||||
type: boolean
|
||||
|
||||
adi,three-conversion-cycles:
|
||||
description:
|
||||
Boolean property which set's three conversion cycles removing
|
||||
parasitic resistance effects between the LTC2983 and the diode.
|
||||
Whether to use three conversion cycles to remove parasitic
|
||||
resistance between the device and the diode.
|
||||
type: boolean
|
||||
|
||||
adi,average-on:
|
||||
description:
|
||||
Boolean property which enables a running average of the diode
|
||||
temperature reading. This reduces the noise when the diode is used
|
||||
as a cold junction temperature element on an isothermal block
|
||||
where temperatures change slowly.
|
||||
Whether to use a running average of the diode temperature
|
||||
reading to reduce the noise when the diode is used as a cold
|
||||
junction temperature element on an isothermal block where
|
||||
temperatures change slowly.
|
||||
type: boolean
|
||||
|
||||
adi,excitation-current-microamp:
|
||||
description:
|
||||
This property controls the magnitude of the excitation current
|
||||
applied to the diode. Depending on the number of conversions
|
||||
cycles, this property will assume different predefined values on
|
||||
each cycle. Just set the value of the first cycle (1l).
|
||||
Magnitude of the 1l excitation current applied to the diode.
|
||||
4l excitation current will be 4 times this value, and 8l
|
||||
excitation current will be 8 times value.
|
||||
enum: [10, 20, 40, 80]
|
||||
default: 10
|
||||
|
||||
adi,ideal-factor-value:
|
||||
description:
|
||||
This property sets the diode ideality factor. The real value must
|
||||
be multiplied by 1000000 to remove the fractional part. For more
|
||||
information look at table 20 of the datasheet.
|
||||
Diode ideality factor.
|
||||
Set this property to 1000000 times the real value.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 0
|
||||
|
||||
"^rtd@":
|
||||
type: object
|
||||
description:
|
||||
Represents a rtd sensor which is connected to one of the device channels.
|
||||
description: RTD sensor.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -197,68 +208,82 @@ patternProperties:
|
|||
maximum: 18
|
||||
|
||||
adi,rsense-handle:
|
||||
description:
|
||||
Phandle pointing to a rsense object associated with this RTD.
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||
description: Associated sense resistor sensor.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
adi,number-of-wires:
|
||||
description:
|
||||
Identifies the number of wires used by the RTD. Setting this
|
||||
property to 5 means 4 wires with Kelvin Rsense.
|
||||
Number of wires used by the RTD.
|
||||
5 means 4 wires with Kelvin sense resistor.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [2, 3, 4, 5]
|
||||
default: 2
|
||||
|
||||
adi,rsense-share:
|
||||
description:
|
||||
Boolean property which enables Rsense sharing, where one sense
|
||||
resistor is used for multiple 2-, 3-, and/or 4-wire RTDs.
|
||||
type: boolean
|
||||
|
||||
adi,current-rotate:
|
||||
description:
|
||||
Boolean property which enables excitation current rotation to
|
||||
automatically remove parasitic thermocouple effects. Note that
|
||||
this property is not allowed for 2- and 3-wire RTDs.
|
||||
Whether to enable sense resistor sharing, where one sense
|
||||
resistor is used by multiple sensors.
|
||||
type: boolean
|
||||
|
||||
adi,excitation-current-microamp:
|
||||
description:
|
||||
This property controls the magnitude of the excitation current
|
||||
applied to the RTD.
|
||||
description: Excitation current applied to the RTD.
|
||||
enum: [5, 10, 25, 50, 100, 250, 500, 1000]
|
||||
default: 5
|
||||
|
||||
adi,rtd-curve:
|
||||
description:
|
||||
This property set the RTD curve used and the corresponding
|
||||
Callendar-VanDusen constants. Look at table 30 of the datasheet.
|
||||
description: |
|
||||
RTD curve and the corresponding Callendar-VanDusen constants.
|
||||
0 - European
|
||||
1 - American
|
||||
2 - Japanese
|
||||
3 - ITS-90
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
default: 0
|
||||
|
||||
adi,custom-rtd:
|
||||
description:
|
||||
This is a table, where each entry should be a pair of
|
||||
resistance(ohm)-temperature(K). The entries added here are in uohm
|
||||
and uK. For more details values look at table 74 and 75.
|
||||
Used for digitizing custom RTDs.
|
||||
See Page 62 of the datasheet.
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-matrix
|
||||
minItems: 3
|
||||
maxItems: 64
|
||||
items:
|
||||
minItems: 3
|
||||
maxItems: 64
|
||||
items:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
- description: Resistance point in uOhms.
|
||||
- description: Temperature point in uK.
|
||||
|
||||
required:
|
||||
- adi,rsense-handle
|
||||
|
||||
dependencies:
|
||||
adi,current-rotate: [ "adi,rsense-share" ]
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
adi,number-of-wires:
|
||||
const: 4
|
||||
then:
|
||||
properties:
|
||||
adi,current-rotate:
|
||||
description:
|
||||
Whether to enable excitation current rotation to automatically
|
||||
remove parasitic thermocouple effects.
|
||||
type: boolean
|
||||
|
||||
dependencies:
|
||||
adi,current-rotate: [ "adi,rsense-share" ]
|
||||
|
||||
- if:
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
const: 18
|
||||
then:
|
||||
required:
|
||||
- adi,custom-rtd
|
||||
|
||||
"^thermistor@":
|
||||
type: object
|
||||
description:
|
||||
Represents a thermistor sensor which is connected to one of the device
|
||||
channels.
|
||||
description: Thermistor sensor.
|
||||
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
|
|
@ -277,61 +302,53 @@ patternProperties:
|
|||
maximum: 27
|
||||
|
||||
adi,rsense-handle:
|
||||
description:
|
||||
Phandle pointing to a rsense object associated with this
|
||||
thermistor.
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||
description: Associated sense resistor sensor.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
adi,single-ended:
|
||||
description:
|
||||
Boolean property which set's the thermistor as single-ended.
|
||||
description: Whether the sensor is single-ended.
|
||||
type: boolean
|
||||
|
||||
adi,rsense-share:
|
||||
description:
|
||||
Boolean property which enables Rsense sharing, where one sense
|
||||
resistor is used for multiple thermistors. Note that this property
|
||||
is ignored if adi,single-ended is set.
|
||||
Whether to enable sense resistor sharing, where one sense
|
||||
resistor is used by multiple sensors.
|
||||
type: boolean
|
||||
|
||||
adi,current-rotate:
|
||||
description:
|
||||
Boolean property which enables excitation current rotation to
|
||||
automatically remove parasitic thermocouple effects.
|
||||
Whether to enable excitation current rotation to automatically
|
||||
remove parasitic thermocouple effects.
|
||||
type: boolean
|
||||
|
||||
adi,excitation-current-nanoamp:
|
||||
description:
|
||||
This property controls the magnitude of the excitation current
|
||||
applied to the thermistor. Value 0 set's the sensor in auto-range
|
||||
mode.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
Excitation current applied to the thermistor.
|
||||
0 sets the sensor in auto-range mode.
|
||||
enum: [0, 250, 500, 1000, 5000, 10000, 25000, 50000, 100000, 250000,
|
||||
500000, 1000000]
|
||||
default: 0
|
||||
|
||||
adi,custom-thermistor:
|
||||
description:
|
||||
This is a table, where each entry should be a pair of
|
||||
resistance(ohm)-temperature(K). The entries added here are in uohm
|
||||
and uK only for custom thermistors. For more details look at table
|
||||
78 and 79.
|
||||
Used for digitizing custom thermistors.
|
||||
See Page 65 of the datasheet.
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-matrix
|
||||
minItems: 3
|
||||
maxItems: 64
|
||||
items:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
items:
|
||||
- description: Resistance point in uOhms.
|
||||
- description: Temperature point in uK.
|
||||
|
||||
adi,custom-steinhart:
|
||||
description:
|
||||
Steinhart-Hart coefficients are also supported and can
|
||||
be programmed into the device memory using this property. For
|
||||
Steinhart sensors the coefficients are given in the raw
|
||||
format. Look at table 82 for more information.
|
||||
Steinhart-Hart coefficients in raw format, used for digitizing
|
||||
custom thermistors.
|
||||
See Page 68 of the datasheet.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
items:
|
||||
minItems: 6
|
||||
maxItems: 6
|
||||
minItems: 6
|
||||
maxItems: 6
|
||||
|
||||
required:
|
||||
- adi,rsense-handle
|
||||
|
|
@ -339,25 +356,78 @@ patternProperties:
|
|||
dependencies:
|
||||
adi,current-rotate: [ "adi,rsense-share" ]
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
const: 26
|
||||
then:
|
||||
properties:
|
||||
adi,excitation-current-nanoamp:
|
||||
enum: [250, 500, 1000, 5000, 10000, 25000, 50000, 100000,
|
||||
250000, 500000, 1000000]
|
||||
default: 1000
|
||||
required:
|
||||
- adi,custom-steinhart
|
||||
- if:
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
const: 27
|
||||
then:
|
||||
properties:
|
||||
adi,excitation-current-nanoamp:
|
||||
enum: [250, 500, 1000, 5000, 10000, 25000, 50000, 100000,
|
||||
250000, 500000, 1000000]
|
||||
default: 1000
|
||||
required:
|
||||
- adi,custom-thermistor
|
||||
|
||||
"^adc@":
|
||||
type: object
|
||||
description: Represents a channel which is being used as a direct adc.
|
||||
description: Direct ADC sensor.
|
||||
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
description: Identifies the sensor as a direct adc.
|
||||
description: Sensor type for direct ADC sensors.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
const: 30
|
||||
|
||||
adi,single-ended:
|
||||
description: Boolean property which set's the adc as single-ended.
|
||||
description: Whether the sensor is single-ended.
|
||||
type: boolean
|
||||
|
||||
"^temp@":
|
||||
type: object
|
||||
description: Active analog temperature sensor.
|
||||
|
||||
properties:
|
||||
adi,sensor-type:
|
||||
description: Sensor type for active analog temperature sensors.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
const: 31
|
||||
|
||||
adi,single-ended:
|
||||
description: Whether the sensor is single-ended.
|
||||
type: boolean
|
||||
|
||||
adi,custom-temp:
|
||||
description:
|
||||
Used for digitizing active analog temperature sensors.
|
||||
See Page 67 of the LTM2985 datasheet.
|
||||
$ref: /schemas/types.yaml#/definitions/uint64-matrix
|
||||
minItems: 3
|
||||
maxItems: 64
|
||||
items:
|
||||
items:
|
||||
- description: Voltage point in nV, signed.
|
||||
- description: Temperature point in uK.
|
||||
|
||||
required:
|
||||
- adi,custom-temp
|
||||
|
||||
"^rsense@":
|
||||
type: object
|
||||
description:
|
||||
Represents a rsense which is connected to one of the device channels.
|
||||
Rsense are used by thermistors and RTD's.
|
||||
description: Sense resistor sensor.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -365,14 +435,12 @@ patternProperties:
|
|||
maximum: 20
|
||||
|
||||
adi,sensor-type:
|
||||
description: Identifies the sensor as a rsense.
|
||||
description: Sensor type sense resistor sensors.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
const: 29
|
||||
|
||||
adi,rsense-val-milli-ohms:
|
||||
description:
|
||||
Sets the value of the sense resistor. Look at table 20 of the
|
||||
datasheet for information.
|
||||
description: Value of the sense resistor.
|
||||
|
||||
required:
|
||||
- adi,rsense-val-milli-ohms
|
||||
|
|
@ -384,6 +452,18 @@ required:
|
|||
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- adi,ltc2983
|
||||
- adi,ltc2984
|
||||
then:
|
||||
patternProperties:
|
||||
"^temp@": false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
|
@ -391,7 +471,7 @@ examples:
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sensor_ltc2983: ltc2983@0 {
|
||||
temperature-sensor@0 {
|
||||
compatible = "adi,ltc2983";
|
||||
reg = <0>;
|
||||
|
||||
|
|
|
|||
|
|
@ -25,9 +25,14 @@ properties:
|
|||
- items:
|
||||
- enum:
|
||||
- qcom,sc7280-cpu-bwmon
|
||||
- qcom,sc8280xp-cpu-bwmon
|
||||
- qcom,sdm845-bwmon
|
||||
- const: qcom,msm8998-bwmon
|
||||
- const: qcom,msm8998-bwmon # BWMON v4
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,sc8280xp-llcc-bwmon
|
||||
- const: qcom,sc7280-llcc-bwmon
|
||||
- const: qcom,sc7280-llcc-bwmon # BWMON v5
|
||||
- const: qcom,sdm845-llcc-bwmon # BWMON v5
|
||||
|
||||
|
|
|
|||
|
|
@ -16,13 +16,21 @@ description:
|
|||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,sc7180-osm-l3
|
||||
- qcom,sc7280-epss-l3
|
||||
- qcom,sc8180x-osm-l3
|
||||
- qcom,sdm845-osm-l3
|
||||
- qcom,sm8150-osm-l3
|
||||
- qcom,sm8250-epss-l3
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,sc7180-osm-l3
|
||||
- qcom,sc8180x-osm-l3
|
||||
- qcom,sdm845-osm-l3
|
||||
- qcom,sm8150-osm-l3
|
||||
- const: qcom,osm-l3
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,sc7280-epss-l3
|
||||
- qcom,sc8280xp-epss-l3
|
||||
- qcom,sm8250-epss-l3
|
||||
- qcom,sm8350-epss-l3
|
||||
- const: qcom,epss-l3
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
@ -56,7 +64,7 @@ examples:
|
|||
#define RPMH_CXO_CLK 0
|
||||
|
||||
osm_l3: interconnect@17d41000 {
|
||||
compatible = "qcom,sdm845-osm-l3";
|
||||
compatible = "qcom,sdm845-osm-l3", "qcom,osm-l3";
|
||||
reg = <0x17d41000 0x1400>;
|
||||
|
||||
clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ patternProperties:
|
|||
|
||||
iommus:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
maxItems: 3
|
||||
|
||||
qcom,nsessions:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/layouts/kontron,sl28-vpd.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVMEM layout of the Kontron SMARC-sAL28 vital product data
|
||||
|
||||
maintainers:
|
||||
- Michael Walle <michael@walle.cc>
|
||||
|
||||
description:
|
||||
The vital product data (VPD) of the sl28 boards contains a serial
|
||||
number and a base MAC address. The actual MAC addresses for the
|
||||
on-board ethernet devices are derived from this base MAC address by
|
||||
adding an offset.
|
||||
|
||||
select: false
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: kontron,sl28-vpd
|
||||
|
||||
serial-number:
|
||||
type: object
|
||||
description: The board's serial number
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
base-mac-address:
|
||||
type: object
|
||||
description:
|
||||
Base MAC address for all on-module network interfaces. The first
|
||||
argument of the phandle will be treated as an offset.
|
||||
|
||||
properties:
|
||||
"#nvmem-cell-cells":
|
||||
const: 1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
otp-1 {
|
||||
compatible = "user-otp";
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "kontron,sl28-vpd";
|
||||
|
||||
serial_number: serial-number {
|
||||
};
|
||||
|
||||
base_mac_address: base-mac-address {
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/layouts/nvmem-layout.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVMEM (Non Volatile Memory) layouts
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
- Michael Walle <michael@walle.cc>
|
||||
- Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
description: |
|
||||
Most NVMEM layouts are static and thus do not require additional description
|
||||
besides the bytes/bits offset and length. Other layouts can be less statically
|
||||
define and might require dynamic reading of the NVMEM device in order to
|
||||
perform their parsing. The nvmem-layout container is here to describe these.
|
||||
|
||||
oneOf:
|
||||
- $ref: kontron,sl28-vpd.yaml
|
||||
- $ref: onie,tlv-layout.yaml
|
||||
|
||||
properties:
|
||||
compatible: true
|
||||
|
||||
'#address-cells': false
|
||||
|
||||
'#size-cells': false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/nvmem/layouts/onie,tlv-layout.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVMEM layout of the ONIE tlv table
|
||||
|
||||
maintainers:
|
||||
- Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
description:
|
||||
Modern networking hardware implementing the Open Compute Project ONIE
|
||||
infrastructure shall provide a non-volatile memory with a table whose the
|
||||
content is well specified and gives many information about the manufacturer
|
||||
(name, country of manufacture, etc) as well as device caracteristics (serial
|
||||
number, hardware version, mac addresses, etc). The underlaying device type
|
||||
(flash, EEPROM,...) is not specified. The exact location of each value is also
|
||||
dynamic and should be discovered at run time because it depends on the
|
||||
parameters the manufacturer decided to embed.
|
||||
|
||||
select: false
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: onie,tlv-layout
|
||||
|
||||
product-name:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
part-number:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
serial-number:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
mac-address:
|
||||
type: object
|
||||
description:
|
||||
Base MAC address for all on-module network interfaces. The first
|
||||
argument of the phandle will be treated as an offset.
|
||||
|
||||
properties:
|
||||
"#nvmem-cell-cells":
|
||||
const: 1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
manufacture-date:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
device-version:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
label-revision:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
platforn-name:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
onie-version:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
num-macs:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
manufacturer:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
country-code:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
vendor:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
diag-version:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
service-tag:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
vendor-extension:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
eeprom@56 {
|
||||
compatible = "atmel,24c64";
|
||||
read-only;
|
||||
reg = <0x56>;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "onie,tlv-layout";
|
||||
|
||||
serial-number {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
flash@0 {
|
||||
compatible = "m25p80", "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
|
||||
otp {
|
||||
compatible = "user-otp";
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "onie,tlv-layout";
|
||||
|
||||
mac-address {
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
|
|
@ -39,6 +39,13 @@ properties:
|
|||
when it's driven low (logical '0') to allow writing.
|
||||
maxItems: 1
|
||||
|
||||
nvmem-layout:
|
||||
$ref: /schemas/nvmem/layouts/nvmem-layout.yaml
|
||||
description:
|
||||
Alternative to the statically defined nvmem cells, this
|
||||
container may reference more advanced (dynamic) layout
|
||||
parsers.
|
||||
|
||||
patternProperties:
|
||||
"@[0-9a-f]+(,[0-7])?$":
|
||||
type: object
|
||||
|
|
@ -67,6 +74,7 @@ examples:
|
|||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
qfprom: eeprom@700000 {
|
||||
compatible = "qcom,msm8974-qfprom", "qcom,qfprom";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x00700000 0x100000>;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ properties:
|
|||
compatible:
|
||||
enum:
|
||||
- st,stm32f4-otp
|
||||
- st,stm32mp13-bsec
|
||||
- st,stm32mp15-bsec
|
||||
|
||||
reg:
|
||||
|
|
|
|||
|
|
@ -28,6 +28,9 @@ properties:
|
|||
items:
|
||||
- const: phy
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
vbus-supply:
|
||||
description:
|
||||
A phandle to the regulator for USB VBUS.
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ properties:
|
|||
oneOf:
|
||||
- enum:
|
||||
- ingenic,jz4740-uart
|
||||
- ingenic,jz4750-uart
|
||||
- ingenic,jz4760-uart
|
||||
- ingenic,jz4780-uart
|
||||
- ingenic,x1000-uart
|
||||
|
|
@ -31,6 +32,9 @@ properties:
|
|||
- items:
|
||||
- const: ingenic,jz4725b-uart
|
||||
- const: ingenic,jz4740-uart
|
||||
- items:
|
||||
- const: ingenic,jz4755-uart
|
||||
- const: ingenic,jz4750-uart
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ properties:
|
|||
- enum:
|
||||
- renesas,scif-r8a779a0 # R-Car V3U
|
||||
- renesas,scif-r8a779f0 # R-Car S4-8
|
||||
- renesas,scif-r8a779g0 # R-Car V4H
|
||||
- const: renesas,rcar-gen4-scif # R-Car Gen4
|
||||
- const: renesas,scif # generic SCIF compatible UART
|
||||
|
||||
|
|
|
|||
|
|
@ -67,8 +67,7 @@ allOf:
|
|||
- if:
|
||||
properties:
|
||||
xlnx,use-parity:
|
||||
contains:
|
||||
const: 1
|
||||
const: 1
|
||||
then:
|
||||
required:
|
||||
- xlnx,odd-parity
|
||||
|
|
|
|||
|
|
@ -1,60 +0,0 @@
|
|||
SLIM(Serial Low Power Interchip Media Bus) bus
|
||||
|
||||
SLIMbus is a 2-wire bus, and is used to communicate with peripheral
|
||||
components like audio-codec.
|
||||
|
||||
Required property for SLIMbus controller node:
|
||||
- compatible - name of SLIMbus controller
|
||||
|
||||
Child nodes:
|
||||
Every SLIMbus controller node can contain zero or more child nodes
|
||||
representing slave devices on the bus. Every SLIMbus slave device is
|
||||
uniquely determined by the enumeration address containing 4 fields:
|
||||
Manufacturer ID, Product code, Device index, and Instance value for
|
||||
the device.
|
||||
If child node is not present and it is instantiated after device
|
||||
discovery (slave device reporting itself present).
|
||||
|
||||
In some cases it may be necessary to describe non-probeable device
|
||||
details such as non-standard ways of powering up a device. In
|
||||
such cases, child nodes for those devices will be present as
|
||||
slaves of the SLIMbus controller, as detailed below.
|
||||
|
||||
Required property for SLIMbus child node if it is present:
|
||||
- reg - Should be ('Device index', 'Instance ID') from SLIMbus
|
||||
Enumeration Address.
|
||||
Device Index Uniquely identifies multiple Devices within
|
||||
a single Component.
|
||||
Instance ID Is for the cases where multiple Devices of the
|
||||
same type or Class are attached to the bus.
|
||||
|
||||
- compatible -"slimMID,PID". The textual representation of Manufacturer ID,
|
||||
Product Code, shall be in lower case hexadecimal with leading
|
||||
zeroes suppressed
|
||||
|
||||
Optional property for SLIMbus child node if it is present:
|
||||
- slim-ifc-dev - Should be phandle to SLIMBus Interface device.
|
||||
Required for devices which deal with streams.
|
||||
|
||||
SLIMbus example for Qualcomm's slimbus manager component:
|
||||
|
||||
slim@28080000 {
|
||||
compatible = "qcom,apq8064-slim", "qcom,slim";
|
||||
reg = <0x28080000 0x2000>,
|
||||
interrupts = <0 33 0>;
|
||||
clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
|
||||
clock-names = "iface", "core";
|
||||
#address-cells = <2>;
|
||||
#size-cell = <0>;
|
||||
|
||||
codec_ifd: ifd@0,0{
|
||||
compatible = "slim217,60";
|
||||
reg = <0 0>;
|
||||
};
|
||||
|
||||
codec: wcd9310@1,0{
|
||||
compatible = "slim217,60";
|
||||
reg = <1 0>;
|
||||
slim-ifc-dev = <&codec_ifd>;
|
||||
};
|
||||
};
|
||||
120
Documentation/devicetree/bindings/slimbus/qcom,slim-ngd.yaml
Normal file
120
Documentation/devicetree/bindings/slimbus/qcom,slim-ngd.yaml
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/slimbus/qcom,slim-ngd.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm SoC SLIMBus Non Generic Device (NGD) Controller
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description:
|
||||
SLIMBus NGD controller is a light-weight driver responsible for communicating
|
||||
with SLIMBus slaves directly over the bus using messaging interface and
|
||||
communicating with master component residing on ADSP for bandwidth and
|
||||
data-channel management
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,slim-ngd-v1.5.0 # for MSM8996
|
||||
- qcom,slim-ngd-v2.1.0 # for SDM845
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
dmas:
|
||||
maxItems: 2
|
||||
|
||||
dma-names:
|
||||
items:
|
||||
- const: rx
|
||||
- const: tx
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
"^slim@[0-9a-f]+$":
|
||||
type: object
|
||||
$ref: slimbus.yaml#
|
||||
description:
|
||||
Each subnode represents an instance of NGD
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
- dmas
|
||||
- dma-names
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
slim-ngd@171c0000 {
|
||||
compatible = "qcom,slim-ngd-v2.1.0";
|
||||
reg = <0x171c0000 0x2c000>;
|
||||
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
dmas = <&slimbam 3>, <&slimbam 4>;
|
||||
dma-names = "rx", "tx";
|
||||
iommus = <&apps_smmu 0x1806 0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
slim@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
codec@1,0 {
|
||||
compatible = "slim217,250";
|
||||
reg = <1 0>;
|
||||
slim-ifc-dev = <&wcd9340_ifd>;
|
||||
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <9600000>;
|
||||
clock-output-names = "mclk";
|
||||
qcom,micbias1-microvolt = <1800000>;
|
||||
qcom,micbias2-microvolt = <1800000>;
|
||||
qcom,micbias3-microvolt = <1800000>;
|
||||
qcom,micbias4-microvolt = <1800000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
/* Rest of the WCD9340 codec */
|
||||
};
|
||||
};
|
||||
};
|
||||
86
Documentation/devicetree/bindings/slimbus/qcom,slim.yaml
Normal file
86
Documentation/devicetree/bindings/slimbus/qcom,slim.yaml
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/slimbus/qcom,slim.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm SoC SLIMbus controller
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description:
|
||||
SLIMbus controller used when applications processor controls SLIMbus master
|
||||
component.
|
||||
|
||||
allOf:
|
||||
- $ref: slimbus.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- qcom,apq8064-slim
|
||||
- const: qcom,slim
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: Physical address of controller register blocks
|
||||
- description: SLEW RATE register
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: ctrl
|
||||
- const: slew
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Interface clock for this controller
|
||||
- description: Interrupt for controller core's BAM
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: iface
|
||||
- const: core
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/qcom,gcc-msm8960.h>
|
||||
#include <dt-bindings/clock/qcom,lcc-msm8960.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
slim@28080000 {
|
||||
compatible = "qcom,apq8064-slim", "qcom,slim";
|
||||
reg = <0x28080000 0x2000>, <0x80207c 4>;
|
||||
reg-names = "ctrl", "slew";
|
||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
|
||||
clock-names = "iface", "core";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
audio-codec@1,0 {
|
||||
compatible = "slim217,60";
|
||||
reg = <1 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
Qualcomm SLIMBus Non Generic Device (NGD) Controller binding
|
||||
|
||||
SLIMBus NGD controller is a light-weight driver responsible for communicating
|
||||
with SLIMBus slaves directly over the bus using messaging interface and
|
||||
communicating with master component residing on ADSP for bandwidth and
|
||||
data-channel management
|
||||
|
||||
Please refer to slimbus/bus.txt for details of the common SLIMBus bindings.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,slim-ngd-v<MAJOR>.<MINOR>.<STEP>"
|
||||
must be one of the following.
|
||||
"qcom,slim-ngd-v1.5.0" for MSM8996
|
||||
"qcom,slim-ngd-v2.1.0" for SDM845
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: must specify the base address and size of the controller
|
||||
register space.
|
||||
- dmas
|
||||
Usage: required
|
||||
Value type: <array of phandles>
|
||||
Definition: List of rx and tx dma channels
|
||||
|
||||
- dma-names
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "rx" and "tx".
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: must list controller IRQ.
|
||||
|
||||
#address-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should be 1, reflecting the instance id of ngd.
|
||||
|
||||
#size-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should be 0
|
||||
|
||||
= NGD Devices
|
||||
Each subnode represents an instance of NGD, must contain the following
|
||||
properties:
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should be instance id of ngd.
|
||||
|
||||
#address-cells
|
||||
Usage: required
|
||||
Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
|
||||
|
||||
#size-cells
|
||||
Usage: required
|
||||
Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
|
||||
|
||||
= EXAMPLE
|
||||
|
||||
slim@91c0000 {
|
||||
compatible = "qcom,slim-ngd-v1.5.0";
|
||||
reg = <0x91c0000 0x2c000>;
|
||||
interrupts = <0 163 0>;
|
||||
dmas = <&slimbam 3>, <&slimbam 4>;
|
||||
dma-names = "rx", "tx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ngd@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
codec@1 {
|
||||
compatible = "slim217,1a0";
|
||||
reg = <1 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
Qualcomm SLIMbus controller
|
||||
This controller is used if applications processor driver controls SLIMbus
|
||||
master component.
|
||||
|
||||
Required properties:
|
||||
|
||||
- #address-cells - refer to Documentation/devicetree/bindings/slimbus/bus.txt
|
||||
- #size-cells - refer to Documentation/devicetree/bindings/slimbus/bus.txt
|
||||
|
||||
- reg : Offset and length of the register region(s) for the device
|
||||
- reg-names : Register region name(s) referenced in reg above
|
||||
Required register resource entries are:
|
||||
"ctrl": Physical address of controller register blocks
|
||||
"slew": required for "qcom,apq8064-slim" SOC.
|
||||
- compatible : should be "qcom,<SOC-NAME>-slim" for SOC specific compatible
|
||||
followed by "qcom,slim" for fallback.
|
||||
- interrupts : Interrupt number used by this controller
|
||||
- clocks : Interface and core clocks used by this SLIMbus controller
|
||||
- clock-names : Required clock-name entries are:
|
||||
"iface" : Interface clock for this controller
|
||||
"core" : Interrupt for controller core's BAM
|
||||
|
||||
Example:
|
||||
|
||||
slim@28080000 {
|
||||
compatible = "qcom,apq8064-slim", "qcom,slim";
|
||||
reg = <0x28080000 0x2000>, <0x80207C 4>;
|
||||
reg-names = "ctrl", "slew";
|
||||
interrupts = <0 33 0>;
|
||||
clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
|
||||
clock-names = "iface", "core";
|
||||
#address-cells = <2>;
|
||||
#size-cell = <0>;
|
||||
|
||||
wcd9310: audio-codec@1,0{
|
||||
compatible = "slim217,60";
|
||||
reg = <1 0>;
|
||||
};
|
||||
};
|
||||
95
Documentation/devicetree/bindings/slimbus/slimbus.yaml
Normal file
95
Documentation/devicetree/bindings/slimbus/slimbus.yaml
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/slimbus/slimbus.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: SLIM (Serial Low Power Interchip Media) bus
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description:
|
||||
SLIMbus is a 2-wire bus, and is used to communicate with peripheral
|
||||
components like audio-codec.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^slim(@.*|-[0-9a-f])*$"
|
||||
|
||||
"#address-cells":
|
||||
const: 2
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^.*@[0-9a-f]+,[0-9a-f]+$":
|
||||
type: object
|
||||
description: |
|
||||
Every SLIMbus controller node can contain zero or more child nodes
|
||||
representing slave devices on the bus. Every SLIMbus slave device is
|
||||
uniquely determined by the enumeration address containing 4 fields::
|
||||
Manufacturer ID, Product code, Device index, and Instance value for the
|
||||
device.
|
||||
|
||||
If child node is not present and it is instantiated after device
|
||||
discovery (slave device reporting itself present).
|
||||
|
||||
In some cases it may be necessary to describe non-probeable device
|
||||
details such as non-standard ways of powering up a device. In such cases,
|
||||
child nodes for those devices will be present as slaves of the SLIMbus
|
||||
controller.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
pattern: "^slim[0-9a-f]+,[0-9a-f]+$"
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description: |
|
||||
Pair of (device index, instande ID), where::
|
||||
- Device index, which uniquely identifies multiple devices within a
|
||||
single component.
|
||||
- Instance ID, can be used for the cases where multiple devices of
|
||||
the same type or class are attached to the bus.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/qcom,gcc-msm8960.h>
|
||||
#include <dt-bindings/clock/qcom,lcc-msm8960.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
slim@28080000 {
|
||||
compatible = "qcom,apq8064-slim", "qcom,slim";
|
||||
reg = <0x28080000 0x2000>, <0x80207c 4>;
|
||||
reg-names = "ctrl", "slew";
|
||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
|
||||
clock-names = "iface", "core";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
audio-codec@1,0 {
|
||||
compatible = "slim217,60";
|
||||
reg = <1 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -21,20 +21,19 @@ properties:
|
|||
compatible:
|
||||
enum:
|
||||
- qcom,geni-se-qup
|
||||
- qcom,geni-se-i2c-master-hub
|
||||
|
||||
reg:
|
||||
description: QUP wrapper common register address and length.
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: m-ahb
|
||||
- const: s-ahb
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Master AHB Clock
|
||||
- description: Slave AHB Clock
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
"#address-cells":
|
||||
const: 2
|
||||
|
|
@ -81,6 +80,39 @@ patternProperties:
|
|||
description: GENI Serial Engine based UART Controller.
|
||||
$ref: /schemas/serial/qcom,serial-geni-qcom.yaml#
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: qcom,geni-se-i2c-master-hub
|
||||
then:
|
||||
properties:
|
||||
clock-names:
|
||||
items:
|
||||
- const: s-ahb
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Slave AHB Clock
|
||||
|
||||
iommus: false
|
||||
|
||||
patternProperties:
|
||||
"spi@[0-9a-f]+$": false
|
||||
"serial@[0-9a-f]+$": false
|
||||
else:
|
||||
properties:
|
||||
clock-names:
|
||||
items:
|
||||
- const: m-ahb
|
||||
- const: s-ahb
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Master AHB Clock
|
||||
- description: Slave AHB Clock
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
|
|
|
|||
|
|
@ -85,6 +85,14 @@ properties:
|
|||
description: >
|
||||
which of the PMIC Arb provided channels to use for accesses
|
||||
|
||||
qcom,bus-id:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
description: >
|
||||
SPMI bus instance. only applicable to PMIC arbiter version 7 and beyond.
|
||||
Supported values, 0 = primary bus, 1 = secondary bus
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg-names
|
||||
|
|
@ -113,5 +121,7 @@ examples:
|
|||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
|
||||
qcom,bus-id = <0>;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,10 @@ properties:
|
|||
- const: rockchip,rk3066-usb
|
||||
- const: snps,dwc2
|
||||
- const: lantiq,arx100-usb
|
||||
- const: lantiq,ase-usb
|
||||
- const: lantiq,danube-usb
|
||||
- const: lantiq,xrx200-usb
|
||||
- const: lantiq,xrx300-usb
|
||||
- items:
|
||||
- enum:
|
||||
- amlogic,meson8-usb
|
||||
|
|
|
|||
48
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
Normal file
48
Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Genesys Logic GL850G USB 2.0 hub controller
|
||||
|
||||
maintainers:
|
||||
- Icenowy Zheng <uwu@icenowy.me>
|
||||
|
||||
allOf:
|
||||
- $ref: usb-device.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- usb5e3,608
|
||||
|
||||
reg: true
|
||||
|
||||
reset-gpios:
|
||||
description: GPIO controlling the RESET# pin.
|
||||
|
||||
vdd-supply:
|
||||
description:
|
||||
the regulator that provides 3.3V core power to the hub.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
usb {
|
||||
dr_mode = "host";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
hub: hub@1 {
|
||||
compatible = "usb5e3,608";
|
||||
reg = <1>;
|
||||
reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
|
@ -28,6 +28,7 @@ properties:
|
|||
- mediatek,mt7622-xhci
|
||||
- mediatek,mt7623-xhci
|
||||
- mediatek,mt7629-xhci
|
||||
- mediatek,mt7986-xhci
|
||||
- mediatek,mt8173-xhci
|
||||
- mediatek,mt8183-xhci
|
||||
- mediatek,mt8186-xhci
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ properties:
|
|||
- mediatek,mt2712-mtu3
|
||||
- mediatek,mt8173-mtu3
|
||||
- mediatek,mt8183-mtu3
|
||||
- mediatek,mt8186-mtu3
|
||||
- mediatek,mt8188-mtu3
|
||||
- mediatek,mt8192-mtu3
|
||||
- mediatek,mt8195-mtu3
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ properties:
|
|||
- qcom,sm8250-dwc3
|
||||
- qcom,sm8350-dwc3
|
||||
- qcom,sm8450-dwc3
|
||||
- qcom,sm8550-dwc3
|
||||
- const: qcom,dwc3
|
||||
|
||||
reg:
|
||||
|
|
@ -301,6 +302,7 @@ allOf:
|
|||
- qcom,sm8150-dwc3
|
||||
- qcom,sm8250-dwc3
|
||||
- qcom,sm8450-dwc3
|
||||
- qcom,sm8550-dwc3
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
|
|
@ -358,6 +360,7 @@ allOf:
|
|||
- qcom,sm8250-dwc3
|
||||
- qcom,sm8350-dwc3
|
||||
- qcom,sm8450-dwc3
|
||||
- qcom,sm8550-dwc3
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ properties:
|
|||
should default to OTG.
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [host, peripheral, otg]
|
||||
default: otg
|
||||
|
||||
hnp-disable:
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -39,6 +39,11 @@ properties:
|
|||
the VBus line.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
wakeup-source:
|
||||
description:
|
||||
Specify if the USB phy can detect the remote wakeup signal
|
||||
while the system sleep.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- '#phy-cells'
|
||||
|
|
|
|||
|
|
@ -1,89 +0,0 @@
|
|||
Microchip USB 2.0 Hi-Speed Hub Controller
|
||||
|
||||
The device node for the configuration of a Microchip USB251x/xBi USB 2.0
|
||||
Hi-Speed Controller.
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "microchip,usb251xb" or one of the specific types:
|
||||
"microchip,usb2512b", "microchip,usb2512bi", "microchip,usb2513b",
|
||||
"microchip,usb2513bi", "microchip,usb2514b", "microchip,usb2514bi",
|
||||
"microchip,usb2517", "microchip,usb2517i", "microchip,usb2422"
|
||||
- reg : I2C address on the selected bus (default is <0x2C>)
|
||||
|
||||
Optional properties :
|
||||
- reset-gpios : Should specify the gpio for hub reset
|
||||
- vdd-supply : Should specify the phandle to the regulator supplying vdd
|
||||
- skip-config : Skip Hub configuration, but only send the USB-Attach command
|
||||
- vendor-id : Set USB Vendor ID of the hub (16 bit, default is 0x0424)
|
||||
- product-id : Set USB Product ID of the hub (16 bit, default depends on type)
|
||||
- device-id : Set USB Device ID of the hub (16 bit, default is 0x0bb3)
|
||||
- language-id : Set USB Language ID (16 bit, default is 0x0000)
|
||||
- manufacturer : Set USB Manufacturer string (max 31 characters long)
|
||||
- product : Set USB Product string (max 31 characters long)
|
||||
- serial : Set USB Serial string (max 31 characters long)
|
||||
- {bus,self}-powered : selects between self- and bus-powered operation
|
||||
(boolean, default is self-powered)
|
||||
- disable-hi-speed : disable USB Hi-Speed support (boolean)
|
||||
- {multi,single}-tt : selects between multi- and single-transaction-translator
|
||||
(boolean, default is multi-tt)
|
||||
- disable-eop : disable End of Packet generation in full-speed mode (boolean)
|
||||
- {ganged,individual}-sensing : select over-current sense type in self-powered
|
||||
mode (boolean, default is individual)
|
||||
- {ganged,individual}-port-switching : select port power switching mode
|
||||
(boolean, default is individual)
|
||||
- dynamic-power-switching : enable auto-switching from self- to bus-powered
|
||||
operation if the local power source is removed or unavailable (boolean)
|
||||
- oc-delay-us : Delay time (in microseconds) for filtering the over-current
|
||||
sense inputs. Valid values are 100, 4000, 8000 (default) and 16000. If
|
||||
an invalid value is given, the default is used instead.
|
||||
- compound-device : indicate the hub is part of a compound device (boolean)
|
||||
- port-mapping-mode : enable port mapping mode (boolean)
|
||||
- led-{usb,speed}-mode : led usb/speed indication mode selection
|
||||
(boolean, default is speed mode)
|
||||
- string-support : enable string descriptor support (required for manufacturer,
|
||||
product and serial string configuration)
|
||||
- non-removable-ports : Should specify the ports which have a non-removable
|
||||
device connected.
|
||||
- sp-disabled-ports : Specifies the ports which will be self-power disabled
|
||||
- bp-disabled-ports : Specifies the ports which will be bus-power disabled
|
||||
- sp-max-total-current-microamp: Specifies max current consumed by the hub
|
||||
from VBUS when operating in self-powered hub. It includes the hub
|
||||
silicon along with all associated circuitry including a permanently
|
||||
attached peripheral (range: 0 - 100000 uA, default 1000 uA)
|
||||
- bp-max-total-current-microamp: Specifies max current consumed by the hub
|
||||
from VBUS when operating in self-powered hub. It includes the hub
|
||||
silicon along with all associated circuitry including a permanently
|
||||
attached peripheral (range: 0 - 510000 uA, default 100000 uA)
|
||||
- sp-max-removable-current-microamp: Specifies max current consumed by the hub
|
||||
from VBUS when operating in self-powered hub. It includes the hub
|
||||
silicon along with all associated circuitry excluding a permanently
|
||||
attached peripheral (range: 0 - 100000 uA, default 1000 uA)
|
||||
- bp-max-removable-current-microamp: Specifies max current consumed by the hub
|
||||
from VBUS when operating in self-powered hub. It includes the hub
|
||||
silicon along with all associated circuitry excluding a permanently
|
||||
attached peripheral (range: 0 - 510000 uA, default 100000 uA)
|
||||
- power-on-time-ms : Specifies the time it takes from the time the host
|
||||
initiates the power-on sequence to a port until the port has adequate
|
||||
power. The value is given in ms in a 0 - 510 range (default is 100ms).
|
||||
- swap-dx-lanes : Specifies the ports which will swap the differential-pair
|
||||
(D+/D-), default is not-swapped.
|
||||
|
||||
Examples:
|
||||
usb2512b@2c {
|
||||
compatible = "microchip,usb2512b";
|
||||
reg = <0x2c>;
|
||||
reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
usb2514b@2c {
|
||||
compatible = "microchip,usb2514b";
|
||||
reg = <0x2c>;
|
||||
vendor-id = /bits/ 16 <0x0000>;
|
||||
product-id = /bits/ 16 <0x0000>;
|
||||
string-support;
|
||||
manufacturer = "Foo";
|
||||
product = "Foo-Bar";
|
||||
serial = "1234567890A";
|
||||
/* correct misplaced usb connectors on port 1,2 */
|
||||
swap-dx-lanes = <1 2>;
|
||||
};
|
||||
271
Documentation/devicetree/bindings/usb/usb251xb.yaml
Normal file
271
Documentation/devicetree/bindings/usb/usb251xb.yaml
Normal file
|
|
@ -0,0 +1,271 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/usb251xb.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip USB 2.0 Hi-Speed Hub Controller
|
||||
|
||||
maintainers:
|
||||
- Richard Leitner <richard.leitner@skidata.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- microchip,usb2422
|
||||
- microchip,usb2512b
|
||||
- microchip,usb2512bi
|
||||
- microchip,usb2513b
|
||||
- microchip,usb2513bi
|
||||
- microchip,usb2514b
|
||||
- microchip,usb2514bi
|
||||
- microchip,usb2517
|
||||
- microchip,usb2517i
|
||||
- microchip,usb251xb
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description: |
|
||||
Should specify the gpio for hub reset
|
||||
|
||||
vdd-supply:
|
||||
description: |
|
||||
Should specify the phandle to the regulator supplying vdd
|
||||
|
||||
skip-config:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
Skip Hub configuration, but only send the USB-Attach command
|
||||
|
||||
vendor-id:
|
||||
$ref: /schemas/types.yaml#/definitions/uint16
|
||||
default: 0x0424
|
||||
description: |
|
||||
Set USB Vendor ID of the hub
|
||||
|
||||
product-id:
|
||||
$ref: /schemas/types.yaml#/definitions/uint16
|
||||
description: |
|
||||
Set USB Product ID of the hub
|
||||
|
||||
device-id:
|
||||
$ref: /schemas/types.yaml#/definitions/uint16
|
||||
default: 0x0bb3
|
||||
description: |
|
||||
Set USB Device ID of the hub
|
||||
|
||||
language-id:
|
||||
$ref: /schemas/types.yaml#/definitions/uint16
|
||||
default: 0x0000
|
||||
description: |
|
||||
Set USB Language ID
|
||||
|
||||
manufacturer:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: |
|
||||
Set USB Manufacturer string (max 31 characters long)
|
||||
|
||||
product:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: |
|
||||
Set USB Product string (max 31 characters long)
|
||||
|
||||
serial:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: |
|
||||
Set USB Serial string (max 31 characters long)
|
||||
|
||||
bus-powered:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
selects between self- and bus-powered operation
|
||||
(boolean, default is self-powered)
|
||||
|
||||
self-powered:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
selects between self- and bus-powered operation
|
||||
(boolean, default is self-powered)
|
||||
|
||||
disable-hi-speed:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
disable USB Hi-Speed support (boolean)
|
||||
|
||||
multi-tt:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
selects between multi- and single-transaction-translator
|
||||
(boolean, default is multi-tt)
|
||||
|
||||
single-tt:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
selects between multi- and single-transaction-translator
|
||||
(boolean, default is multi-tt)
|
||||
|
||||
disable-eop:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
disable End of Packet generation in full-speed mode (boolean)
|
||||
|
||||
ganged-sensing:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
select over-current sense type in self-powered mode
|
||||
(boolean, default is individual)
|
||||
|
||||
individual-sensing:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
select over-current sense type in self-powered mode
|
||||
(boolean, default is individual)
|
||||
|
||||
ganged-port-switching:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
select port power switching mode (boolean, default is individual)
|
||||
|
||||
individual-port-switching:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
select port power switching mode (boolean, default is individual)
|
||||
|
||||
dynamic-power-switching:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
enable auto-switching from self- to bus-powered operation if the
|
||||
local power source is removed or unavailable (boolean)
|
||||
|
||||
oc-delay-us:
|
||||
enum: [100, 4000, 8000, 16000]
|
||||
default: 8000
|
||||
description: |
|
||||
Delay time (in microseconds) for filtering the over-current sense
|
||||
inputs. If an invalid value is given, the default is used instead.
|
||||
|
||||
compound-device:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
indicate the hub is part of a compound device (boolean)
|
||||
|
||||
port-mapping-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
enable port mapping mode (boolean)
|
||||
|
||||
led-usb-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
led usb/speed indication mode selection (boolean, default is speed mode)
|
||||
|
||||
led-speed-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
led usb/speed indication mode selection (boolean, default is speed mode)
|
||||
|
||||
string-support:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
enable string descriptor support (required for manufacturer, product
|
||||
and serial string configuration)
|
||||
|
||||
non-removable-ports:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
description: |
|
||||
Should specify the ports which have a non-removable device connected.
|
||||
|
||||
sp-disabled-ports:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
description: |
|
||||
Specifies the ports which will be self-power disabled
|
||||
|
||||
bp-disabled-ports:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
description: |
|
||||
Specifies the ports which will be bus-power disabled
|
||||
|
||||
sp-max-total-current-microamp:
|
||||
maximum: 100000
|
||||
default: 1000
|
||||
description: |
|
||||
Specifies max current consumed by the hub from VBUS when
|
||||
operating in self-powered hub. It includes the hub silicon
|
||||
along with all associated circuitry including a permanently
|
||||
attached peripheral.
|
||||
|
||||
bp-max-total-current-microamp:
|
||||
maximum: 510000
|
||||
default: 100000
|
||||
description: |
|
||||
Specifies max current consumed by the hub from VBUS when
|
||||
operating in self-powered hub. It includes the hub silicon
|
||||
along with all associated circuitry including a permanently
|
||||
attached peripheral.
|
||||
|
||||
sp-max-removable-current-microamp:
|
||||
maximum: 100000
|
||||
default: 1000
|
||||
description: |
|
||||
Specifies max current consumed by the hub from VBUS when
|
||||
operating in self-powered hub. It includes the hub silicon
|
||||
along with all associated circuitry excluding a permanently
|
||||
attached peripheral.
|
||||
|
||||
bp-max-removable-current-microamp:
|
||||
maximum: 510000
|
||||
default: 100000
|
||||
description: |
|
||||
Specifies max current consumed by the hub from VBUS when
|
||||
operating in self-powered hub. It includes the hub silicon
|
||||
along with all associated circuitry excluding a permanently
|
||||
attached peripheral.
|
||||
|
||||
power-on-time-ms:
|
||||
maximum: 510
|
||||
default: 100
|
||||
description: |
|
||||
Specifies the time it takes from the time the host initiates the
|
||||
power-on sequence to a port until the port has adequate power.
|
||||
|
||||
swap-dx-lanes:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
description: |
|
||||
Specifies the ports which will swap the differential-pair (D+/D-),
|
||||
default is not-swapped.
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
usb-hub@2c {
|
||||
compatible = "microchip,usb2512b";
|
||||
reg = <0x2c>;
|
||||
reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
usb-hub@2d {
|
||||
compatible = "microchip,usb2514b";
|
||||
reg = <0x2d>;
|
||||
vendor-id = /bits/ 16 <0x0000>;
|
||||
product-id = /bits/ 16 <0x0000>;
|
||||
string-support;
|
||||
manufacturer = "Foo";
|
||||
product = "Foo-Bar";
|
||||
serial = "1234567890A";
|
||||
/* correct misplaced usb connectors on port 1,2 */
|
||||
swap-dx-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
|
|
@ -494,6 +494,8 @@ patternProperties:
|
|||
description: GE Fanuc Intelligent Platforms Embedded Systems, Inc.
|
||||
"^gemei,.*":
|
||||
description: Gemei Digital Technology Co., Ltd.
|
||||
"^genesys,.*":
|
||||
description: Genesys Logic, Inc.
|
||||
"^geniatech,.*":
|
||||
description: Geniatech, Inc.
|
||||
"^giantec,.*":
|
||||
|
|
@ -941,6 +943,8 @@ patternProperties:
|
|||
description: One Laptop Per Child
|
||||
"^oneplus,.*":
|
||||
description: OnePlus Technology (Shenzhen) Co., Ltd.
|
||||
"^onie,.*":
|
||||
description: Open Network Install Environment group
|
||||
"^onion,.*":
|
||||
description: Onion Corporation
|
||||
"^onnn,.*":
|
||||
|
|
|
|||
|
|
@ -365,6 +365,7 @@ MEM
|
|||
devm_kmemdup()
|
||||
devm_krealloc()
|
||||
devm_kstrdup()
|
||||
devm_kstrdup_const()
|
||||
devm_kvasprintf()
|
||||
devm_kzalloc()
|
||||
|
||||
|
|
@ -395,6 +396,8 @@ PCI
|
|||
|
||||
PHY
|
||||
devm_usb_get_phy()
|
||||
devm_usb_get_phy_by_node()
|
||||
devm_usb_get_phy_by_phandle()
|
||||
devm_usb_put_phy()
|
||||
|
||||
PINCTRL
|
||||
|
|
|
|||
|
|
@ -78,6 +78,9 @@ Other functions
|
|||
uart_get_lsr_info uart_handle_dcd_change uart_handle_cts_change
|
||||
uart_try_toggle_sysrq uart_get_console
|
||||
|
||||
.. kernel-doc:: include/linux/serial_core.h
|
||||
:identifiers: uart_port_tx_limited uart_port_tx
|
||||
|
||||
Other notes
|
||||
-----------
|
||||
|
||||
|
|
|
|||
|
|
@ -29,23 +29,28 @@ RS485 Serial Communications
|
|||
3. Data Structures Already Available in the Kernel
|
||||
==================================================
|
||||
|
||||
The Linux kernel provides the serial_rs485 structure (see [1]) to handle
|
||||
RS485 communications. This data structure is used to set and configure RS485
|
||||
The Linux kernel provides the struct serial_rs485 to handle RS485
|
||||
communications. This data structure is used to set and configure RS485
|
||||
parameters in the platform data and in ioctls.
|
||||
|
||||
The device tree can also provide RS485 boot time parameters (see [2]
|
||||
for bindings). The driver is in charge of filling this data structure from
|
||||
the values given by the device tree.
|
||||
The device tree can also provide RS485 boot time parameters
|
||||
[#DT-bindings]_. The serial core fills the struct serial_rs485 from the
|
||||
values given by the device tree when the driver calls
|
||||
uart_get_rs485_mode().
|
||||
|
||||
Any driver for devices capable of working both as RS232 and RS485 should
|
||||
implement the rs485_config callback and provide rs485_supported in the
|
||||
uart_port structure. The serial core calls rs485_config to do the device
|
||||
specific part in response to TIOCSRS485 ioctl (see below). The rs485_config
|
||||
callback receives a pointer to a sanitizated serial_rs485 structure. The
|
||||
serial_rs485 userspace provides is sanitized before calling rs485_config
|
||||
using rs485_supported that indicates what RS485 features the driver supports
|
||||
for the uart_port. TIOCGRS485 ioctl can be used to read back the
|
||||
serial_rs485 structure matching to the current configuration.
|
||||
implement the ``rs485_config`` callback and provide ``rs485_supported``
|
||||
in the ``struct uart_port``. The serial core calls ``rs485_config`` to do
|
||||
the device specific part in response to TIOCSRS485 ioctl (see below). The
|
||||
``rs485_config`` callback receives a pointer to a sanitizated struct
|
||||
serial_rs485. The struct serial_rs485 userspace provides is sanitized
|
||||
before calling ``rs485_config`` using ``rs485_supported`` that indicates
|
||||
what RS485 features the driver supports for the ``struct uart_port``.
|
||||
TIOCGRS485 ioctl can be used to read back the struct serial_rs485
|
||||
matching to the current configuration.
|
||||
|
||||
.. kernel-doc:: include/uapi/linux/serial.h
|
||||
:identifiers: serial_rs485 uart_get_rs485_mode
|
||||
|
||||
4. Usage from user-level
|
||||
========================
|
||||
|
|
@ -103,29 +108,28 @@ RS485 Serial Communications
|
|||
========================
|
||||
|
||||
The Linux kernel provides addressing mode for multipoint RS-485 serial
|
||||
communications line. The addressing mode is enabled with SER_RS485_ADDRB
|
||||
flag in serial_rs485. Struct serial_rs485 has two additional flags and
|
||||
fields for enabling receive and destination addresses.
|
||||
communications line. The addressing mode is enabled with
|
||||
``SER_RS485_ADDRB`` flag in struct serial_rs485. The struct serial_rs485
|
||||
has two additional flags and fields for enabling receive and destination
|
||||
addresses.
|
||||
|
||||
Address mode flags:
|
||||
- SER_RS485_ADDRB: Enabled addressing mode (sets also ADDRB in termios).
|
||||
- SER_RS485_ADDR_RECV: Receive (filter) address enabled.
|
||||
- SER_RS485_ADDR_DEST: Set destination address.
|
||||
- ``SER_RS485_ADDRB``: Enabled addressing mode (sets also ADDRB in termios).
|
||||
- ``SER_RS485_ADDR_RECV``: Receive (filter) address enabled.
|
||||
- ``SER_RS485_ADDR_DEST``: Set destination address.
|
||||
|
||||
Address fields (enabled with corresponding SER_RS485_ADDR_* flag):
|
||||
- addr_recv: Receive address.
|
||||
- addr_dest: Destination address.
|
||||
Address fields (enabled with corresponding ``SER_RS485_ADDR_*`` flag):
|
||||
- ``addr_recv``: Receive address.
|
||||
- ``addr_dest``: Destination address.
|
||||
|
||||
Once a receive address is set, the communication can occur only with the
|
||||
particular device and other peers are filtered out. It is left up to the
|
||||
receiver side to enforce the filtering. Receive address will be cleared
|
||||
if SER_RS485_ADDR_RECV is not set.
|
||||
if ``SER_RS485_ADDR_RECV`` is not set.
|
||||
|
||||
Note: not all devices supporting RS485 support multipoint addressing.
|
||||
|
||||
6. References
|
||||
=============
|
||||
|
||||
[1] include/uapi/linux/serial.h
|
||||
|
||||
[2] Documentation/devicetree/bindings/serial/rs485.txt
|
||||
.. [#DT-bindings] Documentation/devicetree/bindings/serial/rs485.txt
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Documentation written by Tom Zanussi
|
|||
|
||||
hist:keys=<field1[,field2,...]>[:values=<field1[,field2,...]>]
|
||||
[:sort=<field1[,field2,...]>][:size=#entries][:pause][:continue]
|
||||
[:clear][:name=histname1][:<handler>.<action>] [if <filter>]
|
||||
[:clear][:name=histname1][:nohitcount][:<handler>.<action>] [if <filter>]
|
||||
|
||||
When a matching event is hit, an entry is added to a hash table
|
||||
using the key(s) and value(s) named. Keys and values correspond to
|
||||
|
|
@ -79,6 +79,8 @@ Documentation written by Tom Zanussi
|
|||
.log2 display log2 value rather than raw number
|
||||
.buckets=size display grouping of values rather than raw number
|
||||
.usecs display a common_timestamp in microseconds
|
||||
.percent display a number of percentage value
|
||||
.graph display a bar-graph of a value
|
||||
============= =================================================
|
||||
|
||||
Note that in general the semantics of a given field aren't
|
||||
|
|
@ -137,6 +139,12 @@ Documentation written by Tom Zanussi
|
|||
existing trigger, rather than via the '>' operator, which will cause
|
||||
the trigger to be removed through truncation.
|
||||
|
||||
The 'nohitcount' (or NOHC) parameter will suppress display of
|
||||
raw hitcount in the histogram. This option requires at least one
|
||||
value field which is not a 'raw hitcount'. For example,
|
||||
'hist:...:vals=hitcount:nohitcount' is rejected, but
|
||||
'hist:...:vals=hitcount.percent:nohitcount' is OK.
|
||||
|
||||
- enable_hist/disable_hist
|
||||
|
||||
The enable_hist and disable_hist triggers can be used to have one
|
||||
|
|
|
|||
|
|
@ -92,8 +92,8 @@ Note that the example above shows a high number of HW noise samples.
|
|||
The reason being is that this sample was taken on a virtual machine,
|
||||
and the host interference is detected as a hardware interference.
|
||||
|
||||
Tracer options
|
||||
---------------------
|
||||
Tracer Configuration
|
||||
--------------------
|
||||
|
||||
The tracer has a set of options inside the osnoise directory, they are:
|
||||
|
||||
|
|
@ -109,6 +109,27 @@ The tracer has a set of options inside the osnoise directory, they are:
|
|||
- tracing_threshold: the minimum delta between two time() reads to be
|
||||
considered as noise, in us. When set to 0, the default value will
|
||||
be used, which is currently 5 us.
|
||||
- osnoise/options: a set of on/off options that can be enabled by
|
||||
writing the option name to the file or disabled by writing the option
|
||||
name preceded with the 'NO\_' prefix. For example, writing
|
||||
NO_OSNOISE_WORKLOAD disables the OSNOISE_WORKLOAD option. The
|
||||
special DEAFAULTS option resets all options to the default value.
|
||||
|
||||
Tracer Options
|
||||
--------------
|
||||
|
||||
The osnoise/options file exposes a set of on/off configuration options for
|
||||
the osnoise tracer. These options are:
|
||||
|
||||
- DEFAULTS: reset the options to the default value.
|
||||
- OSNOISE_WORKLOAD: do not dispatch osnoise workload (see dedicated
|
||||
section below).
|
||||
- PANIC_ON_STOP: call panic() if the tracer stops. This option serves to
|
||||
capture a vmcore.
|
||||
- OSNOISE_PREEMPT_DISABLE: disable preemption while running the osnoise
|
||||
workload, allowing only IRQ and hardware-related noise.
|
||||
- OSNOISE_IRQ_DISABLE: disable IRQs while running the osnoise workload,
|
||||
allowing only NMIs and hardware-related noise, like hwlat tracer.
|
||||
|
||||
Additional Tracing
|
||||
------------------
|
||||
|
|
@ -150,3 +171,10 @@ tracepoints is smaller than eight us reported in the sample_threshold.
|
|||
The reason roots in the overhead of the entry and exit code that happens
|
||||
before and after any interference execution. This justifies the dual
|
||||
approach: measuring thread and tracing.
|
||||
|
||||
Running osnoise tracer without workload
|
||||
---------------------------------------
|
||||
|
||||
By enabling the osnoise tracer with the NO_OSNOISE_WORKLOAD option set,
|
||||
the osnoise: tracepoints serve to measure the execution time of
|
||||
any type of Linux task, free from the interference of other tasks.
|
||||
|
|
|
|||
63
MAINTAINERS
63
MAINTAINERS
|
|
@ -1152,6 +1152,15 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
|
|||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
|
||||
F: drivers/net/amt.c
|
||||
|
||||
ANALOG DEVICES INC AD4130 DRIVER
|
||||
M: Cosmin Tanislav <cosmin.tanislav@analog.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://ez.analog.com/community/linux-device-drivers
|
||||
F: Documentation/ABI/testing/sysfs-bus-iio-adc-ad4130
|
||||
F: Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
|
||||
F: drivers/iio/adc/ad4130.c
|
||||
|
||||
ANALOG DEVICES INC AD7192 DRIVER
|
||||
M: Alexandru Tachici <alexandru.tachici@analog.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
|
|
@ -1201,6 +1210,14 @@ W: https://ez.analog.com/linux-software-drivers
|
|||
F: Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
|
||||
F: drivers/iio/adc/ad7780.c
|
||||
|
||||
ANALOG DEVICES INC AD74115 DRIVER
|
||||
M: Cosmin Tanislav <cosmin.tanislav@analog.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://ez.analog.com/community/linux-device-drivers
|
||||
F: Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml
|
||||
F: drivers/iio/addac/ad74115.c
|
||||
|
||||
ANALOG DEVICES INC AD74413R DRIVER
|
||||
M: Cosmin Tanislav <cosmin.tanislav@analog.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
|
|
@ -1224,6 +1241,14 @@ W: https://ez.analog.com/linux-software-drivers
|
|||
F: Documentation/devicetree/bindings/iio/amplifiers/adi,ada4250.yaml
|
||||
F: drivers/iio/amplifiers/ada4250.c
|
||||
|
||||
ANALOG DEVICES INC ADF4377 DRIVER
|
||||
M: Antoniu Miclaus <antoniu.miclaus@analog.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
S: Supported
|
||||
W: https://ez.analog.com/linux-software-drivers
|
||||
F: Documentation/devicetree/bindings/iio/frequency/adi,adf4377.yaml
|
||||
F: drivers/iio/frequency/adf4377.c
|
||||
|
||||
ANALOG DEVICES INC ADGS1408 DRIVER
|
||||
M: Mircea Caprioru <mircea.caprioru@analog.com>
|
||||
S: Supported
|
||||
|
|
@ -7935,6 +7960,12 @@ F: fs/notify/fanotify/
|
|||
F: include/linux/fanotify.h
|
||||
F: include/uapi/linux/fanotify.h
|
||||
|
||||
FARADAY FOTG210 USB2 DUAL-ROLE CONTROLLER
|
||||
M: Linus Walleij <linus.walleij@linaro.org>
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/usb/fotg210/
|
||||
|
||||
FARSYNC SYNCHRONOUS DRIVER
|
||||
M: Kevin Curtis <kevin.curtis@farsite.co.uk>
|
||||
S: Supported
|
||||
|
|
@ -8528,6 +8559,9 @@ FUNCTION HOOKS (FTRACE)
|
|||
M: Steven Rostedt <rostedt@goodmis.org>
|
||||
M: Masami Hiramatsu <mhiramat@kernel.org>
|
||||
R: Mark Rutland <mark.rutland@arm.com>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
L: linux-trace-kernel@vger.kernel.org
|
||||
Q: https://patchwork.kernel.org/project/linux-trace-kernel/list/
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
|
||||
F: Documentation/trace/ftrace*
|
||||
|
|
@ -9290,6 +9324,7 @@ M: Yicong Yang <yangyicong@hisilicon.com>
|
|||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
W: https://www.hisilicon.com
|
||||
F: Documentation/devicetree/bindings/i2c/hisilicon,ascend910-i2c.yaml
|
||||
F: drivers/i2c/busses/i2c-hisi.c
|
||||
|
||||
HISILICON LPC BUS DRIVER
|
||||
|
|
@ -11568,6 +11603,12 @@ F: drivers/mfd/khadas-mcu.c
|
|||
F: include/linux/mfd/khadas-mcu.h
|
||||
F: drivers/thermal/khadas_mcu_fan.c
|
||||
|
||||
KIONIX/ROHM KX022A ACCELEROMETER
|
||||
M: Matti Vaittinen <mazziesaccount@gmail.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/iio/accel/kionix-kx022a*
|
||||
|
||||
KMEMLEAK
|
||||
M: Catalin Marinas <catalin.marinas@arm.com>
|
||||
S: Maintained
|
||||
|
|
@ -11605,6 +11646,9 @@ M: Naveen N. Rao <naveen.n.rao@linux.ibm.com>
|
|||
M: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
|
||||
M: "David S. Miller" <davem@davemloft.net>
|
||||
M: Masami Hiramatsu <mhiramat@kernel.org>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
L: linux-trace-kernel@vger.kernel.org
|
||||
Q: https://patchwork.kernel.org/project/linux-trace-kernel/list/
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
|
||||
F: Documentation/trace/kprobes.rst
|
||||
|
|
@ -12644,6 +12688,12 @@ S: Maintained
|
|||
F: Documentation/devicetree/bindings/regulator/maxim,max20086.yaml
|
||||
F: drivers/regulator/max20086-regulator.c
|
||||
|
||||
MAXIM MAX30208 TEMPERATURE SENSOR DRIVER
|
||||
M: Rajat Khandelwal <rajat.khandelwal@linux.intel.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/iio/temperature/max30208.c
|
||||
|
||||
MAXIM MAX77650 PMIC MFD DRIVER
|
||||
M: Bartosz Golaszewski <brgl@bgdev.pl>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
|
|
@ -13553,7 +13603,6 @@ F: arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
|
|||
|
||||
MHI BUS
|
||||
M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
R: Hemant Kumar <quic_hemantk@quicinc.com>
|
||||
L: mhi@lists.linux.dev
|
||||
L: linux-arm-msm@vger.kernel.org
|
||||
S: Maintained
|
||||
|
|
@ -13788,7 +13837,7 @@ MICROCHIP USB251XB DRIVER
|
|||
M: Richard Leitner <richard.leitner@skidata.com>
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/usb/usb251xb.txt
|
||||
F: Documentation/devicetree/bindings/usb/usb251xb.yaml
|
||||
F: drivers/usb/misc/usb251xb.c
|
||||
|
||||
MICROCHIP USBA UDC DRIVER
|
||||
|
|
@ -14730,10 +14779,9 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git
|
|||
F: arch/nios2/
|
||||
|
||||
NITRO ENCLAVES (NE)
|
||||
M: Andra Paraschiv <andraprs@amazon.com>
|
||||
M: Alexandru Vasile <lexnv@amazon.com>
|
||||
M: Alexandru Ciobotaru <alcioa@amazon.com>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
L: The AWS Nitro Enclaves Team <aws-nitro-enclaves-devel@amazon.com>
|
||||
S: Supported
|
||||
W: https://aws.amazon.com/ec2/nitro/nitro-enclaves/
|
||||
F: Documentation/virt/ne_overview.rst
|
||||
|
|
@ -16383,7 +16431,7 @@ F: tools/lib/perf/
|
|||
F: tools/perf/
|
||||
|
||||
PERFORMANCE EVENTS TOOLING ARM64
|
||||
R: John Garry <john.garry@huawei.com>
|
||||
R: John Garry <john.g.garry@oracle.com>
|
||||
R: Will Deacon <will@kernel.org>
|
||||
R: James Clark <james.clark@arm.com>
|
||||
R: Mike Leach <mike.leach@linaro.org>
|
||||
|
|
@ -21078,6 +21126,9 @@ F: drivers/hwmon/pmbus/tps546d24.c
|
|||
TRACING
|
||||
M: Steven Rostedt <rostedt@goodmis.org>
|
||||
M: Masami Hiramatsu <mhiramat@kernel.org>
|
||||
L: linux-kernel@vger.kernel.org
|
||||
L: linux-trace-kernel@vger.kernel.org
|
||||
Q: https://patchwork.kernel.org/project/linux-trace-kernel/list/
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
|
||||
F: Documentation/trace/*
|
||||
|
|
@ -21781,7 +21832,7 @@ M: Alex Williamson <alex.williamson@redhat.com>
|
|||
R: Cornelia Huck <cohuck@redhat.com>
|
||||
L: kvm@vger.kernel.org
|
||||
S: Maintained
|
||||
T: git git://github.com/awilliam/linux-vfio.git
|
||||
T: git https://github.com/awilliam/linux-vfio.git
|
||||
F: Documentation/ABI/testing/sysfs-devices-vfio-dev
|
||||
F: Documentation/driver-api/vfio.rst
|
||||
F: drivers/vfio/
|
||||
|
|
|
|||
|
|
@ -638,7 +638,7 @@ config ARCH_SUPPORTS_SHADOW_CALL_STACK
|
|||
config SHADOW_CALL_STACK
|
||||
bool "Shadow Call Stack"
|
||||
depends on ARCH_SUPPORTS_SHADOW_CALL_STACK
|
||||
depends on DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
|
||||
depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
|
||||
help
|
||||
This option enables the compiler's Shadow Call Stack, which
|
||||
uses a shadow stack to protect function return addresses from
|
||||
|
|
|
|||
|
|
@ -972,22 +972,6 @@ config ARM64_ERRATUM_2457168
|
|||
|
||||
If unsure, say Y.
|
||||
|
||||
config ARM64_ERRATUM_2645198
|
||||
bool "Cortex-A715: 2645198: Workaround possible [ESR|FAR]_ELx corruption"
|
||||
default y
|
||||
help
|
||||
This option adds the workaround for ARM Cortex-A715 erratum 2645198.
|
||||
|
||||
If a Cortex-A715 cpu sees a page mapping permissions change from executable
|
||||
to non-executable, it may corrupt the ESR_ELx and FAR_ELx registers on the
|
||||
next instruction abort caused by permission fault.
|
||||
|
||||
Only user-space does executable to non-executable permission transition via
|
||||
mprotect() system call. Workaround the problem by doing a break-before-make
|
||||
TLB invalidation, for all changes to executable user space mappings.
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
config CAVIUM_ERRATUM_22375
|
||||
bool "Cavium erratum 22375, 24313"
|
||||
default y
|
||||
|
|
|
|||
|
|
@ -49,15 +49,6 @@ extern pte_t huge_ptep_get(pte_t *ptep);
|
|||
|
||||
void __init arm64_hugetlb_cma_reserve(void);
|
||||
|
||||
#define huge_ptep_modify_prot_start huge_ptep_modify_prot_start
|
||||
extern pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma,
|
||||
unsigned long addr, pte_t *ptep);
|
||||
|
||||
#define huge_ptep_modify_prot_commit huge_ptep_modify_prot_commit
|
||||
extern void huge_ptep_modify_prot_commit(struct vm_area_struct *vma,
|
||||
unsigned long addr, pte_t *ptep,
|
||||
pte_t old_pte, pte_t new_pte);
|
||||
|
||||
#include <asm-generic/hugetlb.h>
|
||||
|
||||
#endif /* __ASM_HUGETLB_H */
|
||||
|
|
|
|||
|
|
@ -1093,15 +1093,6 @@ static inline bool pud_sect_supported(void)
|
|||
}
|
||||
|
||||
|
||||
#define __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION
|
||||
#define ptep_modify_prot_start ptep_modify_prot_start
|
||||
extern pte_t ptep_modify_prot_start(struct vm_area_struct *vma,
|
||||
unsigned long addr, pte_t *ptep);
|
||||
|
||||
#define ptep_modify_prot_commit ptep_modify_prot_commit
|
||||
extern void ptep_modify_prot_commit(struct vm_area_struct *vma,
|
||||
unsigned long addr, pte_t *ptep,
|
||||
pte_t old_pte, pte_t new_pte);
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif /* __ASM_PGTABLE_H */
|
||||
|
|
|
|||
|
|
@ -661,13 +661,6 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
|
|||
CAP_MIDR_RANGE_LIST(trbe_write_out_of_range_cpus),
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_ARM64_ERRATUM_2645198
|
||||
{
|
||||
.desc = "ARM erratum 2645198",
|
||||
.capability = ARM64_WORKAROUND_2645198,
|
||||
ERRATA_MIDR_ALL_VERSIONS(MIDR_CORTEX_A715)
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_ARM64_ERRATUM_2077057
|
||||
{
|
||||
.desc = "ARM erratum 2077057",
|
||||
|
|
|
|||
|
|
@ -559,24 +559,3 @@ bool __init arch_hugetlb_valid_size(unsigned long size)
|
|||
{
|
||||
return __hugetlb_valid_size(size);
|
||||
}
|
||||
|
||||
pte_t huge_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_ARM64_WORKAROUND_2645198) &&
|
||||
cpus_have_const_cap(ARM64_WORKAROUND_2645198)) {
|
||||
/*
|
||||
* Break-before-make (BBM) is required for all user space mappings
|
||||
* when the permission changes from executable to non-executable
|
||||
* in cases where cpu is affected with errata #2645198.
|
||||
*/
|
||||
if (pte_user_exec(READ_ONCE(*ptep)))
|
||||
return huge_ptep_clear_flush(vma, addr, ptep);
|
||||
}
|
||||
return huge_ptep_get_and_clear(vma->vm_mm, addr, ptep);
|
||||
}
|
||||
|
||||
void huge_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep,
|
||||
pte_t old_pte, pte_t pte)
|
||||
{
|
||||
set_huge_pte_at(vma->vm_mm, addr, ptep, pte);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1630,24 +1630,3 @@ static int __init prevent_bootmem_remove_init(void)
|
|||
}
|
||||
early_initcall(prevent_bootmem_remove_init);
|
||||
#endif
|
||||
|
||||
pte_t ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_ARM64_WORKAROUND_2645198) &&
|
||||
cpus_have_const_cap(ARM64_WORKAROUND_2645198)) {
|
||||
/*
|
||||
* Break-before-make (BBM) is required for all user space mappings
|
||||
* when the permission changes from executable to non-executable
|
||||
* in cases where cpu is affected with errata #2645198.
|
||||
*/
|
||||
if (pte_user_exec(READ_ONCE(*ptep)))
|
||||
return ptep_clear_flush(vma, addr, ptep);
|
||||
}
|
||||
return ptep_get_and_clear(vma->vm_mm, addr, ptep);
|
||||
}
|
||||
|
||||
void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep,
|
||||
pte_t old_pte, pte_t pte)
|
||||
{
|
||||
set_pte_at(vma->vm_mm, addr, ptep, pte);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,7 +71,6 @@ WORKAROUND_2038923
|
|||
WORKAROUND_2064142
|
||||
WORKAROUND_2077057
|
||||
WORKAROUND_2457168
|
||||
WORKAROUND_2645198
|
||||
WORKAROUND_2658417
|
||||
WORKAROUND_TRBE_OVERWRITE_FILL_MODE
|
||||
WORKAROUND_TSB_FLUSH_FAILURE
|
||||
|
|
|
|||
|
|
@ -154,13 +154,13 @@ static inline uint64_t cvmx_build_bits(uint64_t high_bit,
|
|||
|
||||
/**
|
||||
* Convert a memory pointer (void*) into a hardware compatible
|
||||
* memory address (uint64_t). Octeon hardware widgets don't
|
||||
* memory address (phys_addr_t). Octeon hardware widgets don't
|
||||
* understand logical addresses.
|
||||
*
|
||||
* @ptr: C style memory pointer
|
||||
* Returns Hardware physical address
|
||||
*/
|
||||
static inline uint64_t cvmx_ptr_to_phys(void *ptr)
|
||||
static inline phys_addr_t cvmx_ptr_to_phys(void *ptr)
|
||||
{
|
||||
if (sizeof(void *) == 8) {
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -911,7 +911,6 @@ CONFIG_USB_IDMOUSE=m
|
|||
CONFIG_USB_FTDI_ELAN=m
|
||||
CONFIG_USB_APPLEDISPLAY=m
|
||||
CONFIG_USB_SISUSBVGA=m
|
||||
CONFIG_USB_SISUSBVGA_CON=y
|
||||
CONFIG_USB_LD=m
|
||||
CONFIG_USB_TRANCEVIBRATOR=m
|
||||
CONFIG_USB_IOWARRIOR=m
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ struct coproc_instance {
|
|||
struct vas_window *txwin;
|
||||
};
|
||||
|
||||
static char *coproc_devnode(struct device *dev, umode_t *mode)
|
||||
static char *coproc_devnode(const struct device *dev, umode_t *mode)
|
||||
{
|
||||
return kasprintf(GFP_KERNEL, "crypto/%s", dev_name(dev));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,6 @@ CONFIG_USB_SERIAL_PL2303=m
|
|||
CONFIG_USB_EMI62=m
|
||||
CONFIG_USB_EMI26=m
|
||||
CONFIG_USB_SISUSBVGA=m
|
||||
CONFIG_USB_SISUSBVGA_CON=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user