mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
ASoC: Updates for v5.7
This is a very big update for the core since Morimoto-san has been rather busy continuing his refactorings to clean up a lot of the cruft that we have accumilated over the years. We've also gained several new drivers, including initial (but still not complete) parts of the Intel SoundWire support. - Lots of refactorings to modernize the code from Morimoto-san. - Conversion of SND_SOC_ALL_CODECS to use imply from Geert Uytterhoeven. - Continued refactoring and fixing of the Intel support. - Soundwire and more advanced clocking support for Realtek RT5682. - Support for amlogic GX, Meson 8, Meson 8B and T9015 DAC, Broadcom DSL/PON, Ingenic JZ4760 and JZ4770, Realtek RL6231, and TI TAS2563 and TLV320ADCX140. -----BEGIN PGP SIGNATURE----- iQFHBAABCgAxFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAl6B03sTHGJyb29uaWVA a2VybmVsLm9yZwAKCRAk1otyXVSH0Jm5B/4pb6Hz1ifM+ikR4qB7BOdm/UGzxWlD Mng+qN3kh6Tx+x8/xnQRmfOnhFoKnDSTnlxcDr6ujAtz3bH+CKXbo2jjfvmagQrW j87tYGdh6T38E6mf6543Eth3zJGphZYUY70REXt0HsaQ8bA912nrs5H8LTFiD2i+ lBJd/MmlCYL3gb/ftN9dpTfYYdxLy9HH9j5tR5zpLN3AD3Hew9jHqqX+ioAk+6lA Nisbx5grP10pWFklYXyJlUFQOqMOYMtPMblLRA9bjqcEtL3quIXPXKkPNtTh+0Kf 5t7Q39RtVXJAk0DcatjMJUGAGQyM9r5g1Nk8WLB1LLv+NfLcO6cUpLAc =+z/q -----END PGP SIGNATURE----- Merge tag 'asoc-v5.7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v5.7 This is a very big update for the core since Morimoto-san has been rather busy continuing his refactorings to clean up a lot of the cruft that we have accumilated over the years. We've also gained several new drivers, including initial (but still not complete) parts of the Intel SoundWire support. - Lots of refactorings to modernize the code from Morimoto-san. - Conversion of SND_SOC_ALL_CODECS to use imply from Geert Uytterhoeven. - Continued refactoring and fixing of the Intel support. - Soundwire and more advanced clocking support for Realtek RT5682. - Support for amlogic GX, Meson 8, Meson 8B and T9015 DAC, Broadcom DSL/PON, Ingenic JZ4760 and JZ4770, Realtek RL6231, and TI TAS2563 and TLV320ADCX140.
This commit is contained in:
commit
3c22baeab4
@ -86,6 +86,8 @@ ForEachMacros:
|
|||||||
- 'bio_for_each_segment_all'
|
- 'bio_for_each_segment_all'
|
||||||
- 'bio_list_for_each'
|
- 'bio_list_for_each'
|
||||||
- 'bip_for_each_vec'
|
- 'bip_for_each_vec'
|
||||||
|
- 'bitmap_for_each_clear_region'
|
||||||
|
- 'bitmap_for_each_set_region'
|
||||||
- 'blkg_for_each_descendant_post'
|
- 'blkg_for_each_descendant_post'
|
||||||
- 'blkg_for_each_descendant_pre'
|
- 'blkg_for_each_descendant_pre'
|
||||||
- 'blk_queue_for_each_rl'
|
- 'blk_queue_for_each_rl'
|
||||||
@ -115,6 +117,7 @@ ForEachMacros:
|
|||||||
- 'drm_client_for_each_connector_iter'
|
- 'drm_client_for_each_connector_iter'
|
||||||
- 'drm_client_for_each_modeset'
|
- 'drm_client_for_each_modeset'
|
||||||
- 'drm_connector_for_each_possible_encoder'
|
- 'drm_connector_for_each_possible_encoder'
|
||||||
|
- 'drm_for_each_bridge_in_chain'
|
||||||
- 'drm_for_each_connector_iter'
|
- 'drm_for_each_connector_iter'
|
||||||
- 'drm_for_each_crtc'
|
- 'drm_for_each_crtc'
|
||||||
- 'drm_for_each_encoder'
|
- 'drm_for_each_encoder'
|
||||||
@ -136,9 +139,10 @@ ForEachMacros:
|
|||||||
- 'for_each_bio'
|
- 'for_each_bio'
|
||||||
- 'for_each_board_func_rsrc'
|
- 'for_each_board_func_rsrc'
|
||||||
- 'for_each_bvec'
|
- 'for_each_bvec'
|
||||||
|
- 'for_each_card_auxs'
|
||||||
|
- 'for_each_card_auxs_safe'
|
||||||
- 'for_each_card_components'
|
- 'for_each_card_components'
|
||||||
- 'for_each_card_links'
|
- 'for_each_card_pre_auxs'
|
||||||
- 'for_each_card_links_safe'
|
|
||||||
- 'for_each_card_prelinks'
|
- 'for_each_card_prelinks'
|
||||||
- 'for_each_card_rtds'
|
- 'for_each_card_rtds'
|
||||||
- 'for_each_card_rtds_safe'
|
- 'for_each_card_rtds_safe'
|
||||||
@ -166,6 +170,7 @@ ForEachMacros:
|
|||||||
- 'for_each_dpcm_fe'
|
- 'for_each_dpcm_fe'
|
||||||
- 'for_each_drhd_unit'
|
- 'for_each_drhd_unit'
|
||||||
- 'for_each_dss_dev'
|
- 'for_each_dss_dev'
|
||||||
|
- 'for_each_efi_handle'
|
||||||
- 'for_each_efi_memory_desc'
|
- 'for_each_efi_memory_desc'
|
||||||
- 'for_each_efi_memory_desc_in_map'
|
- 'for_each_efi_memory_desc_in_map'
|
||||||
- 'for_each_element'
|
- 'for_each_element'
|
||||||
@ -190,6 +195,7 @@ ForEachMacros:
|
|||||||
- 'for_each_lru'
|
- 'for_each_lru'
|
||||||
- 'for_each_matching_node'
|
- 'for_each_matching_node'
|
||||||
- 'for_each_matching_node_and_match'
|
- 'for_each_matching_node_and_match'
|
||||||
|
- 'for_each_member'
|
||||||
- 'for_each_memblock'
|
- 'for_each_memblock'
|
||||||
- 'for_each_memblock_type'
|
- 'for_each_memblock_type'
|
||||||
- 'for_each_memcg_cache_index'
|
- 'for_each_memcg_cache_index'
|
||||||
@ -200,9 +206,11 @@ ForEachMacros:
|
|||||||
- 'for_each_msi_entry'
|
- 'for_each_msi_entry'
|
||||||
- 'for_each_msi_entry_safe'
|
- 'for_each_msi_entry_safe'
|
||||||
- 'for_each_net'
|
- 'for_each_net'
|
||||||
|
- 'for_each_net_continue_reverse'
|
||||||
- 'for_each_netdev'
|
- 'for_each_netdev'
|
||||||
- 'for_each_netdev_continue'
|
- 'for_each_netdev_continue'
|
||||||
- 'for_each_netdev_continue_rcu'
|
- 'for_each_netdev_continue_rcu'
|
||||||
|
- 'for_each_netdev_continue_reverse'
|
||||||
- 'for_each_netdev_feature'
|
- 'for_each_netdev_feature'
|
||||||
- 'for_each_netdev_in_bond_rcu'
|
- 'for_each_netdev_in_bond_rcu'
|
||||||
- 'for_each_netdev_rcu'
|
- 'for_each_netdev_rcu'
|
||||||
@ -254,10 +262,10 @@ ForEachMacros:
|
|||||||
- 'for_each_reserved_mem_region'
|
- 'for_each_reserved_mem_region'
|
||||||
- 'for_each_rtd_codec_dai'
|
- 'for_each_rtd_codec_dai'
|
||||||
- 'for_each_rtd_codec_dai_rollback'
|
- 'for_each_rtd_codec_dai_rollback'
|
||||||
- 'for_each_rtdcom'
|
- 'for_each_rtd_components'
|
||||||
- 'for_each_rtdcom_safe'
|
|
||||||
- 'for_each_set_bit'
|
- 'for_each_set_bit'
|
||||||
- 'for_each_set_bit_from'
|
- 'for_each_set_bit_from'
|
||||||
|
- 'for_each_set_clump8'
|
||||||
- 'for_each_sg'
|
- 'for_each_sg'
|
||||||
- 'for_each_sg_dma_page'
|
- 'for_each_sg_dma_page'
|
||||||
- 'for_each_sg_page'
|
- 'for_each_sg_page'
|
||||||
@ -267,6 +275,7 @@ ForEachMacros:
|
|||||||
- 'for_each_subelement_id'
|
- 'for_each_subelement_id'
|
||||||
- '__for_each_thread'
|
- '__for_each_thread'
|
||||||
- 'for_each_thread'
|
- 'for_each_thread'
|
||||||
|
- 'for_each_wakeup_source'
|
||||||
- 'for_each_zone'
|
- 'for_each_zone'
|
||||||
- 'for_each_zone_zonelist'
|
- 'for_each_zone_zonelist'
|
||||||
- 'for_each_zone_zonelist_nodemask'
|
- 'for_each_zone_zonelist_nodemask'
|
||||||
@ -330,6 +339,7 @@ ForEachMacros:
|
|||||||
- 'list_for_each'
|
- 'list_for_each'
|
||||||
- 'list_for_each_codec'
|
- 'list_for_each_codec'
|
||||||
- 'list_for_each_codec_safe'
|
- 'list_for_each_codec_safe'
|
||||||
|
- 'list_for_each_continue'
|
||||||
- 'list_for_each_entry'
|
- 'list_for_each_entry'
|
||||||
- 'list_for_each_entry_continue'
|
- 'list_for_each_entry_continue'
|
||||||
- 'list_for_each_entry_continue_rcu'
|
- 'list_for_each_entry_continue_rcu'
|
||||||
@ -351,6 +361,7 @@ ForEachMacros:
|
|||||||
- 'llist_for_each_entry'
|
- 'llist_for_each_entry'
|
||||||
- 'llist_for_each_entry_safe'
|
- 'llist_for_each_entry_safe'
|
||||||
- 'llist_for_each_safe'
|
- 'llist_for_each_safe'
|
||||||
|
- 'mci_for_each_dimm'
|
||||||
- 'media_device_for_each_entity'
|
- 'media_device_for_each_entity'
|
||||||
- 'media_device_for_each_intf'
|
- 'media_device_for_each_intf'
|
||||||
- 'media_device_for_each_link'
|
- 'media_device_for_each_link'
|
||||||
@ -444,10 +455,16 @@ ForEachMacros:
|
|||||||
- 'virtio_device_for_each_vq'
|
- 'virtio_device_for_each_vq'
|
||||||
- 'xa_for_each'
|
- 'xa_for_each'
|
||||||
- 'xa_for_each_marked'
|
- 'xa_for_each_marked'
|
||||||
|
- 'xa_for_each_range'
|
||||||
- 'xa_for_each_start'
|
- 'xa_for_each_start'
|
||||||
- 'xas_for_each'
|
- 'xas_for_each'
|
||||||
- 'xas_for_each_conflict'
|
- 'xas_for_each_conflict'
|
||||||
- 'xas_for_each_marked'
|
- 'xas_for_each_marked'
|
||||||
|
- 'xbc_array_for_each_value'
|
||||||
|
- 'xbc_for_each_key_value'
|
||||||
|
- 'xbc_node_for_each_array_value'
|
||||||
|
- 'xbc_node_for_each_child'
|
||||||
|
- 'xbc_node_for_each_key_value'
|
||||||
- 'zorro_for_each_dev'
|
- 'zorro_for_each_dev'
|
||||||
|
|
||||||
#IncludeBlocks: Preserve # Unknown to clang-format-5.0
|
#IncludeBlocks: Preserve # Unknown to clang-format-5.0
|
||||||
|
2
COPYING
2
COPYING
@ -16,3 +16,5 @@ In addition, other licenses may also apply. Please see:
|
|||||||
Documentation/process/license-rules.rst
|
Documentation/process/license-rules.rst
|
||||||
|
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
|
All contributions to the Linux Kernel are subject to this COPYING file.
|
||||||
|
5
CREDITS
5
CREDITS
@ -567,6 +567,11 @@ D: Original author of Amiga FFS filesystem
|
|||||||
S: Orlando, Florida
|
S: Orlando, Florida
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
|
N: Paul Burton
|
||||||
|
E: paulburton@kernel.org
|
||||||
|
W: https://pburton.com
|
||||||
|
D: MIPS maintainer 2018-2020
|
||||||
|
|
||||||
N: Lennert Buytenhek
|
N: Lennert Buytenhek
|
||||||
E: kernel@wantstofly.org
|
E: kernel@wantstofly.org
|
||||||
D: Original (2.4) rewrite of the ethernet bridging code
|
D: Original (2.4) rewrite of the ethernet bridging code
|
||||||
|
@ -18,7 +18,7 @@ may look as follows::
|
|||||||
|
|
||||||
$ ls -l /sys/bus/acpi/devices/INT3404:00/
|
$ ls -l /sys/bus/acpi/devices/INT3404:00/
|
||||||
total 0
|
total 0
|
||||||
...
|
...
|
||||||
-r--r--r-- 1 root root 4096 Dec 13 20:38 state0
|
-r--r--r-- 1 root root 4096 Dec 13 20:38 state0
|
||||||
-r--r--r-- 1 root root 4096 Dec 13 20:38 state1
|
-r--r--r-- 1 root root 4096 Dec 13 20:38 state1
|
||||||
-r--r--r-- 1 root root 4096 Dec 13 20:38 state10
|
-r--r--r-- 1 root root 4096 Dec 13 20:38 state10
|
||||||
@ -38,7 +38,7 @@ where each of the "state*" files represents one performance state of the fan
|
|||||||
and contains a colon-separated list of 5 integer numbers (fields) with the
|
and contains a colon-separated list of 5 integer numbers (fields) with the
|
||||||
following interpretation::
|
following interpretation::
|
||||||
|
|
||||||
control_percent:trip_point_index:speed_rpm:noise_level_mdb:power_mw
|
control_percent:trip_point_index:speed_rpm:noise_level_mdb:power_mw
|
||||||
|
|
||||||
* ``control_percent``: The percent value to be used to set the fan speed to a
|
* ``control_percent``: The percent value to be used to set the fan speed to a
|
||||||
specific level using the _FSL object (0-100).
|
specific level using the _FSL object (0-100).
|
||||||
|
@ -62,6 +62,30 @@ Or more shorter, written as following::
|
|||||||
In both styles, same key words are automatically merged when parsing it
|
In both styles, same key words are automatically merged when parsing it
|
||||||
at boot time. So you can append similar trees or key-values.
|
at boot time. So you can append similar trees or key-values.
|
||||||
|
|
||||||
|
Same-key Values
|
||||||
|
---------------
|
||||||
|
|
||||||
|
It is prohibited that two or more values or arrays share a same-key.
|
||||||
|
For example,::
|
||||||
|
|
||||||
|
foo = bar, baz
|
||||||
|
foo = qux # !ERROR! we can not re-define same key
|
||||||
|
|
||||||
|
If you want to append the value to existing key as an array member,
|
||||||
|
you can use ``+=`` operator. For example::
|
||||||
|
|
||||||
|
foo = bar, baz
|
||||||
|
foo += qux
|
||||||
|
|
||||||
|
In this case, the key ``foo`` has ``bar``, ``baz`` and ``qux``.
|
||||||
|
|
||||||
|
However, a sub-key and a value can not co-exist under a parent key.
|
||||||
|
For example, following config is NOT allowed.::
|
||||||
|
|
||||||
|
foo = value1
|
||||||
|
foo.bar = value2 # !ERROR! subkey "bar" and value "value1" can NOT co-exist
|
||||||
|
|
||||||
|
|
||||||
Comments
|
Comments
|
||||||
--------
|
--------
|
||||||
|
|
||||||
@ -102,9 +126,13 @@ Boot Kernel With a Boot Config
|
|||||||
==============================
|
==============================
|
||||||
|
|
||||||
Since the boot configuration file is loaded with initrd, it will be added
|
Since the boot configuration file is loaded with initrd, it will be added
|
||||||
to the end of the initrd (initramfs) image file. The Linux kernel decodes
|
to the end of the initrd (initramfs) image file with size, checksum and
|
||||||
the last part of the initrd image in memory to get the boot configuration
|
12-byte magic word as below.
|
||||||
data.
|
|
||||||
|
[initrd][bootconfig][size(u32)][checksum(u32)][#BOOTCONFIG\n]
|
||||||
|
|
||||||
|
The Linux kernel decodes the last part of the initrd image in memory to
|
||||||
|
get the boot configuration data.
|
||||||
Because of this "piggyback" method, there is no need to change or
|
Because of this "piggyback" method, there is no need to change or
|
||||||
update the boot loader and the kernel image itself.
|
update the boot loader and the kernel image itself.
|
||||||
|
|
||||||
|
@ -136,6 +136,10 @@
|
|||||||
dynamic table installation which will install SSDT
|
dynamic table installation which will install SSDT
|
||||||
tables to /sys/firmware/acpi/tables/dynamic.
|
tables to /sys/firmware/acpi/tables/dynamic.
|
||||||
|
|
||||||
|
acpi_no_watchdog [HW,ACPI,WDT]
|
||||||
|
Ignore the ACPI-based watchdog interface (WDAT) and let
|
||||||
|
a native driver control the watchdog device instead.
|
||||||
|
|
||||||
acpi_rsdp= [ACPI,EFI,KEXEC]
|
acpi_rsdp= [ACPI,EFI,KEXEC]
|
||||||
Pass the RSDP address to the kernel, mostly used
|
Pass the RSDP address to the kernel, mostly used
|
||||||
on machines running EFI runtime service to boot the
|
on machines running EFI runtime service to boot the
|
||||||
|
@ -129,7 +129,7 @@ this logic.
|
|||||||
|
|
||||||
As a single binary will need to support both 48-bit and 52-bit VA
|
As a single binary will need to support both 48-bit and 52-bit VA
|
||||||
spaces, the VMEMMAP must be sized large enough for 52-bit VAs and
|
spaces, the VMEMMAP must be sized large enough for 52-bit VAs and
|
||||||
also must be sized large enought to accommodate a fixed PAGE_OFFSET.
|
also must be sized large enough to accommodate a fixed PAGE_OFFSET.
|
||||||
|
|
||||||
Most code in the kernel should not need to consider the VA_BITS, for
|
Most code in the kernel should not need to consider the VA_BITS, for
|
||||||
code that does need to know the VA size the variables are
|
code that does need to know the VA size the variables are
|
||||||
|
@ -110,6 +110,8 @@ stable kernels.
|
|||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 |
|
| Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
|
| Cavium | ThunderX GICv3 | #38539 | N/A |
|
||||||
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 |
|
| Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 |
|
||||||
+----------------+-----------------+-----------------+-----------------------------+
|
+----------------+-----------------+-----------------+-----------------------------+
|
||||||
| Cavium | ThunderX Core | #30115 | CAVIUM_ERRATUM_30115 |
|
| Cavium | ThunderX Core | #30115 | CAVIUM_ERRATUM_30115 |
|
||||||
|
@ -44,8 +44,15 @@ The AArch64 Tagged Address ABI has two stages of relaxation depending
|
|||||||
how the user addresses are used by the kernel:
|
how the user addresses are used by the kernel:
|
||||||
|
|
||||||
1. User addresses not accessed by the kernel but used for address space
|
1. User addresses not accessed by the kernel but used for address space
|
||||||
management (e.g. ``mmap()``, ``mprotect()``, ``madvise()``). The use
|
management (e.g. ``mprotect()``, ``madvise()``). The use of valid
|
||||||
of valid tagged pointers in this context is always allowed.
|
tagged pointers in this context is allowed with the exception of
|
||||||
|
``brk()``, ``mmap()`` and the ``new_address`` argument to
|
||||||
|
``mremap()`` as these have the potential to alias with existing
|
||||||
|
user addresses.
|
||||||
|
|
||||||
|
NOTE: This behaviour changed in v5.6 and so some earlier kernels may
|
||||||
|
incorrectly accept valid tagged pointers for the ``brk()``,
|
||||||
|
``mmap()`` and ``mremap()`` system calls.
|
||||||
|
|
||||||
2. User addresses accessed by the kernel (e.g. ``write()``). This ABI
|
2. User addresses accessed by the kernel (e.g. ``write()``). This ABI
|
||||||
relaxation is disabled by default and the application thread needs to
|
relaxation is disabled by default and the application thread needs to
|
||||||
|
@ -551,6 +551,7 @@ options to your ``.config``:
|
|||||||
Once the kernel is built and installed, a simple
|
Once the kernel is built and installed, a simple
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
modprobe example-test
|
modprobe example-test
|
||||||
|
|
||||||
...will run the tests.
|
...will run the tests.
|
||||||
|
@ -102,7 +102,7 @@ Required sub-node properties:
|
|||||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
[2] Documentation/devicetree/bindings/power/power-domain.yaml
|
[2] Documentation/devicetree/bindings/power/power-domain.yaml
|
||||||
[3] Documentation/devicetree/bindings/thermal/thermal.txt
|
[3] Documentation/devicetree/bindings/thermal/thermal.txt
|
||||||
[4] Documentation/devicetree/bindings/sram/sram.txt
|
[4] Documentation/devicetree/bindings/sram/sram.yaml
|
||||||
[5] Documentation/devicetree/bindings/reset/reset.txt
|
[5] Documentation/devicetree/bindings/reset/reset.txt
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
@ -109,7 +109,7 @@ Required properties:
|
|||||||
[0] http://infocenter.arm.com/help/topic/com.arm.doc.dui0922b/index.html
|
[0] http://infocenter.arm.com/help/topic/com.arm.doc.dui0922b/index.html
|
||||||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||||
[2] Documentation/devicetree/bindings/thermal/thermal.txt
|
[2] Documentation/devicetree/bindings/thermal/thermal.txt
|
||||||
[3] Documentation/devicetree/bindings/sram/sram.txt
|
[3] Documentation/devicetree/bindings/sram/sram.yaml
|
||||||
[4] Documentation/devicetree/bindings/power/power-domain.yaml
|
[4] Documentation/devicetree/bindings/power/power-domain.yaml
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
@ -62,7 +62,7 @@ Timer node:
|
|||||||
|
|
||||||
Syscon reboot node:
|
Syscon reboot node:
|
||||||
|
|
||||||
See Documentation/devicetree/bindings/power/reset/syscon-reboot.txt for the
|
See Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml for the
|
||||||
detailed list of properties, the two values defined below are specific to the
|
detailed list of properties, the two values defined below are specific to the
|
||||||
BCM6328-style timer:
|
BCM6328-style timer:
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ properties:
|
|||||||
$ref: '/schemas/types.yaml#/definitions/phandle-array'
|
$ref: '/schemas/types.yaml#/definitions/phandle-array'
|
||||||
description: |
|
description: |
|
||||||
List of phandles to idle state nodes supported
|
List of phandles to idle state nodes supported
|
||||||
by this cpu (see ./idle-states.txt).
|
by this cpu (see ./idle-states.yaml).
|
||||||
|
|
||||||
capacity-dmips-mhz:
|
capacity-dmips-mhz:
|
||||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||||
|
@ -160,7 +160,7 @@ properties:
|
|||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
- armadeus,imx6dl-apf6 # APF6 (Solo) SoM
|
- armadeus,imx6dl-apf6 # APF6 (Solo) SoM
|
||||||
- armadeus,imx6dl-apf6dldev # APF6 (Solo) SoM on APF6Dev board
|
- armadeus,imx6dl-apf6dev # APF6 (Solo) SoM on APF6Dev board
|
||||||
- eckelmann,imx6dl-ci4x10
|
- eckelmann,imx6dl-ci4x10
|
||||||
- emtrion,emcon-mx6 # emCON-MX6S or emCON-MX6DL SoM
|
- emtrion,emcon-mx6 # emCON-MX6S or emCON-MX6DL SoM
|
||||||
- emtrion,emcon-mx6-avari # emCON-MX6S or emCON-MX6DL SoM on Avari Base
|
- emtrion,emcon-mx6-avari # emCON-MX6S or emCON-MX6DL SoM on Avari Base
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
* Hisilicon Hi3519 System Controller Block
|
* Hisilicon Hi3519 System Controller Block
|
||||||
|
|
||||||
This bindings use the following binding:
|
This bindings use the following binding:
|
||||||
Documentation/devicetree/bindings/mfd/syscon.txt
|
Documentation/devicetree/bindings/mfd/syscon.yaml
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: "hisilicon,hi3519-sysctrl".
|
- compatible: "hisilicon,hi3519-sysctrl".
|
||||||
|
@ -81,4 +81,4 @@ Example:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
[1]. Documentation/devicetree/bindings/arm/idle-states.txt
|
[1]. Documentation/devicetree/bindings/arm/idle-states.yaml
|
||||||
|
@ -17,7 +17,7 @@ am335x and am437x only:
|
|||||||
- pm-sram: Phandles to ocmcram nodes to be used for power management.
|
- pm-sram: Phandles to ocmcram nodes to be used for power management.
|
||||||
First should be type 'protect-exec' for the driver to use to copy
|
First should be type 'protect-exec' for the driver to use to copy
|
||||||
and run PM functions, second should be regular pool to be used for
|
and run PM functions, second should be regular pool to be used for
|
||||||
data region for code. See Documentation/devicetree/bindings/sram/sram.txt
|
data region for code. See Documentation/devicetree/bindings/sram/sram.yaml
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
@ -100,13 +100,14 @@ properties:
|
|||||||
bindings in [1]) must specify this property.
|
bindings in [1]) must specify this property.
|
||||||
|
|
||||||
[1] Kernel documentation - ARM idle states bindings
|
[1] Kernel documentation - ARM idle states bindings
|
||||||
Documentation/devicetree/bindings/arm/idle-states.txt
|
Documentation/devicetree/bindings/arm/idle-states.yaml
|
||||||
|
|
||||||
"#power-domain-cells":
|
|
||||||
description:
|
|
||||||
The number of cells in a PM domain specifier as per binding in [3].
|
|
||||||
Must be 0 as to represent a single PM domain.
|
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^power-domain-":
|
||||||
|
allOf:
|
||||||
|
- $ref: "../power/power-domain.yaml#"
|
||||||
|
type: object
|
||||||
|
description: |
|
||||||
ARM systems can have multiple cores, sometimes in an hierarchical
|
ARM systems can have multiple cores, sometimes in an hierarchical
|
||||||
arrangement. This often, but not always, maps directly to the processor
|
arrangement. This often, but not always, maps directly to the processor
|
||||||
power topology of the system. Individual nodes in a topology have their
|
power topology of the system. Individual nodes in a topology have their
|
||||||
@ -122,14 +123,8 @@ properties:
|
|||||||
helps to implement support for OSI mode and OS implementations may choose
|
helps to implement support for OSI mode and OS implementations may choose
|
||||||
to mandate it.
|
to mandate it.
|
||||||
|
|
||||||
[3] Documentation/devicetree/bindings/power/power_domain.txt
|
[3] Documentation/devicetree/bindings/power/power-domain.yaml
|
||||||
[4] Documentation/devicetree/bindings/power/domain-idle-state.txt
|
[4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
|
||||||
|
|
||||||
power-domains:
|
|
||||||
$ref: '/schemas/types.yaml#/definitions/phandle-array'
|
|
||||||
description:
|
|
||||||
List of phandles and PM domain specifiers, as defined by bindings of the
|
|
||||||
PM domain provider.
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
@ -199,7 +194,7 @@ examples:
|
|||||||
|
|
||||||
CPU0: cpu@0 {
|
CPU0: cpu@0 {
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
compatible = "arm,cortex-a53", "arm,armv8";
|
compatible = "arm,cortex-a53";
|
||||||
reg = <0x0>;
|
reg = <0x0>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
power-domains = <&CPU_PD0>;
|
power-domains = <&CPU_PD0>;
|
||||||
@ -208,7 +203,7 @@ examples:
|
|||||||
|
|
||||||
CPU1: cpu@1 {
|
CPU1: cpu@1 {
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
compatible = "arm,cortex-a57", "arm,armv8";
|
compatible = "arm,cortex-a53";
|
||||||
reg = <0x100>;
|
reg = <0x100>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
power-domains = <&CPU_PD1>;
|
power-domains = <&CPU_PD1>;
|
||||||
@ -224,6 +219,9 @@ examples:
|
|||||||
exit-latency-us = <10>;
|
exit-latency-us = <10>;
|
||||||
min-residency-us = <100>;
|
min-residency-us = <100>;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
domain-idle-states {
|
||||||
|
|
||||||
CLUSTER_RET: cluster-retention {
|
CLUSTER_RET: cluster-retention {
|
||||||
compatible = "domain-idle-state";
|
compatible = "domain-idle-state";
|
||||||
@ -247,19 +245,19 @@ examples:
|
|||||||
compatible = "arm,psci-1.0";
|
compatible = "arm,psci-1.0";
|
||||||
method = "smc";
|
method = "smc";
|
||||||
|
|
||||||
CPU_PD0: cpu-pd0 {
|
CPU_PD0: power-domain-cpu0 {
|
||||||
#power-domain-cells = <0>;
|
#power-domain-cells = <0>;
|
||||||
domain-idle-states = <&CPU_PWRDN>;
|
domain-idle-states = <&CPU_PWRDN>;
|
||||||
power-domains = <&CLUSTER_PD>;
|
power-domains = <&CLUSTER_PD>;
|
||||||
};
|
};
|
||||||
|
|
||||||
CPU_PD1: cpu-pd1 {
|
CPU_PD1: power-domain-cpu1 {
|
||||||
#power-domain-cells = <0>;
|
#power-domain-cells = <0>;
|
||||||
domain-idle-states = <&CPU_PWRDN>;
|
domain-idle-states = <&CPU_PWRDN>;
|
||||||
power-domains = <&CLUSTER_PD>;
|
power-domains = <&CLUSTER_PD>;
|
||||||
};
|
};
|
||||||
|
|
||||||
CLUSTER_PD: cluster-pd {
|
CLUSTER_PD: power-domain-cluster {
|
||||||
#power-domain-cells = <0>;
|
#power-domain-cells = <0>;
|
||||||
domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
|
domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
|
||||||
};
|
};
|
||||||
|
@ -52,7 +52,7 @@ required:
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
mlahb: ahb {
|
mlahb: ahb@38000000 {
|
||||||
compatible = "st,mlahb", "simple-bus";
|
compatible = "st,mlahb", "simple-bus";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
@ -70,7 +70,6 @@ examples:
|
|||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
pmic@3e3 {
|
pmic@3e3 {
|
||||||
compatible = "...";
|
|
||||||
reg = <0x3e3>;
|
reg = <0x3e3>;
|
||||||
|
|
||||||
/* ... */
|
/* ... */
|
||||||
|
@ -40,7 +40,7 @@ additionalProperties: false
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
osc24M: clk@01c20050 {
|
osc24M: clk@1c20050 {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "allwinner,sun4i-a10-osc-clk";
|
compatible = "allwinner,sun4i-a10-osc-clk";
|
||||||
reg = <0x01c20050 0x4>;
|
reg = <0x01c20050 0x4>;
|
||||||
|
@ -41,7 +41,7 @@ additionalProperties: false
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
clk@0600005c {
|
clk@600005c {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "allwinner,sun9i-a80-gt-clk";
|
compatible = "allwinner,sun9i-a80-gt-clk";
|
||||||
reg = <0x0600005c 0x4>;
|
reg = <0x0600005c 0x4>;
|
||||||
|
@ -42,7 +42,7 @@ properties:
|
|||||||
be part of GCC and hence the TSENS properties can also be part
|
be part of GCC and hence the TSENS properties can also be part
|
||||||
of the GCC/clock-controller node.
|
of the GCC/clock-controller node.
|
||||||
For more details on the TSENS properties please refer
|
For more details on the TSENS properties please refer
|
||||||
Documentation/devicetree/bindings/thermal/qcom-tsens.txt
|
Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
|
||||||
|
|
||||||
nvmem-cell-names:
|
nvmem-cell-names:
|
||||||
minItems: 1
|
minItems: 1
|
||||||
|
@ -43,9 +43,13 @@ properties:
|
|||||||
- enum:
|
- enum:
|
||||||
- allwinner,sun8i-h3-tcon-tv
|
- allwinner,sun8i-h3-tcon-tv
|
||||||
- allwinner,sun50i-a64-tcon-tv
|
- allwinner,sun50i-a64-tcon-tv
|
||||||
- allwinner,sun50i-h6-tcon-tv
|
|
||||||
- const: allwinner,sun8i-a83t-tcon-tv
|
- const: allwinner,sun8i-a83t-tcon-tv
|
||||||
|
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- allwinner,sun50i-h6-tcon-tv
|
||||||
|
- const: allwinner,sun8i-r40-tcon-tv
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
@ -49,11 +49,7 @@ examples:
|
|||||||
resets = <&tcon_ch0_clk 0>;
|
resets = <&tcon_ch0_clk 0>;
|
||||||
|
|
||||||
port {
|
port {
|
||||||
#address-cells = <1>;
|
tve0_in_tcon0: endpoint {
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
tve0_in_tcon0: endpoint@0 {
|
|
||||||
reg = <0>;
|
|
||||||
remote-endpoint = <&tcon0_out_tve0>;
|
remote-endpoint = <&tcon0_out_tve0>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -79,21 +79,15 @@ examples:
|
|||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
anx6345_in: port@0 {
|
anx6345_in: port@0 {
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
reg = <0>;
|
|
||||||
anx6345_in_tcon0: endpoint@0 {
|
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
|
anx6345_in_tcon0: endpoint {
|
||||||
remote-endpoint = <&tcon0_out_anx6345>;
|
remote-endpoint = <&tcon0_out_anx6345>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
anx6345_out: port@1 {
|
anx6345_out: port@1 {
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
anx6345_out_panel: endpoint@0 {
|
anx6345_out_panel: endpoint {
|
||||||
reg = <0>;
|
|
||||||
remote-endpoint = <&panel_in_edp>;
|
remote-endpoint = <&panel_in_edp>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -37,6 +37,8 @@ examples:
|
|||||||
dsi@ff450000 {
|
dsi@ff450000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
reg = <0xff450000 0x1000>;
|
||||||
|
|
||||||
panel@0 {
|
panel@0 {
|
||||||
compatible = "leadtek,ltk500hd1829";
|
compatible = "leadtek,ltk500hd1829";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
|
@ -37,6 +37,8 @@ examples:
|
|||||||
dsi@ff450000 {
|
dsi@ff450000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
reg = <0xff450000 0x1000>;
|
||||||
|
|
||||||
panel@0 {
|
panel@0 {
|
||||||
compatible = "xinpeng,xpp055c272";
|
compatible = "xinpeng,xpp055c272";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
|
@ -174,10 +174,6 @@ examples:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
soc@1c00000 {
|
lcdc0: lcdc { };
|
||||||
lcdc0: lcdc@1c0c000 {
|
|
||||||
compatible = "allwinner,sun4i-a10-lcdc";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
...
|
...
|
||||||
|
@ -37,7 +37,7 @@ Optional nodes:
|
|||||||
supports a single port with a single endpoint.
|
supports a single port with a single endpoint.
|
||||||
|
|
||||||
- See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and
|
- See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and
|
||||||
Documentation/devicetree/bindings/display/tilcdc/tfp410.txt for connecting
|
Documentation/devicetree/bindings/display/bridge/ti,tfp410.txt for connecting
|
||||||
tfp410 DVI encoder or lcd panel to lcdc
|
tfp410 DVI encoder or lcd panel to lcdc
|
||||||
|
|
||||||
[1] There is an errata about AM335x color wiring. For 16-bit color mode
|
[1] There is an errata about AM335x color wiring. For 16-bit color mode
|
||||||
|
@ -143,7 +143,7 @@ examples:
|
|||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
dma-coherent;
|
dma-coherent;
|
||||||
dma-ranges;
|
dma-ranges;
|
||||||
ranges;
|
ranges = <0x0 0x30800000 0x0 0x30800000 0x0 0x05000000>;
|
||||||
|
|
||||||
ti,sci-dev-id = <118>;
|
ti,sci-dev-id = <118>;
|
||||||
|
|
||||||
@ -169,16 +169,4 @@ examples:
|
|||||||
ti,sci-rm-range-rflow = <0x6>; /* GP RFLOW */
|
ti,sci-rm-range-rflow = <0x6>; /* GP RFLOW */
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mcasp0: mcasp@02B00000 {
|
|
||||||
dmas = <&main_udmap 0xc400>, <&main_udmap 0x4400>;
|
|
||||||
dma-names = "tx", "rx";
|
|
||||||
};
|
|
||||||
|
|
||||||
crypto: crypto@4E00000 {
|
|
||||||
compatible = "ti,sa2ul-crypto";
|
|
||||||
|
|
||||||
dmas = <&main_udmap 0xc000>, <&main_udmap 0x4000>, <&main_udmap 0x4001>;
|
|
||||||
dma-names = "tx", "rx1", "rx2";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
@ -84,31 +84,31 @@ examples:
|
|||||||
gpu_opp_table: opp_table0 {
|
gpu_opp_table: opp_table0 {
|
||||||
compatible = "operating-points-v2";
|
compatible = "operating-points-v2";
|
||||||
|
|
||||||
opp@533000000 {
|
opp-533000000 {
|
||||||
opp-hz = /bits/ 64 <533000000>;
|
opp-hz = /bits/ 64 <533000000>;
|
||||||
opp-microvolt = <1250000>;
|
opp-microvolt = <1250000>;
|
||||||
};
|
};
|
||||||
opp@450000000 {
|
opp-450000000 {
|
||||||
opp-hz = /bits/ 64 <450000000>;
|
opp-hz = /bits/ 64 <450000000>;
|
||||||
opp-microvolt = <1150000>;
|
opp-microvolt = <1150000>;
|
||||||
};
|
};
|
||||||
opp@400000000 {
|
opp-400000000 {
|
||||||
opp-hz = /bits/ 64 <400000000>;
|
opp-hz = /bits/ 64 <400000000>;
|
||||||
opp-microvolt = <1125000>;
|
opp-microvolt = <1125000>;
|
||||||
};
|
};
|
||||||
opp@350000000 {
|
opp-350000000 {
|
||||||
opp-hz = /bits/ 64 <350000000>;
|
opp-hz = /bits/ 64 <350000000>;
|
||||||
opp-microvolt = <1075000>;
|
opp-microvolt = <1075000>;
|
||||||
};
|
};
|
||||||
opp@266000000 {
|
opp-266000000 {
|
||||||
opp-hz = /bits/ 64 <266000000>;
|
opp-hz = /bits/ 64 <266000000>;
|
||||||
opp-microvolt = <1025000>;
|
opp-microvolt = <1025000>;
|
||||||
};
|
};
|
||||||
opp@160000000 {
|
opp-160000000 {
|
||||||
opp-hz = /bits/ 64 <160000000>;
|
opp-hz = /bits/ 64 <160000000>;
|
||||||
opp-microvolt = <925000>;
|
opp-microvolt = <925000>;
|
||||||
};
|
};
|
||||||
opp@100000000 {
|
opp-100000000 {
|
||||||
opp-hz = /bits/ 64 <100000000>;
|
opp-hz = /bits/ 64 <100000000>;
|
||||||
opp-microvolt = <912500>;
|
opp-microvolt = <912500>;
|
||||||
};
|
};
|
||||||
|
@ -138,31 +138,31 @@ examples:
|
|||||||
gpu_opp_table: opp_table0 {
|
gpu_opp_table: opp_table0 {
|
||||||
compatible = "operating-points-v2";
|
compatible = "operating-points-v2";
|
||||||
|
|
||||||
opp@533000000 {
|
opp-533000000 {
|
||||||
opp-hz = /bits/ 64 <533000000>;
|
opp-hz = /bits/ 64 <533000000>;
|
||||||
opp-microvolt = <1250000>;
|
opp-microvolt = <1250000>;
|
||||||
};
|
};
|
||||||
opp@450000000 {
|
opp-450000000 {
|
||||||
opp-hz = /bits/ 64 <450000000>;
|
opp-hz = /bits/ 64 <450000000>;
|
||||||
opp-microvolt = <1150000>;
|
opp-microvolt = <1150000>;
|
||||||
};
|
};
|
||||||
opp@400000000 {
|
opp-400000000 {
|
||||||
opp-hz = /bits/ 64 <400000000>;
|
opp-hz = /bits/ 64 <400000000>;
|
||||||
opp-microvolt = <1125000>;
|
opp-microvolt = <1125000>;
|
||||||
};
|
};
|
||||||
opp@350000000 {
|
opp-350000000 {
|
||||||
opp-hz = /bits/ 64 <350000000>;
|
opp-hz = /bits/ 64 <350000000>;
|
||||||
opp-microvolt = <1075000>;
|
opp-microvolt = <1075000>;
|
||||||
};
|
};
|
||||||
opp@266000000 {
|
opp-266000000 {
|
||||||
opp-hz = /bits/ 64 <266000000>;
|
opp-hz = /bits/ 64 <266000000>;
|
||||||
opp-microvolt = <1025000>;
|
opp-microvolt = <1025000>;
|
||||||
};
|
};
|
||||||
opp@160000000 {
|
opp-160000000 {
|
||||||
opp-hz = /bits/ 64 <160000000>;
|
opp-hz = /bits/ 64 <160000000>;
|
||||||
opp-microvolt = <925000>;
|
opp-microvolt = <925000>;
|
||||||
};
|
};
|
||||||
opp@100000000 {
|
opp-100000000 {
|
||||||
opp-hz = /bits/ 64 <100000000>;
|
opp-hz = /bits/ 64 <100000000>;
|
||||||
opp-microvolt = <912500>;
|
opp-microvolt = <912500>;
|
||||||
};
|
};
|
||||||
|
@ -123,7 +123,7 @@ examples:
|
|||||||
samsung,syscon-phandle = <&pmu_system_controller>;
|
samsung,syscon-phandle = <&pmu_system_controller>;
|
||||||
|
|
||||||
/* NTC thermistor is a hwmon device */
|
/* NTC thermistor is a hwmon device */
|
||||||
ncp15wb473@0 {
|
ncp15wb473 {
|
||||||
compatible = "murata,ncp15wb473";
|
compatible = "murata,ncp15wb473";
|
||||||
pullup-uv = <1800000>;
|
pullup-uv = <1800000>;
|
||||||
pullup-ohm = <47000>;
|
pullup-ohm = <47000>;
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
Ilitek ILI210x/ILI2117/ILI251x touchscreen controller
|
Ilitek ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible:
|
- compatible:
|
||||||
ilitek,ili210x for ILI210x
|
ilitek,ili210x for ILI210x
|
||||||
ilitek,ili2117 for ILI2117
|
ilitek,ili2117 for ILI2117
|
||||||
|
ilitek,ili2120 for ILI2120
|
||||||
ilitek,ili251x for ILI251x
|
ilitek,ili251x for ILI251x
|
||||||
|
|
||||||
- reg: The I2C address of the device
|
- reg: The I2C address of the device
|
||||||
|
@ -62,7 +62,7 @@ required:
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
i2c@00000000 {
|
i2c {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
gt928@5d {
|
gt928@5d {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Texas Instruments TWL family (twl4030) pwrbutton module
|
Texas Instruments TWL family (twl4030) pwrbutton module
|
||||||
|
|
||||||
This module is part of the TWL4030. For more details about the whole
|
This module is part of the TWL4030. For more details about the whole
|
||||||
chip see Documentation/devicetree/bindings/mfd/twl-familly.txt.
|
chip see Documentation/devicetree/bindings/mfd/twl-family.txt.
|
||||||
|
|
||||||
This module provides a simple power button event via an Interrupt.
|
This module provides a simple power button event via an Interrupt.
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ properties:
|
|||||||
# LED will act as a back-light, controlled by the framebuffer system
|
# LED will act as a back-light, controlled by the framebuffer system
|
||||||
- backlight
|
- backlight
|
||||||
# LED will turn on (but for leds-gpio see "default-state" property in
|
# LED will turn on (but for leds-gpio see "default-state" property in
|
||||||
# Documentation/devicetree/bindings/leds/leds-gpio.txt)
|
# Documentation/devicetree/bindings/leds/leds-gpio.yaml)
|
||||||
- default-on
|
- default-on
|
||||||
# LED "double" flashes at a load average based rate
|
# LED "double" flashes at a load average based rate
|
||||||
- heartbeat
|
- heartbeat
|
||||||
|
@ -5,7 +5,7 @@ where single bits in a certain register can turn on/off a
|
|||||||
single LED. The register bit LEDs appear as children to the
|
single LED. The register bit LEDs appear as children to the
|
||||||
syscon device, with the proper compatible string. For the
|
syscon device, with the proper compatible string. For the
|
||||||
syscon bindings see:
|
syscon bindings see:
|
||||||
Documentation/devicetree/bindings/mfd/syscon.txt
|
Documentation/devicetree/bindings/mfd/syscon.yaml
|
||||||
|
|
||||||
Each LED is represented as a sub-node of the syscon device. Each
|
Each LED is represented as a sub-node of the syscon device. Each
|
||||||
node's name represents the name of the corresponding LED.
|
node's name represents the name of the corresponding LED.
|
||||||
|
@ -33,17 +33,23 @@ properties:
|
|||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 2
|
oneOf:
|
||||||
maxItems: 3
|
- items:
|
||||||
items:
|
- description: The CSI interface clock
|
||||||
|
- description: The CSI DRAM clock
|
||||||
|
|
||||||
|
- items:
|
||||||
- description: The CSI interface clock
|
- description: The CSI interface clock
|
||||||
- description: The CSI ISP clock
|
- description: The CSI ISP clock
|
||||||
- description: The CSI DRAM clock
|
- description: The CSI DRAM clock
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
minItems: 2
|
oneOf:
|
||||||
maxItems: 3
|
- items:
|
||||||
items:
|
- const: bus
|
||||||
|
- const: ram
|
||||||
|
|
||||||
|
- items:
|
||||||
- const: bus
|
- const: bus
|
||||||
- const: isp
|
- const: isp
|
||||||
- const: ram
|
- const: ram
|
||||||
@ -51,6 +57,16 @@ properties:
|
|||||||
resets:
|
resets:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
# FIXME: This should be made required eventually once every SoC will
|
||||||
|
# have the MBUS declared.
|
||||||
|
interconnects:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
# FIXME: This should be made required eventually once every SoC will
|
||||||
|
# have the MBUS declared.
|
||||||
|
interconnect-names:
|
||||||
|
const: dma-mem
|
||||||
|
|
||||||
# See ./video-interfaces.txt for details
|
# See ./video-interfaces.txt for details
|
||||||
port:
|
port:
|
||||||
type: object
|
type: object
|
||||||
|
@ -177,7 +177,7 @@ examples:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
i2c5: i2c@4807c000 {
|
i2c {
|
||||||
clock-frequency = <400000>;
|
clock-frequency = <400000>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
@ -347,6 +347,7 @@ examples:
|
|||||||
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
#iommu-cells = <1>;
|
#iommu-cells = <1>;
|
||||||
|
#reset-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
external-memory-controller@7001b000 {
|
external-memory-controller@7001b000 {
|
||||||
@ -363,20 +364,23 @@ examples:
|
|||||||
timing-0 {
|
timing-0 {
|
||||||
clock-frequency = <12750000>;
|
clock-frequency = <12750000>;
|
||||||
|
|
||||||
nvidia,emc-zcal-cnt-long = <0x00000042>;
|
|
||||||
nvidia,emc-auto-cal-interval = <0x001fffff>;
|
|
||||||
nvidia,emc-ctt-term-ctrl = <0x00000802>;
|
|
||||||
nvidia,emc-cfg = <0x73240000>;
|
|
||||||
nvidia,emc-cfg-2 = <0x000008c5>;
|
|
||||||
nvidia,emc-sel-dpd-ctrl = <0x00040128>;
|
|
||||||
nvidia,emc-bgbias-ctl0 = <0x00000008>;
|
|
||||||
nvidia,emc-auto-cal-config = <0xa1430000>;
|
nvidia,emc-auto-cal-config = <0xa1430000>;
|
||||||
nvidia,emc-auto-cal-config2 = <0x00000000>;
|
nvidia,emc-auto-cal-config2 = <0x00000000>;
|
||||||
nvidia,emc-auto-cal-config3 = <0x00000000>;
|
nvidia,emc-auto-cal-config3 = <0x00000000>;
|
||||||
nvidia,emc-mode-reset = <0x80001221>;
|
nvidia,emc-auto-cal-interval = <0x001fffff>;
|
||||||
|
nvidia,emc-bgbias-ctl0 = <0x00000008>;
|
||||||
|
nvidia,emc-cfg = <0x73240000>;
|
||||||
|
nvidia,emc-cfg-2 = <0x000008c5>;
|
||||||
|
nvidia,emc-ctt-term-ctrl = <0x00000802>;
|
||||||
nvidia,emc-mode-1 = <0x80100003>;
|
nvidia,emc-mode-1 = <0x80100003>;
|
||||||
nvidia,emc-mode-2 = <0x80200008>;
|
nvidia,emc-mode-2 = <0x80200008>;
|
||||||
nvidia,emc-mode-4 = <0x00000000>;
|
nvidia,emc-mode-4 = <0x00000000>;
|
||||||
|
nvidia,emc-mode-reset = <0x80001221>;
|
||||||
|
nvidia,emc-mrs-wait-cnt = <0x000e000e>;
|
||||||
|
nvidia,emc-sel-dpd-ctrl = <0x00040128>;
|
||||||
|
nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
|
||||||
|
nvidia,emc-zcal-cnt-long = <0x00000042>;
|
||||||
|
nvidia,emc-zcal-interval = <0x00000000>;
|
||||||
|
|
||||||
nvidia,emc-configuration = <
|
nvidia,emc-configuration = <
|
||||||
0x00000000 /* EMC_RC */
|
0x00000000 /* EMC_RC */
|
||||||
|
@ -32,7 +32,7 @@ Required only for "ti,emif-am3352" and "ti,emif-am4372":
|
|||||||
- sram : Phandles for generic sram driver nodes,
|
- sram : Phandles for generic sram driver nodes,
|
||||||
first should be type 'protect-exec' for the driver to use to copy
|
first should be type 'protect-exec' for the driver to use to copy
|
||||||
and run PM functions, second should be regular pool to be used for
|
and run PM functions, second should be regular pool to be used for
|
||||||
data region for code. See Documentation/devicetree/bindings/sram/sram.txt
|
data region for code. See Documentation/devicetree/bindings/sram/sram.yaml
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
|
@ -97,14 +97,14 @@ examples:
|
|||||||
regulators {
|
regulators {
|
||||||
compatible = "maxim,max77650-regulator";
|
compatible = "maxim,max77650-regulator";
|
||||||
|
|
||||||
max77650_ldo: regulator@0 {
|
max77650_ldo: regulator-ldo {
|
||||||
regulator-compatible = "ldo";
|
regulator-compatible = "ldo";
|
||||||
regulator-name = "max77650-ldo";
|
regulator-name = "max77650-ldo";
|
||||||
regulator-min-microvolt = <1350000>;
|
regulator-min-microvolt = <1350000>;
|
||||||
regulator-max-microvolt = <2937500>;
|
regulator-max-microvolt = <2937500>;
|
||||||
};
|
};
|
||||||
|
|
||||||
max77650_sbb0: regulator@1 {
|
max77650_sbb0: regulator-sbb0 {
|
||||||
regulator-compatible = "sbb0";
|
regulator-compatible = "sbb0";
|
||||||
regulator-name = "max77650-sbb0";
|
regulator-name = "max77650-sbb0";
|
||||||
regulator-min-microvolt = <800000>;
|
regulator-min-microvolt = <800000>;
|
||||||
|
@ -26,8 +26,8 @@ Required properties:
|
|||||||
ldo6, ldo7, ldo8
|
ldo6, ldo7, ldo8
|
||||||
|
|
||||||
- xxx-supply: Input voltage supply regulator.
|
- xxx-supply: Input voltage supply regulator.
|
||||||
These entries are require if regulators are enabled for a device. Missing of these
|
These entries are required if regulators are enabled for a device. Missing these
|
||||||
properties can cause the regulator registration fails.
|
properties can cause the regulator registration to fail.
|
||||||
If some of input supply is powered through battery or always-on supply then
|
If some of input supply is powered through battery or always-on supply then
|
||||||
also it is require to have these parameters with proper node handle of always
|
also it is require to have these parameters with proper node handle of always
|
||||||
on power supply.
|
on power supply.
|
||||||
|
@ -20,7 +20,7 @@ RAVE SP consists of the following sub-devices:
|
|||||||
Device Description
|
Device Description
|
||||||
------ -----------
|
------ -----------
|
||||||
rave-sp-wdt : Watchdog
|
rave-sp-wdt : Watchdog
|
||||||
rave-sp-nvmem : Interface to onborad EEPROM
|
rave-sp-nvmem : Interface to onboard EEPROM
|
||||||
rave-sp-backlight : Display backlight
|
rave-sp-backlight : Display backlight
|
||||||
rave-sp-hwmon : Interface to onboard hardware sensors
|
rave-sp-hwmon : Interface to onboard hardware sensors
|
||||||
rave-sp-leds : Interface to onboard LEDs
|
rave-sp-leds : Interface to onboard LEDs
|
||||||
|
@ -26,7 +26,7 @@ For generic IOMMU bindings, see
|
|||||||
Documentation/devicetree/bindings/iommu/iommu.txt.
|
Documentation/devicetree/bindings/iommu/iommu.txt.
|
||||||
|
|
||||||
For arm-smmu binding, see:
|
For arm-smmu binding, see:
|
||||||
Documentation/devicetree/bindings/iommu/arm,smmu.txt.
|
Documentation/devicetree/bindings/iommu/arm,smmu.yaml.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
|
@ -370,6 +370,7 @@ examples:
|
|||||||
mmc3: mmc@1c12000 {
|
mmc3: mmc@1c12000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
reg = <0x1c12000 0x200>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&mmc3_pins_a>;
|
pinctrl-0 = <&mmc3_pins_a>;
|
||||||
vmmc-supply = <®_vmmc3>;
|
vmmc-supply = <®_vmmc3>;
|
||||||
|
@ -124,7 +124,7 @@ not every application needs SDIO irq, e.g. MMC cards.
|
|||||||
pinctrl-1 = <&mmc1_idle>;
|
pinctrl-1 = <&mmc1_idle>;
|
||||||
pinctrl-2 = <&mmc1_sleep>;
|
pinctrl-2 = <&mmc1_sleep>;
|
||||||
...
|
...
|
||||||
interrupts-extended = <&intc 64 &gpio2 28 GPIO_ACTIVE_LOW>;
|
interrupts-extended = <&intc 64 &gpio2 28 IRQ_TYPE_LEVEL_LOW>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mmc1_idle : pinmux_cirq_pin {
|
mmc1_idle : pinmux_cirq_pin {
|
||||||
|
@ -27,7 +27,7 @@ Required properties of NAND chips:
|
|||||||
- reg: shall contain the native Chip Select ids from 0 to max supported by
|
- reg: shall contain the native Chip Select ids from 0 to max supported by
|
||||||
the cadence nand flash controller
|
the cadence nand flash controller
|
||||||
|
|
||||||
See Documentation/devicetree/bindings/mtd/nand.txt for more details on
|
See Documentation/devicetree/bindings/mtd/nand-controller.yaml for more details on
|
||||||
generic bindings.
|
generic bindings.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
@ -45,7 +45,7 @@ Optional properties:
|
|||||||
switch queue
|
switch queue
|
||||||
|
|
||||||
- resets: a single phandle and reset identifier pair. See
|
- resets: a single phandle and reset identifier pair. See
|
||||||
Documentation/devicetree/binding/reset/reset.txt for details.
|
Documentation/devicetree/bindings/reset/reset.txt for details.
|
||||||
|
|
||||||
- reset-names: If the "reset" property is specified, this property should have
|
- reset-names: If the "reset" property is specified, this property should have
|
||||||
the value "switch" to denote the switch reset line.
|
the value "switch" to denote the switch reset line.
|
||||||
|
@ -110,6 +110,13 @@ PROPERTIES
|
|||||||
Usage: required
|
Usage: required
|
||||||
Definition: See soc/fsl/qman.txt and soc/fsl/bman.txt
|
Definition: See soc/fsl/qman.txt and soc/fsl/bman.txt
|
||||||
|
|
||||||
|
- fsl,erratum-a050385
|
||||||
|
Usage: optional
|
||||||
|
Value type: boolean
|
||||||
|
Definition: A boolean property. Indicates the presence of the
|
||||||
|
erratum A050385 which indicates that DMA transactions that are
|
||||||
|
split can result in a FMan lock.
|
||||||
|
|
||||||
=============================================================================
|
=============================================================================
|
||||||
FMan MURAM Node
|
FMan MURAM Node
|
||||||
|
|
||||||
|
@ -56,7 +56,6 @@ patternProperties:
|
|||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
davinci_mdio: mdio@5c030000 {
|
davinci_mdio: mdio@5c030000 {
|
||||||
compatible = "ti,davinci_mdio";
|
|
||||||
reg = <0x5c030000 0x1000>;
|
reg = <0x5c030000 0x1000>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
@ -76,6 +76,8 @@ examples:
|
|||||||
qfprom: eeprom@700000 {
|
qfprom: eeprom@700000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
reg = <0x00700000 0x100000>;
|
||||||
|
|
||||||
wp-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
|
wp-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
/* ... */
|
/* ... */
|
||||||
|
@ -86,7 +86,7 @@ examples:
|
|||||||
#include <dt-bindings/clock/sun4i-a10-ccu.h>
|
#include <dt-bindings/clock/sun4i-a10-ccu.h>
|
||||||
#include <dt-bindings/reset/sun4i-a10-ccu.h>
|
#include <dt-bindings/reset/sun4i-a10-ccu.h>
|
||||||
|
|
||||||
usbphy: phy@01c13400 {
|
usbphy: phy@1c13400 {
|
||||||
#phy-cells = <1>;
|
#phy-cells = <1>;
|
||||||
compatible = "allwinner,sun4i-a10-usb-phy";
|
compatible = "allwinner,sun4i-a10-usb-phy";
|
||||||
reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
|
reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
|
||||||
|
@ -17,7 +17,7 @@ description: |+
|
|||||||
"aspeed,ast2400-scu", "syscon", "simple-mfd"
|
"aspeed,ast2400-scu", "syscon", "simple-mfd"
|
||||||
|
|
||||||
Refer to the the bindings described in
|
Refer to the the bindings described in
|
||||||
Documentation/devicetree/bindings/mfd/syscon.txt
|
Documentation/devicetree/bindings/mfd/syscon.yaml
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -18,7 +18,7 @@ description: |+
|
|||||||
"aspeed,g5-scu", "syscon", "simple-mfd"
|
"aspeed,g5-scu", "syscon", "simple-mfd"
|
||||||
|
|
||||||
Refer to the the bindings described in
|
Refer to the the bindings described in
|
||||||
Documentation/devicetree/bindings/mfd/syscon.txt
|
Documentation/devicetree/bindings/mfd/syscon.yaml
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -17,7 +17,7 @@ description: |+
|
|||||||
"aspeed,ast2600-scu", "syscon", "simple-mfd"
|
"aspeed,ast2600-scu", "syscon", "simple-mfd"
|
||||||
|
|
||||||
Refer to the the bindings described in
|
Refer to the the bindings described in
|
||||||
Documentation/devicetree/bindings/mfd/syscon.txt
|
Documentation/devicetree/bindings/mfd/syscon.yaml
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -248,7 +248,7 @@ examples:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Example 3 pin groups
|
//Example 3 pin groups
|
||||||
pinctrl@60020000 {
|
pinctrl {
|
||||||
usart1_pins_a: usart1-0 {
|
usart1_pins_a: usart1-0 {
|
||||||
pins1 {
|
pins1 {
|
||||||
pinmux = <STM32_PINMUX('A', 9, AF7)>;
|
pinmux = <STM32_PINMUX('A', 9, AF7)>;
|
||||||
|
@ -18,7 +18,7 @@ description: |+
|
|||||||
"amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon"
|
"amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon"
|
||||||
|
|
||||||
Refer to the the bindings described in
|
Refer to the the bindings described in
|
||||||
Documentation/devicetree/bindings/mfd/syscon.txt
|
Documentation/devicetree/bindings/mfd/syscon.yaml
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
PM Domain Idle State Node:
|
|
||||||
|
|
||||||
A domain idle state node represents the state parameters that will be used to
|
|
||||||
select the state when there are no active components in the domain.
|
|
||||||
|
|
||||||
The state node has the following parameters -
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: Required
|
|
||||||
Value type: <string>
|
|
||||||
Definition: Must be "domain-idle-state".
|
|
||||||
|
|
||||||
- entry-latency-us
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: u32 value representing worst case latency in
|
|
||||||
microseconds required to enter the idle state.
|
|
||||||
The exit-latency-us duration may be guaranteed
|
|
||||||
only after entry-latency-us has passed.
|
|
||||||
|
|
||||||
- exit-latency-us
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: u32 value representing worst case latency
|
|
||||||
in microseconds required to exit the idle state.
|
|
||||||
|
|
||||||
- min-residency-us
|
|
||||||
Usage: Required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: u32 value representing minimum residency duration
|
|
||||||
in microseconds after which the idle state will yield
|
|
||||||
power benefits after overcoming the overhead in entering
|
|
||||||
i the idle state.
|
|
@ -0,0 +1,64 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: PM Domain Idle States binding description
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ulf Hansson <ulf.hansson@linaro.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
A domain idle state node represents the state parameters that will be used to
|
||||||
|
select the state when there are no active components in the PM domain.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
const: domain-idle-states
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^(cpu|cluster|domain)-":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Each state node represents a domain idle state description.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: domain-idle-state
|
||||||
|
|
||||||
|
entry-latency-us:
|
||||||
|
description:
|
||||||
|
The worst case latency in microseconds required to enter the idle
|
||||||
|
state. Note that, the exit-latency-us duration may be guaranteed only
|
||||||
|
after the entry-latency-us has passed.
|
||||||
|
|
||||||
|
exit-latency-us:
|
||||||
|
description:
|
||||||
|
The worst case latency in microseconds required to exit the idle
|
||||||
|
state.
|
||||||
|
|
||||||
|
min-residency-us:
|
||||||
|
description:
|
||||||
|
The minimum residency duration in microseconds after which the idle
|
||||||
|
state will yield power benefits, after overcoming the overhead while
|
||||||
|
entering the idle state.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- entry-latency-us
|
||||||
|
- exit-latency-us
|
||||||
|
- min-residency-us
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
|
||||||
|
domain-idle-states {
|
||||||
|
domain_retention: domain-retention {
|
||||||
|
compatible = "domain-idle-state";
|
||||||
|
entry-latency-us = <20>;
|
||||||
|
exit-latency-us = <40>;
|
||||||
|
min-residency-us = <80>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
@ -25,22 +25,20 @@ description: |+
|
|||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
pattern: "^(power-controller|power-domain)(@.*)?$"
|
pattern: "^(power-controller|power-domain)([@-].*)?$"
|
||||||
|
|
||||||
domain-idle-states:
|
domain-idle-states:
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
description:
|
description: |
|
||||||
A phandle of an idle-state that shall be soaked into a generic domain
|
Phandles of idle states that defines the available states for the
|
||||||
power state. The idle state definitions are compatible with
|
power-domain provider. The idle state definitions are compatible with the
|
||||||
domain-idle-state specified in
|
domain-idle-state bindings, specified in ./domain-idle-state.yaml.
|
||||||
Documentation/devicetree/bindings/power/domain-idle-state.txt
|
|
||||||
phandles that are not compatible with domain-idle-state will be ignored.
|
Note that, the domain-idle-state property reflects the idle states of this
|
||||||
The domain-idle-state property reflects the idle state of this PM domain
|
PM domain and not the idle states of the devices or sub-domains in the PM
|
||||||
and not the idle states of the devices or sub-domains in the PM domain.
|
domain. Devices and sub-domains have their own idle states independent of
|
||||||
Devices and sub-domains have their own idle-states independent
|
the parent domain's idle states. In the absence of this property, the
|
||||||
of the parent domain's idle states. In the absence of this property,
|
domain would be considered as capable of being powered-on or powered-off.
|
||||||
the domain would be considered as capable of being powered-on
|
|
||||||
or powered-off.
|
|
||||||
|
|
||||||
operating-points-v2:
|
operating-points-v2:
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
@ -109,4 +109,4 @@ Example:
|
|||||||
required-opps = <&domain1_opp_1>;
|
required-opps = <&domain1_opp_1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
[1]. Documentation/devicetree/bindings/power/domain-idle-state.txt
|
[1]. Documentation/devicetree/bindings/power/domain-idle-state.yaml
|
||||||
|
@ -161,7 +161,7 @@ The regulator node houses sub-nodes for each regulator within the device. Each
|
|||||||
sub-node is identified using the node's name, with valid values listed for each
|
sub-node is identified using the node's name, with valid values listed for each
|
||||||
of the PMICs below.
|
of the PMICs below.
|
||||||
|
|
||||||
pm8005:
|
pm8004:
|
||||||
s2, s5
|
s2, s5
|
||||||
|
|
||||||
pm8005:
|
pm8005:
|
||||||
|
@ -191,7 +191,7 @@ patternProperties:
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
xyzreg: regulator@0 {
|
xyzreg: regulator {
|
||||||
regulator-min-microvolt = <1000000>;
|
regulator-min-microvolt = <1000000>;
|
||||||
regulator-max-microvolt = <2500000>;
|
regulator-max-microvolt = <2500000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
|
@ -23,7 +23,11 @@ properties:
|
|||||||
description: Global reset register offset and bit offset.
|
description: Global reset register offset and bit offset.
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: /schemas/types.yaml#/definitions/uint32-array
|
- $ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
- maxItems: 2
|
items:
|
||||||
|
- description: Register offset
|
||||||
|
- description: Register bit offset
|
||||||
|
minimum: 0
|
||||||
|
maximum: 31
|
||||||
|
|
||||||
"#reset-cells":
|
"#reset-cells":
|
||||||
minimum: 2
|
minimum: 2
|
||||||
|
@ -3,4 +3,4 @@ STMicroelectronics STM32MP1 Peripheral Reset Controller
|
|||||||
|
|
||||||
The RCC IP is both a reset and a clock controller.
|
The RCC IP is both a reset and a clock controller.
|
||||||
|
|
||||||
Please see Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.txt
|
Please see Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml
|
||||||
|
113
Documentation/devicetree/bindings/sound/amlogic,aiu.yaml
Normal file
113
Documentation/devicetree/bindings/sound/amlogic,aiu.yaml
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/amlogic,aiu.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Amlogic AIU audio output controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^audio-controller@.*"
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- amlogic,aiu-gxbb
|
||||||
|
- amlogic,aiu-gxl
|
||||||
|
- amlogic,aiu-meson8
|
||||||
|
- amlogic,aiu-meson8b
|
||||||
|
- const:
|
||||||
|
amlogic,aiu
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: AIU peripheral clock
|
||||||
|
- description: I2S peripheral clock
|
||||||
|
- description: I2S output clock
|
||||||
|
- description: I2S master clock
|
||||||
|
- description: I2S mixer clock
|
||||||
|
- description: SPDIF peripheral clock
|
||||||
|
- description: SPDIF output clock
|
||||||
|
- description: SPDIF master clock
|
||||||
|
- description: SPDIF master clock multiplexer
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: pclk
|
||||||
|
- const: i2s_pclk
|
||||||
|
- const: i2s_aoclk
|
||||||
|
- const: i2s_mclk
|
||||||
|
- const: i2s_mixer
|
||||||
|
- const: spdif_pclk
|
||||||
|
- const: spdif_aoclk
|
||||||
|
- const: spdif_mclk
|
||||||
|
- const: spdif_mclk_sel
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
items:
|
||||||
|
- description: I2S interrupt line
|
||||||
|
- description: SPDIF interrupt line
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
items:
|
||||||
|
- const: i2s
|
||||||
|
- const: spdif
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- compatible
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
- interrupt-names
|
||||||
|
- reg
|
||||||
|
- resets
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/gxbb-clkc.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
|
||||||
|
|
||||||
|
aiu: audio-controller@5400 {
|
||||||
|
compatible = "amlogic,aiu-gxl", "amlogic,aiu";
|
||||||
|
#sound-dai-cells = <2>;
|
||||||
|
reg = <0x0 0x5400 0x0 0x2ac>;
|
||||||
|
interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
|
||||||
|
<GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
interrupt-names = "i2s", "spdif";
|
||||||
|
clocks = <&clkc CLKID_AIU_GLUE>,
|
||||||
|
<&clkc CLKID_I2S_OUT>,
|
||||||
|
<&clkc CLKID_AOCLK_GATE>,
|
||||||
|
<&clkc CLKID_CTS_AMCLK>,
|
||||||
|
<&clkc CLKID_MIXER_IFACE>,
|
||||||
|
<&clkc CLKID_IEC958>,
|
||||||
|
<&clkc CLKID_IEC958_GATE>,
|
||||||
|
<&clkc CLKID_CTS_MCLK_I958>,
|
||||||
|
<&clkc CLKID_CTS_I958>;
|
||||||
|
clock-names = "pclk",
|
||||||
|
"i2s_pclk",
|
||||||
|
"i2s_aoclk",
|
||||||
|
"i2s_mclk",
|
||||||
|
"i2s_mixer",
|
||||||
|
"spdif_pclk",
|
||||||
|
"spdif_aoclk",
|
||||||
|
"spdif_mclk",
|
||||||
|
"spdif_mclk_sel";
|
||||||
|
resets = <&reset RESET_AIU>;
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,51 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/amlogic,g12a-toacodec.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Amlogic G12a Internal DAC Control Glue
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^audio-controller@.*"
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- items:
|
||||||
|
- const:
|
||||||
|
amlogic,g12a-toacodec
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- amlogic,sm1-toacodec
|
||||||
|
- const:
|
||||||
|
amlogic,g12a-toacodec
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- resets
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
|
||||||
|
|
||||||
|
toacodec: audio-controller@740 {
|
||||||
|
compatible = "amlogic,g12a-toacodec";
|
||||||
|
reg = <0x0 0x740 0x0 0x4>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
resets = <&clkc_audio AUD_RESET_TOACODEC>;
|
||||||
|
};
|
@ -0,0 +1,113 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/amlogic,gx-sound-card.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Amlogic GX sound card
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- const: amlogic,gx-sound-card
|
||||||
|
|
||||||
|
audio-aux-devs:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
description: list of auxiliary devices
|
||||||
|
|
||||||
|
audio-routing:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
minItems: 2
|
||||||
|
description: |-
|
||||||
|
A list of the connections between audio components. Each entry is a
|
||||||
|
pair of strings, the first being the connection's sink, the second
|
||||||
|
being the connection's source.
|
||||||
|
|
||||||
|
audio-widgets:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
minItems: 2
|
||||||
|
description: |-
|
||||||
|
A list off component DAPM widget. Each entry is a pair of strings,
|
||||||
|
the first being the widget type, the second being the widget name
|
||||||
|
|
||||||
|
model:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: User specified audio sound card name
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^dai-link-[0-9]+$":
|
||||||
|
type: object
|
||||||
|
description: |-
|
||||||
|
dai-link child nodes:
|
||||||
|
Container for dai-link level properties and the CODEC sub-nodes.
|
||||||
|
There should be at least one (and probably more) subnode of this type
|
||||||
|
|
||||||
|
properties:
|
||||||
|
dai-format:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
enum: [ i2s, left-j, dsp_a ]
|
||||||
|
|
||||||
|
mclk-fs:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |-
|
||||||
|
Multiplication factor between the frame rate and master clock
|
||||||
|
rate
|
||||||
|
|
||||||
|
sound-dai:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: phandle of the CPU DAI
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^codec-[0-9]+$":
|
||||||
|
type: object
|
||||||
|
description: |-
|
||||||
|
Codecs:
|
||||||
|
dai-link representing backend links should have at least one subnode.
|
||||||
|
One subnode for each codec of the dai-link. dai-link representing
|
||||||
|
frontend links have no codec, therefore have no subnodes
|
||||||
|
|
||||||
|
properties:
|
||||||
|
sound-dai:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: phandle of the codec DAI
|
||||||
|
|
||||||
|
required:
|
||||||
|
- sound-dai
|
||||||
|
|
||||||
|
required:
|
||||||
|
- sound-dai
|
||||||
|
|
||||||
|
required:
|
||||||
|
- model
|
||||||
|
- dai-link-0
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
sound {
|
||||||
|
compatible = "amlogic,gx-sound-card";
|
||||||
|
model = "GXL-ACME-S905X-FOO";
|
||||||
|
audio-aux-devs = <&>;
|
||||||
|
audio-routing = "I2S ENCODER I2S IN", "I2S FIFO Playback";
|
||||||
|
|
||||||
|
dai-link-0 {
|
||||||
|
sound-dai = <&i2s_fifo>;
|
||||||
|
};
|
||||||
|
|
||||||
|
dai-link-1 {
|
||||||
|
sound-dai = <&i2s_encoder>;
|
||||||
|
dai-format = "i2s";
|
||||||
|
mclk-fs = <256>;
|
||||||
|
|
||||||
|
codec-0 {
|
||||||
|
sound-dai = <&codec0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
codec-1 {
|
||||||
|
sound-dai = <&codec1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
58
Documentation/devicetree/bindings/sound/amlogic,t9015.yaml
Normal file
58
Documentation/devicetree/bindings/sound/amlogic,t9015.yaml
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/amlogic,t9015.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Amlogic T9015 Internal Audio DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^audio-controller@.*"
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- const: amlogic,t9015
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Peripheral clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: pclk
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- resets
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/g12a-clkc.h>
|
||||||
|
#include <dt-bindings/reset/amlogic,meson-g12a-reset.h>
|
||||||
|
|
||||||
|
acodec: audio-controller@32000 {
|
||||||
|
compatible = "amlogic,t9015";
|
||||||
|
reg = <0x0 0x32000 0x0 0x14>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
clocks = <&clkc CLKID_AUDIO_CODEC>;
|
||||||
|
clock-names = "pclk";
|
||||||
|
resets = <&reset RESET_AUDIO_CODEC>;
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
Broadcom DSL/PON BCM63xx Audio I2S controller
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: Should be "brcm,bcm63xx-i2s".
|
||||||
|
- #address-cells: 32bit valued, 1 cell.
|
||||||
|
- #size-cells: 32bit valued, 0 cell.
|
||||||
|
- reg: Should contain audio registers location and length
|
||||||
|
- interrupts: Should contain the interrupt for the controller.
|
||||||
|
- clocks: Must contain an entry for each entry in clock-names.
|
||||||
|
Please refer to clock-bindings.txt.
|
||||||
|
- clock-names: One of each entry matching the clocks phandles list:
|
||||||
|
- "i2sclk" (generated clock) Required.
|
||||||
|
- "i2sosc" (fixed 200MHz clock) Required.
|
||||||
|
|
||||||
|
(1) : The generated clock is required only when any of TX and RX
|
||||||
|
works on Master Mode.
|
||||||
|
(2) : The fixed 200MHz clock is from internal chip and always on
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
i2s: bcm63xx-i2s {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
compatible = "brcm,bcm63xx-i2s";
|
||||||
|
reg = <0xFF802080 0xFF>;
|
||||||
|
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&i2sclk>, <&osc>;
|
||||||
|
clock-names = "i2sclk","i2sosc";
|
||||||
|
};
|
69
Documentation/devicetree/bindings/sound/cirrus,cs42l51.yaml
Normal file
69
Documentation/devicetree/bindings/sound/cirrus,cs42l51.yaml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/cirrus,cs42l51.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: CS42L51 audio codec DT bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Olivier Moysan <olivier.moysan@st.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: cirrus,cs42l51
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: MCLK
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
VL-supply:
|
||||||
|
description: phandle to voltage regulator of digital interface section
|
||||||
|
|
||||||
|
VD-supply:
|
||||||
|
description: phandle to voltage regulator of digital internal section
|
||||||
|
|
||||||
|
VA-supply:
|
||||||
|
description: phandle to voltage regulator of analog internal section
|
||||||
|
|
||||||
|
VAHP-supply:
|
||||||
|
description: phandle to voltage regulator of headphone
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
cs42l51@4a {
|
||||||
|
compatible = "cirrus,cs42l51";
|
||||||
|
reg = <0x4a>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
clocks = <&mclk_prov>;
|
||||||
|
clock-names = "MCLK";
|
||||||
|
VL-supply = <®_audio>;
|
||||||
|
VD-supply = <®_audio>;
|
||||||
|
VA-supply = <®_audio>;
|
||||||
|
VAHP-supply = <®_audio>;
|
||||||
|
reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
@ -1,33 +0,0 @@
|
|||||||
CS42L51 audio CODEC
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "cirrus,cs42l51"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- VL-supply, VD-supply, VA-supply, VAHP-supply: power supplies for the device,
|
|
||||||
as covered in Documentation/devicetree/bindings/regulator/regulator.txt.
|
|
||||||
|
|
||||||
- reset-gpios : GPIO specification for the reset pin. If specified, it will be
|
|
||||||
deasserted before starting the communication with the codec.
|
|
||||||
|
|
||||||
- clocks : a list of phandles + clock-specifiers, one for each entry in
|
|
||||||
clock-names
|
|
||||||
|
|
||||||
- clock-names : must contain "MCLK"
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
cs42l51: cs42l51@4a {
|
|
||||||
compatible = "cirrus,cs42l51";
|
|
||||||
reg = <0x4a>;
|
|
||||||
clocks = <&mclk_prov>;
|
|
||||||
clock-names = "MCLK";
|
|
||||||
VL-supply = <®_audio>;
|
|
||||||
VD-supply = <®_audio>;
|
|
||||||
VA-supply = <®_audio>;
|
|
||||||
VAHP-supply = <®_audio>;
|
|
||||||
reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
@ -1,44 +0,0 @@
|
|||||||
Audio codec controlled by ChromeOS EC
|
|
||||||
|
|
||||||
Google's ChromeOS EC codec is a digital mic codec provided by the
|
|
||||||
Embedded Controller (EC) and is controlled via a host-command interface.
|
|
||||||
|
|
||||||
An EC codec node should only be found as a sub-node of the EC node (see
|
|
||||||
Documentation/devicetree/bindings/mfd/cros-ec.txt).
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Must contain "google,cros-ec-codec"
|
|
||||||
- #sound-dai-cells: Should be 1. The cell specifies number of DAIs.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reg: Pysical base address and length of shared memory region from EC.
|
|
||||||
It contains 3 unsigned 32-bit integer. The first 2 integers
|
|
||||||
combine to become an unsigned 64-bit physical address. The last
|
|
||||||
one integer is length of the shared memory.
|
|
||||||
- memory-region: Shared memory region to EC. A "shared-dma-pool". See
|
|
||||||
../reserved-memory/reserved-memory.txt for details.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
{
|
|
||||||
...
|
|
||||||
|
|
||||||
reserved_mem: reserved_mem {
|
|
||||||
compatible = "shared-dma-pool";
|
|
||||||
reg = <0 0x52800000 0 0x100000>;
|
|
||||||
no-map;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
cros-ec@0 {
|
|
||||||
compatible = "google,cros-ec-spi";
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
cros_ec_codec: ec-codec {
|
|
||||||
compatible = "google,cros-ec-codec";
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
reg = <0x0 0x10500000 0x80000>;
|
|
||||||
memory-region = <&reserved_mem>;
|
|
||||||
};
|
|
||||||
};
|
|
@ -0,0 +1,67 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/google,cros-ec-codec.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Audio codec controlled by ChromeOS EC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Cheng-Yi Chiang <cychiang@chromium.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Google's ChromeOS EC codec is a digital mic codec provided by the
|
||||||
|
Embedded Controller (EC) and is controlled via a host-command interface.
|
||||||
|
An EC codec node should only be found as a sub-node of the EC node (see
|
||||||
|
Documentation/devicetree/bindings/mfd/cros-ec.txt).
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: google,cros-ec-codec
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: |
|
||||||
|
Physical base address and length of shared memory region from EC.
|
||||||
|
It contains 3 unsigned 32-bit integer. The first 2 integers
|
||||||
|
combine to become an unsigned 64-bit physical address.
|
||||||
|
The last one integer is the length of the shared memory.
|
||||||
|
|
||||||
|
memory-region:
|
||||||
|
$ref: '/schemas/types.yaml#/definitions/phandle'
|
||||||
|
description: |
|
||||||
|
Shared memory region to EC. A "shared-dma-pool".
|
||||||
|
See ../reserved-memory/reserved-memory.txt for details.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
reserved_mem: reserved-mem@52800000 {
|
||||||
|
compatible = "shared-dma-pool";
|
||||||
|
reg = <0x52800000 0x100000>;
|
||||||
|
no-map;
|
||||||
|
};
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
cros-ec@0 {
|
||||||
|
compatible = "google,cros-ec-spi";
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
reg = <0>;
|
||||||
|
cros_ec_codec: ec-codec@10500000 {
|
||||||
|
compatible = "google,cros-ec-codec";
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
reg = <0x0 0x10500000 0x80000>;
|
||||||
|
memory-region = <&reserved_mem>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
92
Documentation/devicetree/bindings/sound/ingenic,aic.yaml
Normal file
92
Documentation/devicetree/bindings/sound/ingenic,aic.yaml
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/ingenic,aic.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Ingenic SoCs AC97 / I2S Controller (AIC) DT bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Paul Cercueil <paul@crapouillou.net>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: '^audio-controller@'
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- enum:
|
||||||
|
- ingenic,jz4740-i2s
|
||||||
|
- ingenic,jz4760-i2s
|
||||||
|
- ingenic,jz4770-i2s
|
||||||
|
- ingenic,jz4780-i2s
|
||||||
|
- items:
|
||||||
|
- const: ingenic,jz4725b-i2s
|
||||||
|
- const: ingenic,jz4740-i2s
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: AIC clock
|
||||||
|
- description: I2S clock
|
||||||
|
- description: EXT clock
|
||||||
|
- description: PLL/2 clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: aic
|
||||||
|
- const: i2s
|
||||||
|
- const: ext
|
||||||
|
- const: pll half
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
items:
|
||||||
|
- description: DMA controller phandle and request line for I2S RX
|
||||||
|
- description: DMA controller phandle and request line for I2S TX
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
- const: rx
|
||||||
|
- const: tx
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/jz4740-cgu.h>
|
||||||
|
aic: audio-controller@10020000 {
|
||||||
|
compatible = "ingenic,jz4740-i2s";
|
||||||
|
reg = <0x10020000 0x38>;
|
||||||
|
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
interrupts = <18>;
|
||||||
|
|
||||||
|
clocks = <&cgu JZ4740_CLK_AIC>,
|
||||||
|
<&cgu JZ4740_CLK_I2S>,
|
||||||
|
<&cgu JZ4740_CLK_EXT>,
|
||||||
|
<&cgu JZ4740_CLK_PLL_HALF>;
|
||||||
|
clock-names = "aic", "i2s", "ext", "pll half";
|
||||||
|
|
||||||
|
dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
|
||||||
|
dma-names = "rx", "tx";
|
||||||
|
};
|
@ -1,23 +0,0 @@
|
|||||||
Ingenic JZ4740 I2S controller
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "ingenic,jz4740-i2s" or "ingenic,jz4780-i2s"
|
|
||||||
- reg : I2S registers location and length
|
|
||||||
- clocks : AIC and I2S PLL clock specifiers.
|
|
||||||
- clock-names: "aic" and "i2s"
|
|
||||||
- dmas: DMA controller phandle and DMA request line for I2S Tx and Rx channels
|
|
||||||
- dma-names: Must be "tx" and "rx"
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
i2s: i2s@10020000 {
|
|
||||||
compatible = "ingenic,jz4740-i2s";
|
|
||||||
reg = <0x10020000 0x94>;
|
|
||||||
|
|
||||||
clocks = <&cgu JZ4740_CLK_AIC>, <&cgu JZ4740_CLK_I2SPLL>;
|
|
||||||
clock-names = "aic", "i2s";
|
|
||||||
|
|
||||||
dmas = <&dma 2>, <&dma 3>;
|
|
||||||
dma-names = "tx", "rx";
|
|
||||||
|
|
||||||
};
|
|
@ -18,6 +18,7 @@ Required properties:
|
|||||||
* Headphone Jack
|
* Headphone Jack
|
||||||
* Int Spk
|
* Int Spk
|
||||||
* Mic Jack
|
* Mic Jack
|
||||||
|
* Int Mic
|
||||||
|
|
||||||
- nvidia,i2s-controller : The phandle of the Tegra I2S1 controller
|
- nvidia,i2s-controller : The phandle of the Tegra I2S1 controller
|
||||||
- nvidia,audio-codec : The phandle of the WM8903 audio codec
|
- nvidia,audio-codec : The phandle of the WM8903 audio codec
|
||||||
|
@ -10,6 +10,11 @@ Required properties:
|
|||||||
- clock-names: should be "pclk".
|
- clock-names: should be "pclk".
|
||||||
- spk-depop-time-ms: speak depop time msec.
|
- spk-depop-time-ms: speak depop time msec.
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
|
||||||
|
- mute-gpios: GPIO specifier for external line driver control (typically the
|
||||||
|
dedicated GPIO_MUTE pin)
|
||||||
|
|
||||||
Example for rk3328 internal codec:
|
Example for rk3328 internal codec:
|
||||||
|
|
||||||
codec: codec@ff410000 {
|
codec: codec@ff410000 {
|
||||||
@ -18,6 +23,6 @@ codec: codec@ff410000 {
|
|||||||
rockchip,grf = <&grf>;
|
rockchip,grf = <&grf>;
|
||||||
clocks = <&cru PCLK_ACODEC>;
|
clocks = <&cru PCLK_ACODEC>;
|
||||||
clock-names = "pclk";
|
clock-names = "pclk";
|
||||||
|
mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
|
||||||
spk-depop-time-ms = 100;
|
spk-depop-time-ms = 100;
|
||||||
status = "disabled";
|
|
||||||
};
|
};
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
* Rockchip I2S controller
|
|
||||||
|
|
||||||
The I2S bus (Inter-IC sound bus) is a serial link for digital
|
|
||||||
audio data transfer between devices in the system.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: should be one of the following:
|
|
||||||
- "rockchip,rk3066-i2s": for rk3066
|
|
||||||
- "rockchip,px30-i2s", "rockchip,rk3066-i2s": for px30
|
|
||||||
- "rockchip,rk3036-i2s", "rockchip,rk3066-i2s": for rk3036
|
|
||||||
- "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188
|
|
||||||
- "rockchip,rk3228-i2s", "rockchip,rk3066-i2s": for rk3228
|
|
||||||
- "rockchip,rk3288-i2s", "rockchip,rk3066-i2s": for rk3288
|
|
||||||
- "rockchip,rk3328-i2s", "rockchip,rk3066-i2s": for rk3328
|
|
||||||
- "rockchip,rk3366-i2s", "rockchip,rk3066-i2s": for rk3366
|
|
||||||
- "rockchip,rk3368-i2s", "rockchip,rk3066-i2s": for rk3368
|
|
||||||
- "rockchip,rk3399-i2s", "rockchip,rk3066-i2s": for rk3399
|
|
||||||
- reg: physical base address of the controller and length of memory mapped
|
|
||||||
region.
|
|
||||||
- interrupts: should contain the I2S interrupt.
|
|
||||||
- dmas: DMA specifiers for tx and rx dma. See the DMA client binding,
|
|
||||||
Documentation/devicetree/bindings/dma/dma.txt
|
|
||||||
- dma-names: should include "tx" and "rx".
|
|
||||||
- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
|
|
||||||
- clock-names: should contain the following:
|
|
||||||
- "i2s_hclk": clock for I2S BUS
|
|
||||||
- "i2s_clk" : clock for I2S controller
|
|
||||||
- rockchip,playback-channels: max playback channels, if not set, 8 channels default.
|
|
||||||
- rockchip,capture-channels: max capture channels, if not set, 2 channels default.
|
|
||||||
|
|
||||||
Required properties for controller which support multi channels
|
|
||||||
playback/capture:
|
|
||||||
|
|
||||||
- rockchip,grf: the phandle of the syscon node for GRF register.
|
|
||||||
|
|
||||||
Example for rk3288 I2S controller:
|
|
||||||
|
|
||||||
i2s@ff890000 {
|
|
||||||
compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
|
|
||||||
reg = <0xff890000 0x10000>;
|
|
||||||
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
dmas = <&pdma1 0>, <&pdma1 1>;
|
|
||||||
dma-names = "tx", "rx";
|
|
||||||
clock-names = "i2s_hclk", "i2s_clk";
|
|
||||||
clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
|
|
||||||
rockchip,playback-channels = <8>;
|
|
||||||
rockchip,capture-channels = <2>;
|
|
||||||
};
|
|
111
Documentation/devicetree/bindings/sound/rockchip-i2s.yaml
Normal file
111
Documentation/devicetree/bindings/sound/rockchip-i2s.yaml
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/rockchip-i2s.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Rockchip I2S controller
|
||||||
|
|
||||||
|
description:
|
||||||
|
The I2S bus (Inter-IC sound bus) is a serial link for digital
|
||||||
|
audio data transfer between devices in the system.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Heiko Stuebner <heiko@sntech.de>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: rockchip,rk3066-i2s
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- rockchip,px30-i2s
|
||||||
|
- rockchip,rk3036-i2s
|
||||||
|
- rockchip,rk3188-i2s
|
||||||
|
- rockchip,rk3228-i2s
|
||||||
|
- rockchip,rk3288-i2s
|
||||||
|
- rockchip,rk3328-i2s
|
||||||
|
- rockchip,rk3366-i2s
|
||||||
|
- rockchip,rk3368-i2s
|
||||||
|
- rockchip,rk3399-i2s
|
||||||
|
- const: rockchip,rk3066-i2s
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: clock for I2S controller
|
||||||
|
- description: clock for I2S BUS
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: i2s_clk
|
||||||
|
- const: i2s_hclk
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
items:
|
||||||
|
- description: TX DMA Channel
|
||||||
|
- description: RX DMA Channel
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
- const: tx
|
||||||
|
- const: rx
|
||||||
|
|
||||||
|
rockchip,capture-channels:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
default: 2
|
||||||
|
description:
|
||||||
|
Max capture channels, if not set, 2 channels default.
|
||||||
|
|
||||||
|
rockchip,playback-channels:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
default: 8
|
||||||
|
description:
|
||||||
|
Max playback channels, if not set, 8 channels default.
|
||||||
|
|
||||||
|
rockchip,grf:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
The phandle of the syscon node for the GRF register.
|
||||||
|
Required property for controllers which support multi channel
|
||||||
|
playback/capture.
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/rk3288-cru.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2s@ff890000 {
|
||||||
|
compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
|
||||||
|
reg = <0xff890000 0x10000>;
|
||||||
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
|
||||||
|
clock-names = "i2s_clk", "i2s_hclk";
|
||||||
|
dmas = <&pdma1 0>, <&pdma1 1>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
rockchip,capture-channels = <2>;
|
||||||
|
rockchip,playback-channels = <8>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
};
|
@ -32,6 +32,18 @@ Optional properties:
|
|||||||
The delay time is realtek,btndet-delay value multiple of 8.192 ms.
|
The delay time is realtek,btndet-delay value multiple of 8.192 ms.
|
||||||
If absent, the default is 16.
|
If absent, the default is 16.
|
||||||
|
|
||||||
|
- #clock-cells : Should be set to '<1>', wclk and bclk sources provided.
|
||||||
|
- clock-output-names : Name given for DAI clocks output.
|
||||||
|
|
||||||
|
- clocks : phandle and clock specifier for codec MCLK.
|
||||||
|
- clock-names : Clock name string for 'clocks' attribute, should be "mclk".
|
||||||
|
|
||||||
|
- realtek,dmic-clk-rate-hz : Set the clock rate (hz) for the requirement of
|
||||||
|
the particular DMIC.
|
||||||
|
|
||||||
|
- realtek,dmic-delay-ms : Set the delay time (ms) for the requirement of
|
||||||
|
the particular DMIC.
|
||||||
|
|
||||||
Pins on the device (for linking into audio routes) for RT5682:
|
Pins on the device (for linking into audio routes) for RT5682:
|
||||||
|
|
||||||
* DMIC L1
|
* DMIC L1
|
||||||
@ -53,4 +65,10 @@ rt5682 {
|
|||||||
realtek,dmic1-clk-pin = <1>;
|
realtek,dmic1-clk-pin = <1>;
|
||||||
realtek,jd-src = <1>;
|
realtek,jd-src = <1>;
|
||||||
realtek,btndet-delay = <16>;
|
realtek,btndet-delay = <16>;
|
||||||
|
|
||||||
|
#clock-cells = <1>;
|
||||||
|
clock-output-names = "rt5682-dai-wclk", "rt5682-dai-bclk";
|
||||||
|
|
||||||
|
clocks = <&osc>;
|
||||||
|
clock-names = "mclk";
|
||||||
};
|
};
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
STMicroelectronics STM32 SPI/I2S Controller
|
|
||||||
|
|
||||||
The SPI/I2S block supports I2S/PCM protocols when configured on I2S mode.
|
|
||||||
Only some SPI instances support I2S.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Must be "st,stm32h7-i2s"
|
|
||||||
- reg: Offset and length of the device's register set.
|
|
||||||
- interrupts: Must contain the interrupt line id.
|
|
||||||
- clocks: Must contain phandle and clock specifier pairs for each entry
|
|
||||||
in clock-names.
|
|
||||||
- clock-names: Must contain "i2sclk", "pclk", "x8k" and "x11k".
|
|
||||||
"i2sclk": clock which feeds the internal clock generator
|
|
||||||
"pclk": clock which feeds the peripheral bus interface
|
|
||||||
"x8k": I2S parent clock for sampling rates multiple of 8kHz.
|
|
||||||
"x11k": I2S parent clock for sampling rates multiple of 11.025kHz.
|
|
||||||
- dmas: DMA specifiers for tx and rx dma.
|
|
||||||
See Documentation/devicetree/bindings/dma/stm32-dma.txt.
|
|
||||||
- dma-names: Identifier for each DMA request line. Must be "tx" and "rx".
|
|
||||||
- pinctrl-names: should contain only value "default"
|
|
||||||
- pinctrl-0: see Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- resets: Reference to a reset controller asserting the reset controller
|
|
||||||
|
|
||||||
The device node should contain one 'port' child node with one child 'endpoint'
|
|
||||||
node, according to the bindings defined in Documentation/devicetree/bindings/
|
|
||||||
graph.txt.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
sound_card {
|
|
||||||
compatible = "audio-graph-card";
|
|
||||||
dais = <&i2s2_port>;
|
|
||||||
};
|
|
||||||
|
|
||||||
i2s2: audio-controller@40003800 {
|
|
||||||
compatible = "st,stm32h7-i2s";
|
|
||||||
reg = <0x40003800 0x400>;
|
|
||||||
interrupts = <36>;
|
|
||||||
clocks = <&rcc PCLK1>, <&rcc SPI2_CK>, <&rcc PLL1_Q>, <&rcc PLL2_P>;
|
|
||||||
clock-names = "pclk", "i2sclk", "x8k", "x11k";
|
|
||||||
dmas = <&dmamux2 2 39 0x400 0x1>,
|
|
||||||
<&dmamux2 3 40 0x400 0x1>;
|
|
||||||
dma-names = "rx", "tx";
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pinctrl_i2s2>;
|
|
||||||
|
|
||||||
i2s2_port: port@0 {
|
|
||||||
cpu_endpoint: endpoint {
|
|
||||||
remote-endpoint = <&codec_endpoint>;
|
|
||||||
format = "i2s";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
audio-codec {
|
|
||||||
codec_port: port@0 {
|
|
||||||
codec_endpoint: endpoint {
|
|
||||||
remote-endpoint = <&cpu_endpoint>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
87
Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml
Normal file
87
Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/st,stm32-i2s.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: STMicroelectronics STM32 SPI/I2S Controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Olivier Moysan <olivier.moysan@st.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The SPI/I2S block supports I2S/PCM protocols when configured on I2S mode.
|
||||||
|
Only some SPI instances support I2S.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- st,stm32h7-i2s
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: clock feeding the peripheral bus interface.
|
||||||
|
- description: clock feeding the internal clock generator.
|
||||||
|
- description: I2S parent clock for sampling rates multiple of 8kHz.
|
||||||
|
- description: I2S parent clock for sampling rates multiple of 11.025kHz.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: pclk
|
||||||
|
- const: i2sclk
|
||||||
|
- const: x8k
|
||||||
|
- const: x11k
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
items:
|
||||||
|
- description: audio capture DMA.
|
||||||
|
- description: audio playback DMA.
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
- const: rx
|
||||||
|
- const: tx
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/clock/stm32mp1-clks.h>
|
||||||
|
i2s2: audio-controller@4000b000 {
|
||||||
|
compatible = "st,stm32h7-i2s";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
reg = <0x4000b000 0x400>;
|
||||||
|
clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
|
||||||
|
clock-names = "pclk", "i2sclk", "x8k", "x11k";
|
||||||
|
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&dmamux1 39 0x400 0x01>,
|
||||||
|
<&dmamux1 40 0x400 0x01>;
|
||||||
|
dma-names = "rx", "tx";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&i2s2_pins_a>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
@ -36,7 +36,7 @@ SAI subnodes required properties:
|
|||||||
- clock-names: Must contain "sai_ck".
|
- clock-names: Must contain "sai_ck".
|
||||||
Must also contain "MCLK", if SAI shares a master clock,
|
Must also contain "MCLK", if SAI shares a master clock,
|
||||||
with a SAI set as MCLK clock provider.
|
with a SAI set as MCLK clock provider.
|
||||||
- dmas: see Documentation/devicetree/bindings/dma/stm32-dma.txt
|
- dmas: see Documentation/devicetree/bindings/dma/st,stm32-dma.yaml
|
||||||
- dma-names: identifier string for each DMA request line
|
- dma-names: identifier string for each DMA request line
|
||||||
"tx": if sai sub-block is configured as playback DAI
|
"tx": if sai sub-block is configured as playback DAI
|
||||||
"rx": if sai sub-block is configured as capture DAI
|
"rx": if sai sub-block is configured as capture DAI
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
STMicroelectronics STM32 S/PDIF receiver (SPDIFRX).
|
|
||||||
|
|
||||||
The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with
|
|
||||||
IEC-60958 and IEC-61937.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: should be "st,stm32h7-spdifrx"
|
|
||||||
- reg: cpu DAI IP base address and size
|
|
||||||
- clocks: must contain an entry for kclk (used as S/PDIF signal reference)
|
|
||||||
- clock-names: must contain "kclk"
|
|
||||||
- interrupts: cpu DAI interrupt line
|
|
||||||
- dmas: DMA specifiers for audio data DMA and iec control flow DMA
|
|
||||||
See STM32 DMA bindings, Documentation/devicetree/bindings/dma/stm32-dma.txt
|
|
||||||
- dma-names: two dmas have to be defined, "rx" and "rx-ctrl"
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- resets: Reference to a reset controller asserting the SPDIFRX
|
|
||||||
|
|
||||||
The device node should contain one 'port' child node with one child 'endpoint'
|
|
||||||
node, according to the bindings defined in Documentation/devicetree/bindings/
|
|
||||||
graph.txt.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
spdifrx: spdifrx@40004000 {
|
|
||||||
compatible = "st,stm32h7-spdifrx";
|
|
||||||
reg = <0x40004000 0x400>;
|
|
||||||
clocks = <&rcc SPDIFRX_CK>;
|
|
||||||
clock-names = "kclk";
|
|
||||||
interrupts = <97>;
|
|
||||||
dmas = <&dmamux1 2 93 0x400 0x0>,
|
|
||||||
<&dmamux1 3 94 0x400 0x0>;
|
|
||||||
dma-names = "rx", "rx-ctrl";
|
|
||||||
pinctrl-0 = <&spdifrx_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
spdifrx_port: port {
|
|
||||||
cpu_endpoint: endpoint {
|
|
||||||
remote-endpoint = <&codec_endpoint>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
spdif_in: spdif-in {
|
|
||||||
compatible = "linux,spdif-dir";
|
|
||||||
|
|
||||||
codec_port: port {
|
|
||||||
codec_endpoint: endpoint {
|
|
||||||
remote-endpoint = <&cpu_endpoint>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
soundcard {
|
|
||||||
compatible = "audio-graph-card";
|
|
||||||
dais = <&spdifrx_port>;
|
|
||||||
};
|
|
@ -0,0 +1,80 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/st,stm32-spdifrx.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: STMicroelectronics STM32 S/PDIF receiver (SPDIFRX)
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Olivier Moysan <olivier.moysan@st.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with
|
||||||
|
IEC-60958 and IEC-61937.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- st,stm32h7-spdifrx
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: kclk
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
items:
|
||||||
|
- description: audio data capture DMA
|
||||||
|
- description: IEC status bits capture DMA
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
- const: rx
|
||||||
|
- const: rx-ctrl
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/clock/stm32mp1-clks.h>
|
||||||
|
spdifrx: spdifrx@40004000 {
|
||||||
|
compatible = "st,stm32h7-spdifrx";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
reg = <0x40004000 0x400>;
|
||||||
|
clocks = <&rcc SPDIF_K>;
|
||||||
|
clock-names = "kclk";
|
||||||
|
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&dmamux1 2 93 0x400 0x0>,
|
||||||
|
<&dmamux1 3 94 0x400 0x0>;
|
||||||
|
dma-names = "rx", "rx-ctrl";
|
||||||
|
pinctrl-0 = <&spdifrx_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
@ -8,7 +8,7 @@ real time monitoring of loudspeaker behavior.
|
|||||||
Required properties:
|
Required properties:
|
||||||
- #address-cells - Should be <1>.
|
- #address-cells - Should be <1>.
|
||||||
- #size-cells - Should be <0>.
|
- #size-cells - Should be <0>.
|
||||||
- compatible: - Should contain "ti,tas2562".
|
- compatible: - Should contain "ti,tas2562", "ti,tas2563".
|
||||||
- reg: - The i2c address. Should be 0x4c, 0x4d, 0x4e or 0x4f.
|
- reg: - The i2c address. Should be 0x4c, 0x4d, 0x4e or 0x4f.
|
||||||
- ti,imon-slot-no:- TDM TX current sense time slot.
|
- ti,imon-slot-no:- TDM TX current sense time slot.
|
||||||
|
|
||||||
|
82
Documentation/devicetree/bindings/sound/tlv320adcx140.yaml
Normal file
82
Documentation/devicetree/bindings/sound/tlv320adcx140.yaml
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
|
||||||
|
# Copyright (C) 2019 Texas Instruments Incorporated
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/tlv320adcx140.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments TLV320ADCX140 Quad Channel Analog-to-Digital Converter
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Dan Murphy <dmurphy@ti.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The TLV320ADCX140 are multichannel (4-ch analog recording or 8-ch digital
|
||||||
|
PDM microphones recording), high-performance audio, analog-to-digital
|
||||||
|
converter (ADC) with analog inputs supporting up to 2V RMS. The TLV320ADCX140
|
||||||
|
family supports line and microphone Inputs, and offers a programmable
|
||||||
|
microphone bias or supply voltage generation.
|
||||||
|
|
||||||
|
Specifications can be found at:
|
||||||
|
http://www.ti.com/lit/ds/symlink/tlv320adc3140.pdf
|
||||||
|
http://www.ti.com/lit/ds/symlink/tlv320adc5140.pdf
|
||||||
|
http://www.ti.com/lit/ds/symlink/tlv320adc6140.pdf
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: ti,tlv320adc3140
|
||||||
|
- const: ti,tlv320adc5140
|
||||||
|
- const: ti,tlv320adc6140
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
I2C addresss of the device can be one of these 0x4c, 0x4d, 0x4e or 0x4f
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
description: |
|
||||||
|
GPIO used for hardware reset.
|
||||||
|
|
||||||
|
areg-supply:
|
||||||
|
description: |
|
||||||
|
Regulator with AVDD at 3.3V. If not defined then the internal regulator
|
||||||
|
is enabled.
|
||||||
|
|
||||||
|
ti,mic-bias-source:
|
||||||
|
description: |
|
||||||
|
Indicates the source for MIC Bias.
|
||||||
|
0 - Mic bias is set to VREF
|
||||||
|
1 - Mic bias is set to VREF × 1.096
|
||||||
|
6 - Mic bias is set to AVDD
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- enum: [0, 1, 6]
|
||||||
|
|
||||||
|
ti,vref-source:
|
||||||
|
description: |
|
||||||
|
Indicates the source for MIC Bias.
|
||||||
|
0 - Set VREF to 2.75V
|
||||||
|
1 - Set VREF to 2.5V
|
||||||
|
2 - Set VREF to 1.375V
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- enum: [0, 1, 2]
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec: codec@4c {
|
||||||
|
compatible = "ti,tlv320adc5140";
|
||||||
|
reg = <0x4c>;
|
||||||
|
ti,mic-bias-source = <6>;
|
||||||
|
reset-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
@ -49,7 +49,7 @@ properties:
|
|||||||
dmas:
|
dmas:
|
||||||
description: |
|
description: |
|
||||||
DMA specifiers for tx and rx dma. DMA fifo mode must be used. See
|
DMA specifiers for tx and rx dma. DMA fifo mode must be used. See
|
||||||
the STM32 DMA bindings Documentation/devicetree/bindings/dma/stm32-dma.txt.
|
the STM32 DMA bindings Documentation/devicetree/bindings/dma/st,stm32-dma.yaml.
|
||||||
items:
|
items:
|
||||||
- description: rx DMA channel
|
- description: rx DMA channel
|
||||||
- description: tx DMA channel
|
- description: tx DMA channel
|
||||||
|
@ -125,7 +125,7 @@ examples:
|
|||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges;
|
ranges;
|
||||||
|
|
||||||
sram_a: sram@00000000 {
|
sram_a: sram@0 {
|
||||||
compatible = "mmio-sram";
|
compatible = "mmio-sram";
|
||||||
reg = <0x00000000 0xc000>;
|
reg = <0x00000000 0xc000>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
@ -17,7 +17,7 @@ description: |+
|
|||||||
"brcm,bcm2711-avs-monitor", "syscon", "simple-mfd"
|
"brcm,bcm2711-avs-monitor", "syscon", "simple-mfd"
|
||||||
|
|
||||||
Refer to the the bindings described in
|
Refer to the the bindings described in
|
||||||
Documentation/devicetree/bindings/mfd/syscon.txt
|
Documentation/devicetree/bindings/mfd/syscon.yaml
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -87,7 +87,7 @@ additionalProperties: false
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
timer {
|
timer@1c20c00 {
|
||||||
compatible = "allwinner,sun4i-a10-timer";
|
compatible = "allwinner,sun4i-a10-timer";
|
||||||
reg = <0x01c20c00 0x400>;
|
reg = <0x01c20c00 0x400>;
|
||||||
interrupts = <22>,
|
interrupts = <22>,
|
||||||
|
@ -151,8 +151,8 @@ The details of these operations are:
|
|||||||
Note that callbacks will always be invoked from the DMA
|
Note that callbacks will always be invoked from the DMA
|
||||||
engines tasklet, never from interrupt context.
|
engines tasklet, never from interrupt context.
|
||||||
|
|
||||||
Optional: per descriptor metadata
|
**Optional: per descriptor metadata**
|
||||||
---------------------------------
|
|
||||||
DMAengine provides two ways for metadata support.
|
DMAengine provides two ways for metadata support.
|
||||||
|
|
||||||
DESC_METADATA_CLIENT
|
DESC_METADATA_CLIENT
|
||||||
@ -199,12 +199,15 @@ Optional: per descriptor metadata
|
|||||||
DESC_METADATA_CLIENT
|
DESC_METADATA_CLIENT
|
||||||
|
|
||||||
- DMA_MEM_TO_DEV / DEV_MEM_TO_MEM:
|
- DMA_MEM_TO_DEV / DEV_MEM_TO_MEM:
|
||||||
|
|
||||||
1. prepare the descriptor (dmaengine_prep_*)
|
1. prepare the descriptor (dmaengine_prep_*)
|
||||||
construct the metadata in the client's buffer
|
construct the metadata in the client's buffer
|
||||||
2. use dmaengine_desc_attach_metadata() to attach the buffer to the
|
2. use dmaengine_desc_attach_metadata() to attach the buffer to the
|
||||||
descriptor
|
descriptor
|
||||||
3. submit the transfer
|
3. submit the transfer
|
||||||
|
|
||||||
- DMA_DEV_TO_MEM:
|
- DMA_DEV_TO_MEM:
|
||||||
|
|
||||||
1. prepare the descriptor (dmaengine_prep_*)
|
1. prepare the descriptor (dmaengine_prep_*)
|
||||||
2. use dmaengine_desc_attach_metadata() to attach the buffer to the
|
2. use dmaengine_desc_attach_metadata() to attach the buffer to the
|
||||||
descriptor
|
descriptor
|
||||||
@ -215,6 +218,7 @@ Optional: per descriptor metadata
|
|||||||
DESC_METADATA_ENGINE
|
DESC_METADATA_ENGINE
|
||||||
|
|
||||||
- DMA_MEM_TO_DEV / DEV_MEM_TO_MEM:
|
- DMA_MEM_TO_DEV / DEV_MEM_TO_MEM:
|
||||||
|
|
||||||
1. prepare the descriptor (dmaengine_prep_*)
|
1. prepare the descriptor (dmaengine_prep_*)
|
||||||
2. use dmaengine_desc_get_metadata_ptr() to get the pointer to the
|
2. use dmaengine_desc_get_metadata_ptr() to get the pointer to the
|
||||||
engine's metadata area
|
engine's metadata area
|
||||||
@ -222,7 +226,9 @@ Optional: per descriptor metadata
|
|||||||
4. use dmaengine_desc_set_metadata_len() to tell the DMA engine the
|
4. use dmaengine_desc_set_metadata_len() to tell the DMA engine the
|
||||||
amount of data the client has placed into the metadata buffer
|
amount of data the client has placed into the metadata buffer
|
||||||
5. submit the transfer
|
5. submit the transfer
|
||||||
|
|
||||||
- DMA_DEV_TO_MEM:
|
- DMA_DEV_TO_MEM:
|
||||||
|
|
||||||
1. prepare the descriptor (dmaengine_prep_*)
|
1. prepare the descriptor (dmaengine_prep_*)
|
||||||
2. submit the transfer
|
2. submit the transfer
|
||||||
3. on transfer completion, use dmaengine_desc_get_metadata_ptr() to get
|
3. on transfer completion, use dmaengine_desc_get_metadata_ptr() to get
|
||||||
@ -278,8 +284,8 @@ Optional: per descriptor metadata
|
|||||||
|
|
||||||
void dma_async_issue_pending(struct dma_chan *chan);
|
void dma_async_issue_pending(struct dma_chan *chan);
|
||||||
|
|
||||||
Further APIs:
|
Further APIs
|
||||||
-------------
|
------------
|
||||||
|
|
||||||
1. Terminate APIs
|
1. Terminate APIs
|
||||||
|
|
||||||
|
@ -71,9 +71,13 @@ b) Example for device tree::
|
|||||||
ipmb@10 {
|
ipmb@10 {
|
||||||
compatible = "ipmb-dev";
|
compatible = "ipmb-dev";
|
||||||
reg = <0x10>;
|
reg = <0x10>;
|
||||||
|
i2c-protocol;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
If xmit of data to be done using raw i2c block vs smbus
|
||||||
|
then "i2c-protocol" needs to be defined as above.
|
||||||
|
|
||||||
2) Manually from Linux::
|
2) Manually from Linux::
|
||||||
|
|
||||||
modprobe ipmb-dev-int
|
modprobe ipmb-dev-int
|
||||||
|
@ -164,7 +164,7 @@ file.
|
|||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dentry *debugfs_create_regset32(const char *name, umode_t mode,
|
debugfs_create_regset32(const char *name, umode_t mode,
|
||||||
struct dentry *parent,
|
struct dentry *parent,
|
||||||
struct debugfs_regset32 *regset);
|
struct debugfs_regset32 *regset);
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user