ASoC: Updates for v5.12

Another quiet release in terms of features, though several of the
 drivers got quite a bit of work and there were a lot of general changes
 resulting from Morimoto-san's ongoing cleanup work.
 
  - As ever, lots of hard work by Morimoto-san cleaning up the code and
    making it more consistent.
  - Many improvements in the Intel drivers including a wide range of
    quirks and bug fixes.
  - A KUnit testsuite for the topology code.
  - Support for Ingenic JZ4760(B), Intel AlderLake-P, DT configured
    nVidia cards, Qualcomm lpass-rx-macro and lpass-tx-macro
  - Removal of obsolete SIRF prima/atlas, Txx9 and ZTE zx drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmAtZ7cACgkQJNaLcl1U
 h9DD5Af/eeERQ2uVOqtw0If+XL1xRYe6RewgDoNcO/l/5WxBLrBH6NbEf0OwNJeg
 vzZAkUBtxmx6XiW2M/h+4ucW1OPcg5IzxIWTHfGDMlKIxzb0jgWugRnJ7sdTnOs3
 c+QHnvuOT7QzZBviAIkc5uZ5thAImYF8zDyKoGF5llztmnBYymtgpnvnRNZGM0ou
 76oUzSvkCFI2b0Yf6bpGok2nBVlOu82HSHOUKjXVWk+LAeiivlYGOEZpdIKEe3S8
 u6atQJ29XRr52Yuc2z4xnFQTW1cIDlwj2Fk5x/z8hX+5nRhNSGuIv1l5m7TfBj3e
 mCO9cltKZxly0NXysgekn95JHwwwkA==
 =MJSb
 -----END PGP SIGNATURE-----

Merge tag 'asoc-v5.12' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Updates for v5.12

Another quiet release in terms of features, though several of the
drivers got quite a bit of work and there were a lot of general changes
resulting from Morimoto-san's ongoing cleanup work.

 - As ever, lots of hard work by Morimoto-san cleaning up the code and
   making it more consistent.
 - Many improvements in the Intel drivers including a wide range of
   quirks and bug fixes.
 - A KUnit testsuite for the topology code.
 - Support for Ingenic JZ4760(B), Intel AlderLake-P, DT configured
   nVidia cards, Qualcomm lpass-rx-macro and lpass-tx-macro
 - Removal of obsolete SIRF prima/atlas, Txx9 and ZTE zx drivers.
This commit is contained in:
Takashi Iwai 2021-02-17 21:16:27 +01:00
commit 0c8e97c86b
1151 changed files with 19914 additions and 10229 deletions

View File

@ -122,6 +122,7 @@ ForEachMacros:
- 'drm_for_each_bridge_in_chain' - '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_crtc_reverse'
- 'drm_for_each_encoder' - 'drm_for_each_encoder'
- 'drm_for_each_encoder_mask' - 'drm_for_each_encoder_mask'
- 'drm_for_each_fb' - 'drm_for_each_fb'
@ -203,14 +204,13 @@ ForEachMacros:
- '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_member'
- 'for_each_mem_region'
- 'for_each_memblock_type'
- 'for_each_memcg_cache_index' - 'for_each_memcg_cache_index'
- 'for_each_mem_pfn_range' - 'for_each_mem_pfn_range'
- '__for_each_mem_range' - '__for_each_mem_range'
- 'for_each_mem_range' - 'for_each_mem_range'
- '__for_each_mem_range_rev' - '__for_each_mem_range_rev'
- 'for_each_mem_range_rev' - 'for_each_mem_range_rev'
- 'for_each_mem_region'
- 'for_each_migratetype_order' - 'for_each_migratetype_order'
- 'for_each_msi_entry' - 'for_each_msi_entry'
- 'for_each_msi_entry_safe' - 'for_each_msi_entry_safe'
@ -276,10 +276,8 @@ ForEachMacros:
- 'for_each_reserved_mem_range' - 'for_each_reserved_mem_range'
- 'for_each_reserved_mem_region' - 'for_each_reserved_mem_region'
- 'for_each_rtd_codec_dais' - 'for_each_rtd_codec_dais'
- 'for_each_rtd_codec_dais_rollback'
- 'for_each_rtd_components' - 'for_each_rtd_components'
- 'for_each_rtd_cpu_dais' - 'for_each_rtd_cpu_dais'
- 'for_each_rtd_cpu_dais_rollback'
- 'for_each_rtd_dais' - 'for_each_rtd_dais'
- 'for_each_set_bit' - 'for_each_set_bit'
- 'for_each_set_bit_from' - 'for_each_set_bit_from'
@ -298,6 +296,7 @@ ForEachMacros:
- '__for_each_thread' - '__for_each_thread'
- 'for_each_thread' - 'for_each_thread'
- 'for_each_unicast_dest_pgid' - 'for_each_unicast_dest_pgid'
- 'for_each_vsi'
- 'for_each_wakeup_source' - 'for_each_wakeup_source'
- 'for_each_zone' - 'for_each_zone'
- 'for_each_zone_zonelist' - 'for_each_zone_zonelist'
@ -330,6 +329,7 @@ ForEachMacros:
- 'hlist_for_each_entry_rcu_bh' - 'hlist_for_each_entry_rcu_bh'
- 'hlist_for_each_entry_rcu_notrace' - 'hlist_for_each_entry_rcu_notrace'
- 'hlist_for_each_entry_safe' - 'hlist_for_each_entry_safe'
- 'hlist_for_each_entry_srcu'
- '__hlist_for_each_rcu' - '__hlist_for_each_rcu'
- 'hlist_for_each_safe' - 'hlist_for_each_safe'
- 'hlist_nulls_for_each_entry' - 'hlist_nulls_for_each_entry'
@ -378,6 +378,7 @@ ForEachMacros:
- 'list_for_each_entry_safe_continue' - 'list_for_each_entry_safe_continue'
- 'list_for_each_entry_safe_from' - 'list_for_each_entry_safe_from'
- 'list_for_each_entry_safe_reverse' - 'list_for_each_entry_safe_reverse'
- 'list_for_each_entry_srcu'
- 'list_for_each_prev' - 'list_for_each_prev'
- 'list_for_each_prev_safe' - 'list_for_each_prev_safe'
- 'list_for_each_safe' - 'list_for_each_safe'
@ -411,6 +412,8 @@ ForEachMacros:
- 'of_property_for_each_string' - 'of_property_for_each_string'
- 'of_property_for_each_u32' - 'of_property_for_each_u32'
- 'pci_bus_for_each_resource' - 'pci_bus_for_each_resource'
- 'pcl_for_each_chunk'
- 'pcl_for_each_segment'
- 'pcm_for_each_format' - 'pcm_for_each_format'
- 'ping_portaddr_for_each_entry' - 'ping_portaddr_for_each_entry'
- 'plist_for_each' - 'plist_for_each'

View File

@ -9,9 +9,6 @@
# #
# Please keep this list dictionary sorted. # Please keep this list dictionary sorted.
# #
# This comment is parsed by git-shortlog:
# repo-abbrev: /pub/scm/linux/kernel/git/
#
Aaron Durbin <adurbin@google.com> Aaron Durbin <adurbin@google.com>
Adam Oldham <oldhamca@gmail.com> Adam Oldham <oldhamca@gmail.com>
Adam Radford <aradford@gmail.com> Adam Radford <aradford@gmail.com>
@ -55,6 +52,8 @@ Bart Van Assche <bvanassche@acm.org> <bart.vanassche@wdc.com>
Ben Gardner <bgardner@wabtec.com> Ben Gardner <bgardner@wabtec.com>
Ben M Cahill <ben.m.cahill@intel.com> Ben M Cahill <ben.m.cahill@intel.com>
Björn Steinbrink <B.Steinbrink@gmx.de> Björn Steinbrink <B.Steinbrink@gmx.de>
Björn Töpel <bjorn@kernel.org> <bjorn.topel@gmail.com>
Björn Töpel <bjorn@kernel.org> <bjorn.topel@intel.com>
Boris Brezillon <bbrezillon@kernel.org> <b.brezillon.dev@gmail.com> Boris Brezillon <bbrezillon@kernel.org> <b.brezillon.dev@gmail.com>
Boris Brezillon <bbrezillon@kernel.org> <b.brezillon@overkiz.com> Boris Brezillon <bbrezillon@kernel.org> <b.brezillon@overkiz.com>
Boris Brezillon <bbrezillon@kernel.org> <boris.brezillon@bootlin.com> Boris Brezillon <bbrezillon@kernel.org> <boris.brezillon@bootlin.com>
@ -180,6 +179,8 @@ Kees Cook <keescook@chromium.org> <kees.cook@canonical.com>
Kees Cook <keescook@chromium.org> <keescook@google.com> Kees Cook <keescook@chromium.org> <keescook@google.com>
Kees Cook <keescook@chromium.org> <kees@outflux.net> Kees Cook <keescook@chromium.org> <kees@outflux.net>
Kees Cook <keescook@chromium.org> <kees@ubuntu.com> Kees Cook <keescook@chromium.org> <kees@ubuntu.com>
Keith Busch <kbusch@kernel.org> <keith.busch@intel.com>
Keith Busch <kbusch@kernel.org> <keith.busch@linux.intel.com>
Kenneth W Chen <kenneth.w.chen@intel.com> Kenneth W Chen <kenneth.w.chen@intel.com>
Konstantin Khlebnikov <koct9i@gmail.com> <khlebnikov@yandex-team.ru> Konstantin Khlebnikov <koct9i@gmail.com> <khlebnikov@yandex-team.ru>
Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com> Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
@ -200,6 +201,8 @@ Li Yang <leoyang.li@nxp.com> <leoli@freescale.com>
Li Yang <leoyang.li@nxp.com> <leo@zh-kernel.org> Li Yang <leoyang.li@nxp.com> <leo@zh-kernel.org>
Lukasz Luba <lukasz.luba@arm.com> <l.luba@partner.samsung.com> Lukasz Luba <lukasz.luba@arm.com> <l.luba@partner.samsung.com>
Maciej W. Rozycki <macro@mips.com> <macro@imgtec.com> Maciej W. Rozycki <macro@mips.com> <macro@imgtec.com>
Manivannan Sadhasivam <mani@kernel.org> <manivannanece23@gmail.com>
Manivannan Sadhasivam <mani@kernel.org> <manivannan.sadhasivam@linaro.org>
Marcin Nowakowski <marcin.nowakowski@mips.com> <marcin.nowakowski@imgtec.com> Marcin Nowakowski <marcin.nowakowski@mips.com> <marcin.nowakowski@imgtec.com>
Marc Zyngier <maz@kernel.org> <marc.zyngier@arm.com> Marc Zyngier <maz@kernel.org> <marc.zyngier@arm.com>
Mark Brown <broonie@sirena.org.uk> Mark Brown <broonie@sirena.org.uk>
@ -245,6 +248,7 @@ Morten Welinder <welinder@anemone.rentec.com>
Morten Welinder <welinder@darter.rentec.com> Morten Welinder <welinder@darter.rentec.com>
Morten Welinder <welinder@troll.com> Morten Welinder <welinder@troll.com>
Mythri P K <mythripk@ti.com> Mythri P K <mythripk@ti.com>
Nathan Chancellor <nathan@kernel.org> <natechancellor@gmail.com>
Nguyen Anh Quynh <aquynh@gmail.com> Nguyen Anh Quynh <aquynh@gmail.com>
Nicolas Ferre <nicolas.ferre@microchip.com> <nicolas.ferre@atmel.com> Nicolas Ferre <nicolas.ferre@microchip.com> <nicolas.ferre@atmel.com>
Nicolas Pitre <nico@fluxnic.net> <nicolas.pitre@linaro.org> Nicolas Pitre <nico@fluxnic.net> <nicolas.pitre@linaro.org>
@ -335,6 +339,8 @@ Vinod Koul <vkoul@kernel.org> <vkoul@infradead.org>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com> Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com> Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com> Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
Viresh Kumar <viresh.kumar@linaro.org> <viresh.kumar@linaro.org>
Viresh Kumar <viresh.kumar@linaro.org> <viresh.kumar@linaro.com>
Vivien Didelot <vivien.didelot@gmail.com> <vivien.didelot@savoirfairelinux.com> Vivien Didelot <vivien.didelot@gmail.com> <vivien.didelot@savoirfairelinux.com>
Vlad Dogaru <ddvlad@gmail.com> <vlad.dogaru@intel.com> Vlad Dogaru <ddvlad@gmail.com> <vlad.dogaru@intel.com>
Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@parallels.com> Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@parallels.com>

View File

@ -5,8 +5,8 @@ Description:
Provide a place in sysfs for the device link objects in the Provide a place in sysfs for the device link objects in the
kernel at any given time. The name of a device link directory, kernel at any given time. The name of a device link directory,
denoted as ... above, is of the form <supplier>--<consumer> denoted as ... above, is of the form <supplier>--<consumer>
where <supplier> is the supplier device name and <consumer> is where <supplier> is the supplier bus:device name and <consumer>
the consumer device name. is the consumer bus:device name.
What: /sys/class/devlink/.../auto_remove_on What: /sys/class/devlink/.../auto_remove_on
Date: May 2020 Date: May 2020

View File

@ -4,5 +4,6 @@ Contact: Saravana Kannan <saravanak@google.com>
Description: Description:
The /sys/devices/.../consumer:<consumer> are symlinks to device The /sys/devices/.../consumer:<consumer> are symlinks to device
links where this device is the supplier. <consumer> denotes the links where this device is the supplier. <consumer> denotes the
name of the consumer in that device link. There can be zero or name of the consumer in that device link and is of the form
more of these symlinks for a given device. bus:device name. There can be zero or more of these symlinks
for a given device.

View File

@ -4,5 +4,6 @@ Contact: Saravana Kannan <saravanak@google.com>
Description: Description:
The /sys/devices/.../supplier:<supplier> are symlinks to device The /sys/devices/.../supplier:<supplier> are symlinks to device
links where this device is the consumer. <supplier> denotes the links where this device is the consumer. <supplier> denotes the
name of the supplier in that device link. There can be zero or name of the supplier in that device link and is of the form
more of these symlinks for a given device. bus:device name. There can be zero or more of these symlinks
for a given device.

View File

@ -916,21 +916,25 @@ Date: September 2014
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry could be used to set or show the UFS device Description: This entry could be used to set or show the UFS device
runtime power management level. The current driver runtime power management level. The current driver
implementation supports 6 levels with next target states: implementation supports 7 levels with next target states:
== ==================================================== == ====================================================
0 an UFS device will stay active, an UIC link will 0 UFS device will stay active, UIC link will
stay active stay active
1 an UFS device will stay active, an UIC link will 1 UFS device will stay active, UIC link will
hibernate hibernate
2 an UFS device will moved to sleep, an UIC link will 2 UFS device will be moved to sleep, UIC link will
stay active stay active
3 an UFS device will moved to sleep, an UIC link will 3 UFS device will be moved to sleep, UIC link will
hibernate hibernate
4 an UFS device will be powered off, an UIC link will 4 UFS device will be powered off, UIC link will
hibernate hibernate
5 an UFS device will be powered off, an UIC link will 5 UFS device will be powered off, UIC link will
be powered off be powered off
6 UFS device will be moved to deep sleep, UIC link
will be powered off. Note, deep sleep might not be
supported in which case this value will not be
accepted
== ==================================================== == ====================================================
What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state
@ -954,21 +958,25 @@ Date: September 2014
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry could be used to set or show the UFS device Description: This entry could be used to set or show the UFS device
system power management level. The current driver system power management level. The current driver
implementation supports 6 levels with next target states: implementation supports 7 levels with next target states:
== ==================================================== == ====================================================
0 an UFS device will stay active, an UIC link will 0 UFS device will stay active, UIC link will
stay active stay active
1 an UFS device will stay active, an UIC link will 1 UFS device will stay active, UIC link will
hibernate hibernate
2 an UFS device will moved to sleep, an UIC link will 2 UFS device will be moved to sleep, UIC link will
stay active stay active
3 an UFS device will moved to sleep, an UIC link will 3 UFS device will be moved to sleep, UIC link will
hibernate hibernate
4 an UFS device will be powered off, an UIC link will 4 UFS device will be powered off, UIC link will
hibernate hibernate
5 an UFS device will be powered off, an UIC link will 5 UFS device will be powered off, UIC link will
be powered off be powered off
6 UFS device will be moved to deep sleep, UIC link
will be powered off. Note, deep sleep might not be
supported in which case this value will not be
accepted
== ==================================================== == ====================================================
What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state

View File

@ -75,7 +75,7 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \ cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \
PYTHONDONTWRITEBYTECODE=1 \ PYTHONDONTWRITEBYTECODE=1 \
BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \ BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
$(PYTHON) $(srctree)/scripts/jobserver-exec \ $(PYTHON3) $(srctree)/scripts/jobserver-exec \
$(SHELL) $(srctree)/Documentation/sphinx/parallel-wrapper.sh \ $(SHELL) $(srctree)/Documentation/sphinx/parallel-wrapper.sh \
$(SPHINXBUILD) \ $(SPHINXBUILD) \
-b $2 \ -b $2 \

View File

@ -177,14 +177,20 @@ bitmap_flush_interval:number
The bitmap flush interval in milliseconds. The metadata buffers The bitmap flush interval in milliseconds. The metadata buffers
are synchronized when this interval expires. are synchronized when this interval expires.
allow_discards
Allow block discard requests (a.k.a. TRIM) for the integrity device.
Discards are only allowed to devices using internal hash.
fix_padding fix_padding
Use a smaller padding of the tag area that is more Use a smaller padding of the tag area that is more
space-efficient. If this option is not present, large padding is space-efficient. If this option is not present, large padding is
used - that is for compatibility with older kernels. used - that is for compatibility with older kernels.
allow_discards legacy_recalculate
Allow block discard requests (a.k.a. TRIM) for the integrity device. Allow recalculating of volumes with HMAC keys. This is disabled by
Discards are only allowed to devices using internal hash. default for security reasons - an attacker could modify the volume,
set recalc_sector to zero, and the kernel would not detect the
modification.
The journal mode (D/J), buffer_sectors, journal_watermark, commit_time and The journal mode (D/J), buffer_sectors, journal_watermark, commit_time and
allow_discards can be changed when reloading the target (load an inactive allow_discards can be changed when reloading the target (load an inactive

View File

@ -13,6 +13,22 @@ This file documents the driver for the Rockchip ISP1 that is part of RK3288
and RK3399 SoCs. The driver is located under drivers/staging/media/rkisp1 and RK3399 SoCs. The driver is located under drivers/staging/media/rkisp1
and uses the Media-Controller API. and uses the Media-Controller API.
Revisions
=========
There exist multiple smaller revisions to this ISP that got introduced in
later SoCs. Revisions can be found in the enum :c:type:`rkisp1_cif_isp_version`
in the UAPI and the revision of the ISP inside the running SoC can be read
in the field hw_revision of struct media_device_info as returned by
ioctl MEDIA_IOC_DEVICE_INFO.
Versions in use are:
- RKISP1_V10: used at least in rk3288 and rk3399
- RKISP1_V11: declared in the original vendor code, but not used
- RKISP1_V12: used at least in rk3326 and px30
- RKISP1_V13: used at least in rk1808
Topology Topology
======== ========
.. _rkisp1_topology_graph: .. _rkisp1_topology_graph:

View File

@ -70,8 +70,8 @@ trampoline code on the vDSO, that trampoline is never intercepted.
[selector] is a pointer to a char-sized region in the process memory [selector] is a pointer to a char-sized region in the process memory
region, that provides a quick way to enable disable syscall redirection region, that provides a quick way to enable disable syscall redirection
thread-wide, without the need to invoke the kernel directly. selector thread-wide, without the need to invoke the kernel directly. selector
can be set to PR_SYS_DISPATCH_ON or PR_SYS_DISPATCH_OFF. Any other can be set to SYSCALL_DISPATCH_FILTER_ALLOW or SYSCALL_DISPATCH_FILTER_BLOCK.
value should terminate the program with a SIGSYS. Any other value should terminate the program with a SIGSYS.
Security Notes Security Notes
-------------- --------------

View File

@ -100,6 +100,11 @@ Instruction Macros
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
This section covers ``SYM_FUNC_*`` and ``SYM_CODE_*`` enumerated above. This section covers ``SYM_FUNC_*`` and ``SYM_CODE_*`` enumerated above.
``objtool`` requires that all code must be contained in an ELF symbol. Symbol
names that have a ``.L`` prefix do not emit symbol table entries. ``.L``
prefixed symbols can be used within a code region, but should be avoided for
denoting a range of code via ``SYM_*_START/END`` annotations.
* ``SYM_FUNC_START`` and ``SYM_FUNC_START_LOCAL`` are supposed to be **the * ``SYM_FUNC_START`` and ``SYM_FUNC_START_LOCAL`` are supposed to be **the
most frequent markings**. They are used for functions with standard calling most frequent markings**. They are used for functions with standard calling
conventions -- global and local. Like in C, they both align the functions to conventions -- global and local. Like in C, they both align the functions to

View File

@ -160,29 +160,14 @@ intended for use in production as a security mitigation. Therefore it supports
boot parameters that allow to disable KASAN competely or otherwise control boot parameters that allow to disable KASAN competely or otherwise control
particular KASAN features. particular KASAN features.
The things that can be controlled are: - ``kasan=off`` or ``=on`` controls whether KASAN is enabled (default: ``on``).
1. Whether KASAN is enabled at all. - ``kasan.stacktrace=off`` or ``=on`` disables or enables alloc and free stack
2. Whether KASAN collects and saves alloc/free stacks. traces collection (default: ``on`` for ``CONFIG_DEBUG_KERNEL=y``, otherwise
3. Whether KASAN panics on a detected bug or not. ``off``).
The ``kasan.mode`` boot parameter allows to choose one of three main modes: - ``kasan.fault=report`` or ``=panic`` controls whether to only print a KASAN
report or also panic the kernel (default: ``report``).
- ``kasan.mode=off`` - KASAN is disabled, no tag checks are performed
- ``kasan.mode=prod`` - only essential production features are enabled
- ``kasan.mode=full`` - all KASAN features are enabled
The chosen mode provides default control values for the features mentioned
above. However it's also possible to override the default values by providing:
- ``kasan.stacktrace=off`` or ``=on`` - enable alloc/free stack collection
(default: ``on`` for ``mode=full``,
otherwise ``off``)
- ``kasan.fault=report`` or ``=panic`` - only print KASAN report or also panic
(default: ``report``)
If ``kasan.mode`` parameter is not provided, it defaults to ``full`` when
``CONFIG_DEBUG_KERNEL`` is enabled, and to ``prod`` otherwise.
For developers For developers
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~

View File

@ -522,6 +522,63 @@ There's more boilerplate involved, but it can:
* E.g. if we wanted to also test ``sha256sum``, we could add a ``sha256`` * E.g. if we wanted to also test ``sha256sum``, we could add a ``sha256``
field and reuse ``cases``. field and reuse ``cases``.
* be converted to a "parameterized test", see below.
Parameterized Testing
~~~~~~~~~~~~~~~~~~~~~
The table-driven testing pattern is common enough that KUnit has special
support for it.
Reusing the same ``cases`` array from above, we can write the test as a
"parameterized test" with the following.
.. code-block:: c
// This is copy-pasted from above.
struct sha1_test_case {
const char *str;
const char *sha1;
};
struct sha1_test_case cases[] = {
{
.str = "hello world",
.sha1 = "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed",
},
{
.str = "hello world!",
.sha1 = "430ce34d020724ed75a196dfc2ad67c77772d169",
},
};
// Need a helper function to generate a name for each test case.
static void case_to_desc(const struct sha1_test_case *t, char *desc)
{
strcpy(desc, t->str);
}
// Creates `sha1_gen_params()` to iterate over `cases`.
KUNIT_ARRAY_PARAM(sha1, cases, case_to_desc);
// Looks no different from a normal test.
static void sha1_test(struct kunit *test)
{
// This function can just contain the body of the for-loop.
// The former `cases[i]` is accessible under test->param_value.
char out[40];
struct sha1_test_case *test_param = (struct sha1_test_case *)(test->param_value);
sha1sum(test_param->str, out);
KUNIT_EXPECT_STREQ_MSG(test, (char *)out, test_param->sha1,
"sha1sum(%s)", test_param->str);
}
// Instead of KUNIT_CASE, we use KUNIT_CASE_PARAM and pass in the
// function declared by KUNIT_ARRAY_PARAM.
static struct kunit_case sha1_test_cases[] = {
KUNIT_CASE_PARAM(sha1_test, sha1_gen_params),
{}
};
.. _kunit-on-non-uml: .. _kunit-on-non-uml:
KUnit on non-UML architectures KUnit on non-UML architectures

View File

@ -232,7 +232,6 @@ properties:
by this cpu (see ./idle-states.yaml). by this cpu (see ./idle-states.yaml).
capacity-dmips-mhz: capacity-dmips-mhz:
$ref: '/schemas/types.yaml#/definitions/uint32'
description: description:
u32 value representing CPU capacity (see ./cpu-capacity.txt) in u32 value representing CPU capacity (see ./cpu-capacity.txt) in
DMIPS/MHz, relative to highest capacity-dmips-mhz DMIPS/MHz, relative to highest capacity-dmips-mhz

View File

@ -40,7 +40,7 @@ Optional properties:
documents on how to describe the way the sii902x device is documents on how to describe the way the sii902x device is
connected to the rest of the audio system: connected to the rest of the audio system:
Documentation/devicetree/bindings/sound/simple-card.yaml Documentation/devicetree/bindings/sound/simple-card.yaml
Documentation/devicetree/bindings/sound/audio-graph-card.txt Documentation/devicetree/bindings/sound/audio-graph-card.yaml
Note: In case of the audio-graph-card binding the used port Note: In case of the audio-graph-card binding the used port
index should be 3. index should be 3.

View File

@ -23,7 +23,7 @@ connected to.
For a description of the display interface sink function blocks, see For a description of the display interface sink function blocks, see
Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt and Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt and
Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt. Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml.
Required properties (all function blocks): Required properties (all function blocks):
- compatible: "mediatek,<chip>-disp-<function>", one of - compatible: "mediatek,<chip>-disp-<function>", one of
@ -61,7 +61,7 @@ Required properties (DMA function blocks):
"mediatek,<chip>-disp-wdma" "mediatek,<chip>-disp-wdma"
the supported chips are mt2701, mt8167 and mt8173. the supported chips are mt2701, mt8167 and mt8173.
- larb: Should contain a phandle pointing to the local arbiter device as defined - larb: Should contain a phandle pointing to the local arbiter device as defined
in Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt in Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
- iommus: Should point to the respective IOMMU block with master port as - iommus: Should point to the respective IOMMU block with master port as
argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
for details. for details.

View File

@ -85,7 +85,6 @@ properties:
wlf,micd-timeout-ms: wlf,micd-timeout-ms:
description: description:
Timeout for microphone detection, specified in milliseconds. Timeout for microphone detection, specified in milliseconds.
$ref: "/schemas/types.yaml#/definitions/uint32"
wlf,micd-force-micbias: wlf,micd-force-micbias:
description: description:

View File

@ -49,7 +49,6 @@ properties:
description: description:
This property controls the Accumulation Dead band which allows to set the This property controls the Accumulation Dead band which allows to set the
level of current below which no accumulation takes place. level of current below which no accumulation takes place.
$ref: /schemas/types.yaml#/definitions/uint32
maximum: 255 maximum: 255
default: 0 default: 0

View File

@ -73,11 +73,9 @@ properties:
description: | description: |
Temperature sensor trimming factor. It can be used to manually adjust the Temperature sensor trimming factor. It can be used to manually adjust the
temperature measurements within 7.130 degrees Celsius. temperature measurements within 7.130 degrees Celsius.
maxItems: 1 default: 0
items: minimum: 0
default: 0 maximum: 7130
minimum: 0
maximum: 7130
additionalProperties: false additionalProperties: false

View File

@ -52,7 +52,6 @@ properties:
ti,bus-range-microvolt: ti,bus-range-microvolt:
description: | description: |
This is the operating range of the bus voltage in microvolt This is the operating range of the bus voltage in microvolt
$ref: /schemas/types.yaml#/definitions/uint32
enum: [16000000, 32000000] enum: [16000000, 32000000]
default: 32000000 default: 32000000

View File

@ -39,11 +39,9 @@ properties:
i2c-gpio,delay-us: i2c-gpio,delay-us:
description: delay between GPIO operations (may depend on each platform) description: delay between GPIO operations (may depend on each platform)
$ref: /schemas/types.yaml#/definitions/uint32
i2c-gpio,timeout-ms: i2c-gpio,timeout-ms:
description: timeout to get data description: timeout to get data
$ref: /schemas/types.yaml#/definitions/uint32
# Deprecated properties, do not use in new device tree sources: # Deprecated properties, do not use in new device tree sources:
gpios: gpios:

View File

@ -66,21 +66,18 @@ properties:
default: 400000 default: 400000
i2c-sda-hold-time-ns: i2c-sda-hold-time-ns:
maxItems: 1
description: | description: |
The property should contain the SDA hold time in nanoseconds. This option The property should contain the SDA hold time in nanoseconds. This option
is only supported in hardware blocks version 1.11a or newer or on is only supported in hardware blocks version 1.11a or newer or on
Microsemi SoCs. Microsemi SoCs.
i2c-scl-falling-time-ns: i2c-scl-falling-time-ns:
maxItems: 1
description: | description: |
The property should contain the SCL falling time in nanoseconds. The property should contain the SCL falling time in nanoseconds.
This value is used to compute the tLOW period. This value is used to compute the tLOW period.
default: 300 default: 300
i2c-sda-falling-time-ns: i2c-sda-falling-time-ns:
maxItems: 1
description: | description: |
The property should contain the SDA falling time in nanoseconds. The property should contain the SDA falling time in nanoseconds.
This value is used to compute the tHIGH period. This value is used to compute the tHIGH period.

View File

@ -16,8 +16,8 @@ description:
properties: properties:
compatible: compatible:
enum: enum:
- bosch,bmc150 - bosch,bmc150_accel
- bosch,bmi055 - bosch,bmi055_accel
- bosch,bma255 - bosch,bma255
- bosch,bma250e - bosch,bma250e
- bosch,bma222 - bosch,bma222

View File

@ -80,7 +80,7 @@ properties:
type: boolean type: boolean
bipolar: bipolar:
description: see Documentation/devicetree/bindings/iio/adc/adc.txt description: see Documentation/devicetree/bindings/iio/adc/adc.yaml
type: boolean type: boolean
required: required:

View File

@ -23,7 +23,6 @@ properties:
maxItems: 1 maxItems: 1
shunt-resistor-micro-ohms: shunt-resistor-micro-ohms:
$ref: /schemas/types.yaml#/definitions/uint32
description: | description: |
Value in micro Ohms of the shunt resistor connected between the RS+ and Value in micro Ohms of the shunt resistor connected between the RS+ and
RS- inputs, across which the current is measured. Value needed to compute RS- inputs, across which the current is measured. Value needed to compute

View File

@ -246,7 +246,6 @@ patternProperties:
Resolution (bits) to use for conversions: Resolution (bits) to use for conversions:
- can be 6, 8, 10 or 12 on stm32f4 - can be 6, 8, 10 or 12 on stm32f4
- can be 8, 10, 12, 14 or 16 on stm32h7 and stm32mp1 - can be 8, 10, 12, 14 or 16 on stm32h7 and stm32mp1
$ref: /schemas/types.yaml#/definitions/uint32
st,adc-channels: st,adc-channels:
description: | description: |

View File

@ -42,7 +42,6 @@ properties:
const: 1 const: 1
ti,channel0-current-microamp: ti,channel0-current-microamp:
$ref: /schemas/types.yaml#/definitions/uint32
description: Channel 0 current in uA. description: Channel 0 current in uA.
enum: enum:
- 0 - 0
@ -51,7 +50,6 @@ properties:
- 20 - 20
ti,channel3-current-microamp: ti,channel3-current-microamp:
$ref: /schemas/types.yaml#/definitions/uint32
description: Channel 3 current in uA. description: Channel 3 current in uA.
enum: enum:
- 0 - 0

View File

@ -46,31 +46,42 @@ properties:
two properties must be present: two properties must be present:
adi,range-microvolt: adi,range-microvolt:
$ref: /schemas/types.yaml#/definitions/int32-array
description: | description: |
Voltage output range specified as <minimum, maximum> Voltage output range specified as <minimum, maximum>
enum: oneOf:
- [[0, 5000000]] - items:
- [[0, 10000000]] - const: 0
- [[-5000000, 5000000]] - enum: [5000000, 10000000]
- [[-10000000, 10000000]] - items:
- const: -5000000
- const: 5000000
- items:
- const: -10000000
- const: 10000000
adi,range-microamp: adi,range-microamp:
$ref: /schemas/types.yaml#/definitions/int32-array
description: | description: |
Current output range specified as <minimum, maximum> Current output range specified as <minimum, maximum>
enum: oneOf:
- [[0, 20000]] - items:
- [[0, 24000]] - const: 0
- [[4, 24000]] - enum: [20000, 24000]
- [[-20000, 20000]] - items:
- [[-24000, 24000]] - const: 4
- [[-1000, 22000]] - const: 24000
- items:
- const: -20000
- const: 20000
- items:
- const: -24000
- const: 24000
- items:
- const: -1000
- const: 22000
reset-gpios: true reset-gpios: true
adi,dc-dc-ilim-microamp: adi,dc-dc-ilim-microamp:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [150000, 200000, 250000, 300000, 350000, 400000] enum: [150000, 200000, 250000, 300000, 350000, 400000]
description: | description: |
The dc-to-dc converter current limit. The dc-to-dc converter current limit.

View File

@ -21,7 +21,6 @@ properties:
description: Connected to ADC_RDY pin. description: Connected to ADC_RDY pin.
maxim,led-current-microamp: maxim,led-current-microamp:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 2 minItems: 2
maxItems: 2 maxItems: 2
description: | description: |

View File

@ -5,7 +5,8 @@ Required properties:
- compatible: "adc-keys" - compatible: "adc-keys"
- io-channels: Phandle to an ADC channel - io-channels: Phandle to an ADC channel
- io-channel-names = "buttons"; - io-channel-names = "buttons";
- keyup-threshold-microvolt: Voltage at which all the keys are considered up. - keyup-threshold-microvolt: Voltage above or equal to which all the keys are
considered up.
Optional properties: Optional properties:
- poll-interval: Poll interval time in milliseconds - poll-interval: Poll interval time in milliseconds
@ -17,7 +18,12 @@ Each button (key) is represented as a sub-node of "adc-keys":
Required subnode-properties: Required subnode-properties:
- label: Descriptive name of the key. - label: Descriptive name of the key.
- linux,code: Keycode to emit. - linux,code: Keycode to emit.
- press-threshold-microvolt: Voltage ADC input when this key is pressed. - press-threshold-microvolt: voltage above or equal to which this key is
considered pressed.
No two values of press-threshold-microvolt may be the same.
All values of press-threshold-microvolt must be less than
keyup-threshold-microvolt.
Example: Example:
@ -47,3 +53,15 @@ Example:
press-threshold-microvolt = <500000>; press-threshold-microvolt = <500000>;
}; };
}; };
+--------------------------------+------------------------+
| 2.000.000 <= value | no key pressed |
+--------------------------------+------------------------+
| 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed |
+--------------------------------+------------------------+
| 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed |
+--------------------------------+------------------------+
| 500.000 <= value < 1.000.000 | KEY_ENTER pressed |
+--------------------------------+------------------------+
| value < 500.000 | no key pressed |
+--------------------------------+------------------------+

View File

@ -26,6 +26,7 @@ properties:
- goodix,gt927 - goodix,gt927
- goodix,gt9271 - goodix,gt9271
- goodix,gt928 - goodix,gt928
- goodix,gt9286
- goodix,gt967 - goodix,gt967
reg: reg:

View File

@ -70,11 +70,9 @@ properties:
touchscreen-x-mm: touchscreen-x-mm:
description: horizontal length in mm of the touchscreen description: horizontal length in mm of the touchscreen
$ref: /schemas/types.yaml#/definitions/uint32
touchscreen-y-mm: touchscreen-y-mm:
description: vertical length in mm of the touchscreen description: vertical length in mm of the touchscreen
$ref: /schemas/types.yaml#/definitions/uint32
dependencies: dependencies:
touchscreen-size-x: [ touchscreen-size-y ] touchscreen-size-x: [ touchscreen-size-y ]

View File

@ -0,0 +1,111 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/richtek,rt8515.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Richtek RT8515 1.5A dual channel LED driver
maintainers:
- Linus Walleij <linus.walleij@linaro.org>
description: |
The Richtek RT8515 is a dual channel (two mode) LED driver that
supports driving a white LED in flash or torch mode. The maximum
current for each mode is defined in hardware using two resistors
RFS and RTS.
properties:
compatible:
const: richtek,rt8515
enf-gpios:
maxItems: 1
description: A connection to the 'ENF' (enable flash) pin.
ent-gpios:
maxItems: 1
description: A connection to the 'ENT' (enable torch) pin.
richtek,rfs-ohms:
minimum: 7680
maximum: 367000
description: The resistance value of the RFS resistor. This
resistors limits the maximum flash current. This must be set
for the property flash-max-microamp to work, the RFS resistor
defines the range of the dimmer setting (brightness) of the
flash LED.
richtek,rts-ohms:
minimum: 7680
maximum: 367000
description: The resistance value of the RTS resistor. This
resistors limits the maximum torch current. This must be set
for the property torch-max-microamp to work, the RTS resistor
defines the range of the dimmer setting (brightness) of the
torch LED.
led:
type: object
$ref: common.yaml#
properties:
function: true
color: true
flash-max-timeout-us: true
flash-max-microamp:
maximum: 700000
description: The maximum current for flash mode
is hardwired to the component using the RFS resistor to
ground. The maximum hardware current setting is calculated
according to the formula Imax = 5500 / RFS. The lowest
allowed resistance value is 7.86 kOhm giving an absolute
maximum current of 700mA. By setting this attribute in
the device tree, you can further restrict the maximum
current below the hardware limit. This requires the RFS
to be defined as it defines the maximum range.
led-max-microamp:
maximum: 700000
description: The maximum current for torch mode
is hardwired to the component using the RTS resistor to
ground. The maximum hardware current setting is calculated
according to the formula Imax = 5500 / RTS. The lowest
allowed resistance value is 7.86 kOhm giving an absolute
maximum current of 700mA. By setting this attribute in
the device tree, you can further restrict the maximum
current below the hardware limit. This requires the RTS
to be defined as it defines the maximum range.
additionalProperties: false
required:
- compatible
- ent-gpios
- enf-gpios
- led
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
led-controller {
compatible = "richtek,rt8515";
enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
richtek,rfs-ohms = <16000>;
richtek,rts-ohms = <100000>;
led {
function = LED_FUNCTION_FLASH;
color = <LED_COLOR_ID_WHITE>;
flash-max-timeout-us = <250000>;
flash-max-microamp = <150000>;
led-max-microamp = <25000>;
};
};
...

View File

@ -16,7 +16,7 @@ Required properties:
- power-domains: a phandle to the power domain, see - power-domains: a phandle to the power domain, see
Documentation/devicetree/bindings/power/power_domain.txt for details. Documentation/devicetree/bindings/power/power_domain.txt for details.
- mediatek,larb: must contain the local arbiters in the current Socs, see - mediatek,larb: must contain the local arbiters in the current Socs, see
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
for details. for details.
- iommus: should point to the respective IOMMU block with master port as - iommus: should point to the respective IOMMU block with master port as
argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt

View File

@ -14,7 +14,7 @@ Required properties:
- power-domains: a phandle to the power domain, see - power-domains: a phandle to the power domain, see
Documentation/devicetree/bindings/power/power_domain.txt for details. Documentation/devicetree/bindings/power/power_domain.txt for details.
- mediatek,larb: must contain the local arbiters in the current SoCs, see - mediatek,larb: must contain the local arbiters in the current SoCs, see
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
for details. for details.
- iommus: should point to the respective IOMMU block with master port as - iommus: should point to the respective IOMMU block with master port as
argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt

View File

@ -28,7 +28,7 @@ Required properties (DMA function blocks, child node):
argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
for details. for details.
- mediatek,larb: must contain the local arbiters in the current Socs, see - mediatek,larb: must contain the local arbiters in the current Socs, see
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
for details. for details.
Example: Example:

View File

@ -259,7 +259,6 @@ properties:
waiting for I/O signalling and card power supply to be stable, waiting for I/O signalling and card power supply to be stable,
regardless of whether pwrseq-simple is used. Default to 10ms if regardless of whether pwrseq-simple is used. Default to 10ms if
no available. no available.
$ref: /schemas/types.yaml#/definitions/uint32
default: 10 default: 10
supports-cqe: supports-cqe:

View File

@ -41,13 +41,11 @@ properties:
description: description:
Delay in ms after powering the card and de-asserting the Delay in ms after powering the card and de-asserting the
reset-gpios (if any). reset-gpios (if any).
$ref: /schemas/types.yaml#/definitions/uint32
power-off-delay-us: power-off-delay-us:
description: description:
Delay in us after asserting the reset-gpios (if any) Delay in us after asserting the reset-gpios (if any)
during power off of the card. during power off of the card.
$ref: /schemas/types.yaml#/definitions/uint32
required: required:
- compatible - compatible

View File

@ -122,7 +122,6 @@ properties:
such as flow control thresholds. such as flow control thresholds.
rx-internal-delay-ps: rx-internal-delay-ps:
$ref: /schemas/types.yaml#/definitions/uint32
description: | description: |
RGMII Receive Clock Delay defined in pico seconds. RGMII Receive Clock Delay defined in pico seconds.
This is used for controllers that have configurable RX internal delays. This is used for controllers that have configurable RX internal delays.
@ -140,7 +139,6 @@ properties:
is used for components that can have configurable fifo sizes. is used for components that can have configurable fifo sizes.
tx-internal-delay-ps: tx-internal-delay-ps:
$ref: /schemas/types.yaml#/definitions/uint32
description: | description: |
RGMII Transmit Clock Delay defined in pico seconds. RGMII Transmit Clock Delay defined in pico seconds.
This is used for controllers that have configurable TX internal delays. This is used for controllers that have configurable TX internal delays.

View File

@ -212,7 +212,6 @@ properties:
Triplet of delays. The 1st cell is reset pre-delay in micro Triplet of delays. The 1st cell is reset pre-delay in micro
seconds. The 2nd cell is reset pulse in micro seconds. The 3rd seconds. The 2nd cell is reset pulse in micro seconds. The 3rd
cell is reset post-delay in micro seconds. cell is reset post-delay in micro seconds.
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 3 minItems: 3
maxItems: 3 maxItems: 3

View File

@ -83,21 +83,18 @@ properties:
for each of the battery capacity lookup table. for each of the battery capacity lookup table.
operating-range-celsius: operating-range-celsius:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: operating temperature range of a battery description: operating temperature range of a battery
items: items:
- description: minimum temperature at which battery can operate - description: minimum temperature at which battery can operate
- description: maximum temperature at which battery can operate - description: maximum temperature at which battery can operate
ambient-celsius: ambient-celsius:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: safe range of ambient temperature description: safe range of ambient temperature
items: items:
- description: alert when ambient temperature is lower than this value - description: alert when ambient temperature is lower than this value
- description: alert when ambient temperature is higher than this value - description: alert when ambient temperature is higher than this value
alert-celsius: alert-celsius:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: safe range of battery temperature description: safe range of battery temperature
items: items:
- description: alert when battery temperature is lower than this value - description: alert when battery temperature is lower than this value

View File

@ -50,7 +50,6 @@ properties:
maxItems: 1 maxItems: 1
input-current-limit-microamp: input-current-limit-microamp:
$ref: /schemas/types.yaml#/definitions/uint32
description: Maximum input current in micro Amps. description: Maximum input current in micro Amps.
minimum: 50000 minimum: 50000
maximum: 500000 maximum: 500000

View File

@ -62,7 +62,6 @@ properties:
description: IRQ line information. description: IRQ line information.
dlg,irq-polling-delay-passive-ms: dlg,irq-polling-delay-passive-ms:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 1000 minimum: 1000
maximum: 10000 maximum: 10000
description: | description: |

View File

@ -72,11 +72,9 @@ properties:
startup-delay-us: startup-delay-us:
description: startup time in microseconds description: startup time in microseconds
$ref: /schemas/types.yaml#/definitions/uint32
off-on-delay-us: off-on-delay-us:
description: off delay time in microseconds description: off delay time in microseconds
$ref: /schemas/types.yaml#/definitions/uint32
enable-active-high: enable-active-high:
description: description:

View File

@ -27,7 +27,6 @@ properties:
1: chargeable 1: chargeable
quartz-load-femtofarads: quartz-load-femtofarads:
$ref: /schemas/types.yaml#/definitions/uint32
description: description:
The capacitive load of the quartz(x-tal), expressed in femto The capacitive load of the quartz(x-tal), expressed in femto
Farad (fF). The default value shall be listed (if optional), Farad (fF). The default value shall be listed (if optional),
@ -47,7 +46,6 @@ properties:
deprecated: true deprecated: true
trickle-resistor-ohms: trickle-resistor-ohms:
$ref: /schemas/types.yaml#/definitions/uint32
description: description:
Selected resistor for trickle charger. Should be given Selected resistor for trickle charger. Should be given
if trickle charger should be enabled. if trickle charger should be enabled.

View File

@ -88,14 +88,12 @@ properties:
description: description:
Rate at which poll occurs when auto-poll is set. Rate at which poll occurs when auto-poll is set.
default 100ms. default 100ms.
$ref: /schemas/types.yaml#/definitions/uint32
default: 100 default: 100
poll-timeout-ms: poll-timeout-ms:
description: description:
Poll timeout when auto-poll is set, default Poll timeout when auto-poll is set, default
3000ms. 3000ms.
$ref: /schemas/types.yaml#/definitions/uint32
default: 3000 default: 3000
required: required:

View File

@ -71,9 +71,6 @@ properties:
description: CPU to Codec rate channels. description: CPU to Codec rate channels.
$ref: /schemas/types.yaml#/definitions/uint32 $ref: /schemas/types.yaml#/definitions/uint32
required:
- remote-endpoint
ports: ports:
description: multi OF-Graph subnode description: multi OF-Graph subnode
type: object type: object

View File

@ -15,9 +15,14 @@ properties:
compatible: compatible:
oneOf: oneOf:
- const: ingenic,jz4770-codec - enum:
- const: ingenic,jz4725b-codec - ingenic,jz4770-codec
- const: ingenic,jz4740-codec - ingenic,jz4760-codec
- ingenic,jz4725b-codec
- ingenic,jz4740-codec
- items:
- const: ingenic,jz4760b-codec
- const: ingenic,jz4760-codec
reg: reg:
maxItems: 1 maxItems: 1

View File

@ -18,6 +18,7 @@ properties:
enum: enum:
- intel,keembay-i2s - intel,keembay-i2s
- intel,keembay-tdm - intel,keembay-tdm
- intel,keembay-hdmi-i2s
"#sound-dai-cells": "#sound-dai-cells":
const: 0 const: 0
@ -45,6 +46,16 @@ properties:
- const: osc - const: osc
- const: apb_clk - const: apb_clk
dmas:
items:
- description: DMA TX channel
- description: DMA RX channel
dma-names:
items:
- const: tx
- const: rx
required: required:
- compatible - compatible
- "#sound-dai-cells" - "#sound-dai-cells"
@ -70,4 +81,6 @@ examples:
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "osc", "apb_clk"; clock-names = "osc", "apb_clk";
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>; clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>;
dmas = <&axi_dma0 29 &axi_dma0 33>;
dma-names = "tx", "rx";
}; };

View File

@ -23,6 +23,10 @@ properties:
$ref: "/schemas/types.yaml#/definitions/phandle" $ref: "/schemas/types.yaml#/definitions/phandle"
description: The phandle of MT8192 ASoC platform. description: The phandle of MT8192 ASoC platform.
mediatek,hdmi-codec:
$ref: "/schemas/types.yaml#/definitions/phandle"
description: The phandle of HDMI codec.
additionalProperties: false additionalProperties: false
required: required:
@ -35,6 +39,7 @@ examples:
sound: mt8192-sound { sound: mt8192-sound {
compatible = "mediatek,mt8192_mt6359_rt1015_rt5682"; compatible = "mediatek,mt8192_mt6359_rt1015_rt5682";
mediatek,platform = <&afe>; mediatek,platform = <&afe>;
mediatek,hdmi-codec = <&anx_bridge_dp>;
pinctrl-names = "aud_clk_mosi_off", pinctrl-names = "aud_clk_mosi_off",
"aud_clk_mosi_on"; "aud_clk_mosi_on";
pinctrl-0 = <&aud_clk_mosi_off>; pinctrl-0 = <&aud_clk_mosi_off>;

View File

@ -0,0 +1,190 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-graph-card.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Audio Graph based Tegra sound card driver
description: |
This is based on generic audio graph card driver along with additional
customizations for Tegra platforms. It uses the same bindings with
additional standard clock DT bindings required for Tegra.
maintainers:
- Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph.yaml#
properties:
compatible:
enum:
- nvidia,tegra210-audio-graph-card
- nvidia,tegra186-audio-graph-card
clocks:
minItems: 2
clock-names:
minItems: 2
items:
- const: pll_a
- const: plla_out0
assigned-clocks:
minItems: 1
maxItems: 3
assigned-clock-parents:
minItems: 1
maxItems: 3
assigned-clock-rates:
minItems: 1
maxItems: 3
iommus:
maxItems: 1
required:
- clocks
- clock-names
- assigned-clocks
- assigned-clock-parents
unevaluatedProperties: false
examples:
- |
#include<dt-bindings/clock/tegra210-car.h>
tegra_sound {
compatible = "nvidia,tegra210-audio-graph-card";
clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
clock-names = "pll_a", "plla_out0";
assigned-clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA210_CLK_EXTERN1>;
assigned-clock-parents = <0>, <0>, <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
assigned-clock-rates = <368640000>, <49152000>, <12288000>;
dais = /* FE */
<&admaif1_port>,
/* Router */
<&xbar_i2s1_port>,
/* I/O DAP Ports */
<&i2s1_port>;
label = "jetson-tx1-ape";
};
// The ports are defined for AHUB and its child devices.
ahub@702d0800 {
compatible = "nvidia,tegra210-ahub";
reg = <0x702d0800 0x800>;
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
clock-names = "ahub";
assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x702d0000 0x702d0000 0x0000e400>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0x0>;
xbar_admaif1_ep: endpoint {
remote-endpoint = <&admaif1_ep>;
};
};
// ...
xbar_i2s1_port: port@a {
reg = <0xa>;
xbar_i2s1_ep: endpoint {
remote-endpoint = <&i2s1_cif_ep>;
};
};
};
admaif@702d0000 {
compatible = "nvidia,tegra210-admaif";
reg = <0x702d0000 0x800>;
dmas = <&adma 1>, <&adma 1>,
<&adma 2>, <&adma 2>,
<&adma 3>, <&adma 3>,
<&adma 4>, <&adma 4>,
<&adma 5>, <&adma 5>,
<&adma 6>, <&adma 6>,
<&adma 7>, <&adma 7>,
<&adma 8>, <&adma 8>,
<&adma 9>, <&adma 9>,
<&adma 10>, <&adma 10>;
dma-names = "rx1", "tx1",
"rx2", "tx2",
"rx3", "tx3",
"rx4", "tx4",
"rx5", "tx5",
"rx6", "tx6",
"rx7", "tx7",
"rx8", "tx8",
"rx9", "tx9",
"rx10", "tx10";
ports {
#address-cells = <1>;
#size-cells = <0>;
admaif1_port: port@0 {
reg = <0x0>;
admaif1_ep: endpoint {
remote-endpoint = <&xbar_admaif1_ep>;
};
};
// More ADMAIF ports to follow
};
};
i2s@702d1000 {
compatible = "nvidia,tegra210-i2s";
clocks = <&tegra_car TEGRA210_CLK_I2S0>;
clock-names = "i2s";
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
assigned-clock-rates = <1536000>;
reg = <0x702d1000 0x100>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0x0>;
i2s1_cif_ep: endpoint {
remote-endpoint = <&xbar_i2s1_ep>;
};
};
i2s1_port: port@1 {
reg = <0x1>;
i2s1_dap: endpoint {
dai-format = "i2s";
};
};
};
};
};
...

View File

@ -17,6 +17,9 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^dspk@[0-9a-f]*$" pattern: "^dspk@[0-9a-f]*$"
@ -55,6 +58,19 @@ properties:
The name can be "DSPK1" or "DSPKx", where x depends on the maximum The name can be "DSPK1" or "DSPKx", where x depends on the maximum
available instances on a Tegra SoC. available instances on a Tegra SoC.
ports:
type: object
properties:
port@0:
description: |
DSPK ACIF (Audio Client Interface) port connected to the
corresponding AHUB (Audio Hub) ACIF port.
port@1:
description: |
DSPK DAP (Digital Audio Port) interface which can be connected
to external audio codec for playback.
required: required:
- compatible - compatible
- reg - reg
@ -64,7 +80,7 @@ required:
- assigned-clock-parents - assigned-clock-parents
- sound-name-prefix - sound-name-prefix
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |

View File

@ -17,6 +17,9 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^admaif@[0-9a-f]*$" pattern: "^admaif@[0-9a-f]*$"
@ -37,6 +40,14 @@ properties:
dma-names: true dma-names: true
ports:
description: |
Contains list of ACIF (Audio CIF) port nodes for ADMAIF channels.
The number of port nodes depends on the number of ADMAIF channels
that SoC may have. These are interfaced with respective ACIF ports
in AHUB (Audio Hub). Each port is capable of data transfers in
both directions.
if: if:
properties: properties:
compatible: compatible:
@ -81,7 +92,7 @@ required:
- dmas - dmas
- dma-names - dma-names
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |

View File

@ -17,6 +17,9 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^ahub@[0-9a-f]*$" pattern: "^ahub@[0-9a-f]*$"
@ -56,6 +59,13 @@ properties:
ranges: true ranges: true
ports:
description: |
Contains list of ACIF (Audio CIF) port nodes for AHUB (Audio Hub).
These are connected to ACIF interfaces of AHUB clients. Thus the
number of port nodes depend on the number of clients that AHUB may
have depending on the SoC revision.
required: required:
- compatible - compatible
- reg - reg
@ -67,8 +77,7 @@ required:
- "#size-cells" - "#size-cells"
- ranges - ranges
additionalProperties: unevaluatedProperties: false
type: object
examples: examples:
- | - |

View File

@ -16,6 +16,9 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^dmic@[0-9a-f]*$" pattern: "^dmic@[0-9a-f]*$"
@ -56,6 +59,19 @@ properties:
The name can be "DMIC1" or "DMIC2" ... "DMICx", where x depends The name can be "DMIC1" or "DMIC2" ... "DMICx", where x depends
on the maximum available instances on a Tegra SoC. on the maximum available instances on a Tegra SoC.
ports:
type: object
properties:
port@0:
description: |
DMIC ACIF (Audio Client Interface) port connected to the
corresponding AHUB (Audio Hub) ACIF port.
port@1:
description: |
DMIC DAP (Digital Audio Port) interface which can be connected
to external audio codec for capture.
required: required:
- compatible - compatible
- reg - reg
@ -64,7 +80,7 @@ required:
- assigned-clocks - assigned-clocks
- assigned-clock-parents - assigned-clock-parents
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |

View File

@ -16,6 +16,9 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^i2s@[0-9a-f]*$" pattern: "^i2s@[0-9a-f]*$"
@ -74,6 +77,19 @@ properties:
The name can be "I2S1" or "I2S2" ... "I2Sx", where x depends The name can be "I2S1" or "I2S2" ... "I2Sx", where x depends
on the maximum available instances on a Tegra SoC. on the maximum available instances on a Tegra SoC.
ports:
type: object
properties:
port@0:
description: |
I2S ACIF (Audio Client Interface) port connected to the
corresponding AHUB (Audio Hub) ACIF port.
port@1:
description: |
I2S DAP (Digital Audio Port) interface which can be connected
to external audio codec for playback or capture.
required: required:
- compatible - compatible
- reg - reg
@ -82,7 +98,7 @@ required:
- assigned-clocks - assigned-clocks
- assigned-clock-parents - assigned-clock-parents
additionalProperties: false unevaluatedProperties: false
examples: examples:
- | - |

View File

@ -0,0 +1,62 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,lpass-rx-macro.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: LPASS(Low Power Audio Subsystem) RX Macro audio codec DT bindings
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
properties:
compatible:
const: qcom,sm8250-lpass-rx-macro
reg:
maxItems: 1
"#sound-dai-cells":
const: 1
'#clock-cells':
const: 0
clocks:
maxItems: 5
clock-names:
items:
- const: mclk
- const: npl
- const: macro
- const: dcodec
- const: fsgen
clock-output-names:
items:
- const: mclk
required:
- compatible
- reg
- "#sound-dai-cells"
additionalProperties: false
examples:
- |
#include <dt-bindings/sound/qcom,q6afe.h>
codec@3200000 {
compatible = "qcom,sm8250-lpass-rx-macro";
reg = <0x3200000 0x1000>;
#sound-dai-cells = <1>;
#clock-cells = <0>;
clocks = <&audiocc 0>,
<&audiocc 1>,
<&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
<&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
<&vamacro>;
clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
clock-output-names = "mclk";
};

View File

@ -0,0 +1,67 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,lpass-tx-macro.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: LPASS(Low Power Audio Subsystem) TX Macro audio codec DT bindings
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
properties:
compatible:
const: qcom,sm8250-lpass-tx-macro
reg:
maxItems: 1
"#sound-dai-cells":
const: 1
'#clock-cells':
const: 0
clocks:
maxItems: 5
clock-names:
items:
- const: mclk
- const: npl
- const: macro
- const: dcodec
- const: fsgen
clock-output-names:
items:
- const: mclk
qcom,dmic-sample-rate:
description: dmic sample rate
$ref: /schemas/types.yaml#/definitions/uint32
required:
- compatible
- reg
- "#sound-dai-cells"
additionalProperties: false
examples:
- |
#include <dt-bindings/sound/qcom,q6afe.h>
codec@3220000 {
compatible = "qcom,sm8250-lpass-tx-macro";
reg = <0x3220000 0x1000>;
#sound-dai-cells = <1>;
#clock-cells = <0>;
clocks = <&aoncc 0>,
<&aoncc 1>,
<&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
<&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
<&vamacro>;
clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
clock-output-names = "mclk";
qcom,dmic-sample-rate = <600000>;
};

View File

@ -404,7 +404,7 @@ examples:
/* DAI base */ /* DAI base */
rcar_sound,dai { rcar_sound,dai {
dai0 { dai0 {
playback = <&ssi5 &src5>; playback = <&ssi5>, <&src5>;
capture = <&ssi6>; capture = <&ssi6>;
}; };
dai1 { dai1 {
@ -430,8 +430,8 @@ examples:
bitclock-master = <&rsnd_endpoint0>; bitclock-master = <&rsnd_endpoint0>;
frame-master = <&rsnd_endpoint0>; frame-master = <&rsnd_endpoint0>;
playback = <&ssi0 &src0 &dvc0>; playback = <&ssi0>, <&src0>, <&dvc0>;
capture = <&ssi1 &src1 &dvc1>; capture = <&ssi1>, <&src1>, <&dvc1>;
}; };
}; };
}; };

View File

@ -37,10 +37,21 @@ Optional properties:
- realtek,jd-src - realtek,jd-src
0: No JD is used 0: No JD is used
1: using JD3 as JD source 1: using JD3 as JD source
2: JD source for Intel HDA header
- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin. - realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
- realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin. - realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin.
- sound-name-prefix: Please refer to name-prefix.txt
- ports: A Codec may have a single or multiple I2S interfaces. These
interfaces on Codec side can be described under 'ports' or 'port'.
When the SoC or host device is connected to multiple interfaces of
the Codec, the connectivity can be described using 'ports' property.
If a single interface is used, then 'port' can be used. The usage
depends on the platform or board design.
Please refer to Documentation/devicetree/bindings/graph.txt
Pins on the device (for linking into audio routes) for RT5659/RT5658: Pins on the device (for linking into audio routes) for RT5659/RT5658:
* DMIC L1 * DMIC L1

View File

@ -41,14 +41,12 @@ properties:
values of 2k, 4k or 8k. If set to 0 it will be off. If this node is not values of 2k, 4k or 8k. If set to 0 it will be off. If this node is not
mentioned or if the value is unknown, then micbias resistor is set to mentioned or if the value is unknown, then micbias resistor is set to
4k. 4k.
$ref: "/schemas/types.yaml#/definitions/uint32"
enum: [ 0, 2, 4, 8 ] enum: [ 0, 2, 4, 8 ]
micbias-voltage-m-volts: micbias-voltage-m-volts:
description: The bias voltage to be used in mVolts. The voltage can take description: The bias voltage to be used in mVolts. The voltage can take
values from 1.25V to 3V by 250mV steps. If this node is not mentioned values from 1.25V to 3V by 250mV steps. If this node is not mentioned
or the value is unknown, then the value is set to 1.25V. or the value is unknown, then the value is set to 1.25V.
$ref: "/schemas/types.yaml#/definitions/uint32"
enum: [ 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000 ] enum: [ 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000 ]
lrclk-strength: lrclk-strength:

View File

@ -1,17 +0,0 @@
SiRF internal audio CODEC
Required properties:
- compatible : "sirf,atlas6-audio-codec" or "sirf,prima2-audio-codec"
- reg : the register address of the device.
- clocks: the clock of SiRF internal audio codec
Example:
audiocodec: audiocodec@b0040000 {
compatible = "sirf,atlas6-audio-codec";
reg = <0xb0040000 0x10000>;
clocks = <&clks 27>;
};

View File

@ -1,27 +0,0 @@
* SiRF SoC USP module
Required properties:
- compatible: "sirf,prima2-usp-pcm"
- reg: Base address and size entries:
- dmas: List of DMA controller phandle and DMA request line ordered pairs.
- dma-names: Identifier string for each DMA request line in the dmas property.
These strings correspond 1:1 with the ordered pairs in dmas.
One of the DMA channels will be responsible for transmission (should be
named "tx") and one for reception (should be named "rx").
- clocks: USP controller clock source
- pinctrl-names: Must contain a "default" entry.
- pinctrl-NNN: One property must exist for each entry in pinctrl-names.
Example:
usp0: usp@b0080000 {
compatible = "sirf,prima2-usp-pcm";
reg = <0xb0080000 0x10000>;
clocks = <&clks 28>;
dmas = <&dmac1 1>, <&dmac1 2>;
dma-names = "rx", "tx";
pinctrl-names = "default";
pinctrl-0 = <&usp0_only_utfs_pins_a>;
};

View File

@ -54,6 +54,10 @@ properties:
resets: resets:
maxItems: 1 maxItems: 1
"#clock-cells":
description: Configure the I2S device as MCLK clock provider.
const: 0
required: required:
- compatible - compatible
- "#sound-dai-cells" - "#sound-dai-cells"

View File

@ -9,6 +9,9 @@ Required properties:
- reg : the I2C address of the device. - reg : the I2C address of the device.
Optional properties: Optional properties:
- clocks : The clock source of the mclk
- spk-mono: This is a boolean property. If present, the SPK_MONO bit - spk-mono: This is a boolean property. If present, the SPK_MONO bit
of R51 (Class D Control 2) gets set, indicating that the speaker is of R51 (Class D Control 2) gets set, indicating that the speaker is
in mono mode. in mono mode.
@ -27,6 +30,7 @@ Example:
wm8962: codec@1a { wm8962: codec@1a {
compatible = "wlf,wm8962"; compatible = "wlf,wm8962";
reg = <0x1a>; reg = <0x1a>;
clocks = <&clks IMX6QDL_CLK_CKO>;
gpio-cfg = < gpio-cfg = <
0x0000 /* 0:Default */ 0x0000 /* 0:Default */

View File

@ -1,30 +0,0 @@
ZTE TDM DAI driver
Required properties:
- compatible : should be one of the following.
* zte,zx296718-tdm
- reg : physical base address of the controller and length of memory mapped
region.
- clocks : Pairs of phandle and specifier referencing the controller's clocks.
- clock-names: "wclk" for the wclk.
"pclk" for the pclk.
-#clock-cells: should be 1.
- zte,tdm-dma-sysctrl : Reference to the sysctrl controller controlling
the dma. includes:
phandle of sysctrl.
register offset in sysctrl for control dma.
mask of the register that be written to sysctrl.
Example:
tdm: tdm@1487000 {
compatible = "zte,zx296718-tdm";
reg = <0x01487000 0x1000>;
clocks = <&audiocrm AUDIO_TDM_WCLK>, <&audiocrm AUDIO_TDM_PCLK>;
clock-names = "wclk", "pclk";
#clock-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&tdm_global_pin>;
zte,tdm-dma-sysctrl = <&sysctrl 0x10c 4>;
};

View File

@ -1,24 +0,0 @@
ZTE ZX AUD96P22 Audio Codec
Required properties:
- compatible: Must be "zte,zx-aud96p22"
- #sound-dai-cells: Should be 0
- reg: I2C bus slave address of AUD96P22
Example:
i2c0: i2c@1486000 {
compatible = "zte,zx296718-i2c";
reg = <0x01486000 0x1000>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&audiocrm AUDIO_I2C0_WCLK>;
clock-frequency = <1600000>;
aud96p22: codec@22 {
compatible = "zte,zx-aud96p22";
#sound-dai-cells = <0>;
reg = <0x22>;
};
};

View File

@ -1,45 +0,0 @@
ZTE ZX296702 I2S controller
Required properties:
- compatible : Must be one of:
"zte,zx296718-i2s", "zte,zx296702-i2s"
"zte,zx296702-i2s"
- reg : Must contain I2S core's registers location and length
- clocks : Pairs of phandle and specifier referencing the controller's clocks.
- clock-names: "wclk" for the wclk, "pclk" for the pclk to the I2S interface.
- dmas: Pairs of phandle and specifier for the DMA channel that is used by
the core. The core expects two dma channels for transmit.
- dma-names : Must be "tx" and "rx"
For more details on the 'dma', 'dma-names', 'clock' and 'clock-names' properties
please check:
* resource-names.txt
* clock/clock-bindings.txt
* dma/dma.txt
Example:
i2s0: i2s@b005000 {
#sound-dai-cells = <0>;
compatible = "zte,zx296718-i2s", "zte,zx296702-i2s";
reg = <0x0b005000 0x1000>;
clocks = <&audiocrm AUDIO_I2S0_WCLK>, <&audiocrm AUDIO_I2S0_PCLK>;
clock-names = "wclk", "pclk";
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&dma 5>, <&dma 6>;
dma-names = "tx", "rx";
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "zx296702_snd";
simple-audio-card,format = "left_j";
simple-audio-card,bitclock-master = <&sndcodec>;
simple-audio-card,frame-master = <&sndcodec>;
sndcpu: simple-audio-card,cpu {
sound-dai = <&i2s0>;
};
sndcodec: simple-audio-card,codec {
sound-dai = <&acodec>;
};
};

View File

@ -1,27 +0,0 @@
ZTE ZX296702 SPDIF controller
Required properties:
- compatible : Must be "zte,zx296702-spdif"
- reg : Must contain SPDIF core's registers location and length
- clocks : Pairs of phandle and specifier referencing the controller's clocks.
- clock-names: "tx" for the clock to the SPDIF interface.
- dmas: Pairs of phandle and specifier for the DMA channel that is used by
the core. The core expects one dma channel for transmit.
- dma-names : Must be "tx"
For more details on the 'dma', 'dma-names', 'clock' and 'clock-names' properties
please check:
* resource-names.txt
* clock/clock-bindings.txt
* dma/dma.txt
Example:
spdif0: spdif0@b004000 {
compatible = "zte,zx296702-spdif";
reg = <0x0b004000 0x1000>;
clocks = <&lsp0clk ZX296702_SPDIF0_DIV>;
clock-names = "tx";
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&dma 4>;
dma-names = "tx";
};

View File

@ -21,6 +21,8 @@ properties:
reg: reg:
description: module registers description: module registers
ranges: true
power-domains: power-domains:
description: description:
PM domain provider node and an args specifier containing PM domain provider node and an args specifier containing
@ -62,6 +64,8 @@ properties:
'#size-cells': '#size-cells':
const: 2 const: 2
dma-coherent: true
patternProperties: patternProperties:
"^usb@": "^usb@":
type: object type: object

View File

@ -19,7 +19,6 @@ properties:
pattern: "^watchdog(@.*|-[0-9a-f])?$" pattern: "^watchdog(@.*|-[0-9a-f])?$"
timeout-sec: timeout-sec:
$ref: /schemas/types.yaml#/definitions/uint32
description: description:
Contains the watchdog timeout in seconds. Contains the watchdog timeout in seconds.

View File

@ -586,6 +586,14 @@ without significant effort.
The advantage of mounting with the "volatile" option is that all forms of The advantage of mounting with the "volatile" option is that all forms of
sync calls to the upper filesystem are omitted. sync calls to the upper filesystem are omitted.
In order to avoid a giving a false sense of safety, the syncfs (and fsync)
semantics of volatile mounts are slightly different than that of the rest of
VFS. If any writeback error occurs on the upperdir's filesystem after a
volatile mount takes place, all sync functions will return an error. Once this
condition is reached, the filesystem will not recover, and every subsequent sync
call will return an error, even if the upperdir has not experience a new error
since the last sync call.
When overlay is mounted with "volatile" option, the directory When overlay is mounted with "volatile" option, the directory
"$workdir/work/incompat/volatile" is created. During next mount, overlay "$workdir/work/incompat/volatile" is created. During next mount, overlay
checks for this directory and refuses to mount if present. This is a strong checks for this directory and refuses to mount if present. This is a strong

View File

@ -11,16 +11,13 @@ compiler [1]_. They are useful for runtime instrumentation and static analysis.
We can analyse, change and add further code during compilation via We can analyse, change and add further code during compilation via
callbacks [2]_, GIMPLE [3]_, IPA [4]_ and RTL passes [5]_. callbacks [2]_, GIMPLE [3]_, IPA [4]_ and RTL passes [5]_.
The GCC plugin infrastructure of the kernel supports all gcc versions from The GCC plugin infrastructure of the kernel supports building out-of-tree
4.5 to 6.0, building out-of-tree modules, cross-compilation and building in a modules, cross-compilation and building in a separate directory.
separate directory. Plugin source files have to be compilable by a C++ compiler.
Plugin source files have to be compilable by both a C and a C++ compiler as well
because gcc versions 4.5 and 4.6 are compiled by a C compiler,
gcc-4.7 can be compiled by a C or a C++ compiler,
and versions 4.8+ can only be compiled by a C++ compiler.
Currently the GCC plugin infrastructure supports only the x86, arm, arm64 and Currently the GCC plugin infrastructure supports only some architectures.
powerpc architectures. Grep "select HAVE_GCC_PLUGINS" to find out which architectures support
GCC plugins.
This infrastructure was ported from grsecurity [6]_ and PaX [7]_. This infrastructure was ported from grsecurity [6]_ and PaX [7]_.
@ -47,20 +44,13 @@ Files
This is a compatibility header for GCC plugins. This is a compatibility header for GCC plugins.
It should be always included instead of individual gcc headers. It should be always included instead of individual gcc headers.
**$(src)/scripts/gcc-plugin.sh**
This script checks the availability of the included headers in
gcc-common.h and chooses the proper host compiler to build the plugins
(gcc-4.7 can be built by either gcc or g++).
**$(src)/scripts/gcc-plugins/gcc-generate-gimple-pass.h, **$(src)/scripts/gcc-plugins/gcc-generate-gimple-pass.h,
$(src)/scripts/gcc-plugins/gcc-generate-ipa-pass.h, $(src)/scripts/gcc-plugins/gcc-generate-ipa-pass.h,
$(src)/scripts/gcc-plugins/gcc-generate-simple_ipa-pass.h, $(src)/scripts/gcc-plugins/gcc-generate-simple_ipa-pass.h,
$(src)/scripts/gcc-plugins/gcc-generate-rtl-pass.h** $(src)/scripts/gcc-plugins/gcc-generate-rtl-pass.h**
These headers automatically generate the registration structures for These headers automatically generate the registration structures for
GIMPLE, SIMPLE_IPA, IPA and RTL passes. They support all gcc versions GIMPLE, SIMPLE_IPA, IPA and RTL passes.
from 4.5 to 6.0.
They should be preferred to creating the structures by hand. They should be preferred to creating the structures by hand.
@ -68,21 +58,25 @@ Usage
===== =====
You must install the gcc plugin headers for your gcc version, You must install the gcc plugin headers for your gcc version,
e.g., on Ubuntu for gcc-4.9:: e.g., on Ubuntu for gcc-10::
apt-get install gcc-4.9-plugin-dev apt-get install gcc-10-plugin-dev
Or on Fedora:: Or on Fedora::
dnf install gcc-plugin-devel dnf install gcc-plugin-devel
Enable a GCC plugin based feature in the kernel config:: Enable the GCC plugin infrastructure and some plugin(s) you want to use
in the kernel config::
CONFIG_GCC_PLUGIN_CYC_COMPLEXITY = y CONFIG_GCC_PLUGINS=y
CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=y
CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
...
To compile only the plugin(s):: To compile the minimum tool set including the plugin(s)::
make gcc-plugins make scripts
or just run the kernel make and compile the whole kernel with or just run the kernel make and compile the whole kernel with
the cyclomatic complexity GCC plugin. the cyclomatic complexity GCC plugin.
@ -91,7 +85,8 @@ the cyclomatic complexity GCC plugin.
4. How to add a new GCC plugin 4. How to add a new GCC plugin
============================== ==============================
The GCC plugins are in $(src)/scripts/gcc-plugins/. You can use a file or a directory The GCC plugins are in scripts/gcc-plugins/. You need to put plugin source files
here. It must be added to $(src)/scripts/gcc-plugins/Makefile, right under scripts/gcc-plugins/. Creating subdirectories is not supported.
$(src)/scripts/Makefile.gcc-plugins and $(src)/arch/Kconfig. It must be added to scripts/gcc-plugins/Makefile, scripts/Makefile.gcc-plugins
and a relevant Kconfig file.
See the cyc_complexity_plugin.c (CONFIG_GCC_PLUGIN_CYC_COMPLEXITY) GCC plugin. See the cyc_complexity_plugin.c (CONFIG_GCC_PLUGIN_CYC_COMPLEXITY) GCC plugin.

View File

@ -63,6 +63,50 @@ They can be enabled individually. The full list of the parameters: ::
Currently, the integrated assembler is disabled by default. You can pass Currently, the integrated assembler is disabled by default. You can pass
``LLVM_IAS=1`` to enable it. ``LLVM_IAS=1`` to enable it.
Supported Architectures
-----------------------
LLVM does not target all of the architectures that Linux supports and
just because a target is supported in LLVM does not mean that the kernel
will build or work without any issues. Below is a general summary of
architectures that currently work with ``CC=clang`` or ``LLVM=1``. Level
of support corresponds to "S" values in the MAINTAINERS files. If an
architecture is not present, it either means that LLVM does not target
it or there are known issues. Using the latest stable version of LLVM or
even the development tree will generally yield the best results.
An architecture's ``defconfig`` is generally expected to work well,
certain configurations may have problems that have not been uncovered
yet. Bug reports are always welcome at the issue tracker below!
.. list-table::
:widths: 10 10 10
:header-rows: 1
* - Architecture
- Level of support
- ``make`` command
* - arm
- Supported
- ``LLVM=1``
* - arm64
- Supported
- ``LLVM=1``
* - mips
- Maintained
- ``CC=clang``
* - powerpc
- Maintained
- ``CC=clang``
* - riscv
- Maintained
- ``CC=clang``
* - s390
- Maintained
- ``CC=clang``
* - x86
- Supported
- ``LLVM=1``
Getting Help Getting Help
------------ ------------

View File

@ -755,7 +755,7 @@ more details, with real examples.
bits on the scripts nonetheless. bits on the scripts nonetheless.
Kbuild provides variables $(CONFIG_SHELL), $(AWK), $(PERL), Kbuild provides variables $(CONFIG_SHELL), $(AWK), $(PERL),
$(PYTHON) and $(PYTHON3) to refer to interpreters for the respective and $(PYTHON3) to refer to interpreters for the respective
scripts. scripts.
Example:: Example::

View File

@ -1196,7 +1196,7 @@ icmp_errors_use_inbound_ifaddr - BOOLEAN
If non-zero, the message will be sent with the primary address of If non-zero, the message will be sent with the primary address of
the interface that received the packet that caused the icmp error. the interface that received the packet that caused the icmp error.
This is the behaviour network many administrators will expect from This is the behaviour many network administrators will expect from
a router. And it can make debugging complicated network layouts a router. And it can make debugging complicated network layouts
much easier. much easier.
@ -1807,12 +1807,24 @@ seg6_flowlabel - INTEGER
``conf/default/*``: ``conf/default/*``:
Change the interface-specific default settings. Change the interface-specific default settings.
These settings would be used during creating new interfaces.
``conf/all/*``: ``conf/all/*``:
Change all the interface-specific settings. Change all the interface-specific settings.
[XXX: Other special features than forwarding?] [XXX: Other special features than forwarding?]
conf/all/disable_ipv6 - BOOLEAN
Changing this value is same as changing ``conf/default/disable_ipv6``
setting and also all per-interface ``disable_ipv6`` settings to the same
value.
Reading this value does not have any particular meaning. It does not say
whether IPv6 support is enabled or disabled. Returned value can be 1
also in the case when some interface has ``disable_ipv6`` set to 0 and
has configured IPv6 addresses.
conf/all/forwarding - BOOLEAN conf/all/forwarding - BOOLEAN
Enable global IPv6 forwarding between all interfaces. Enable global IPv6 forwarding between all interfaces.

View File

@ -534,3 +534,6 @@ offload. Hence, TLS TX device feature flag requires TX csum offload being set.
Disabling the latter implies clearing the former. Disabling TX checksum offload Disabling the latter implies clearing the former. Disabling TX checksum offload
should not affect old connections, and drivers should make sure checksum should not affect old connections, and drivers should make sure checksum
calculation does not break for them. calculation does not break for them.
Similarly, device-offloaded TLS decryption implies doing RXCSUM. If the user
does not want to enable RX csum offload, TLS RX device feature is disabled
as well.

View File

@ -360,10 +360,9 @@ since the last call to this ioctl. Bit 0 is the first page in the
memory slot. Ensure the entire structure is cleared to avoid padding memory slot. Ensure the entire structure is cleared to avoid padding
issues. issues.
If KVM_CAP_MULTI_ADDRESS_SPACE is available, bits 16-31 specifies If KVM_CAP_MULTI_ADDRESS_SPACE is available, bits 16-31 of slot field specifies
the address space for which you want to return the dirty bitmap. the address space for which you want to return the dirty bitmap. See
They must be less than the value that KVM_CHECK_EXTENSION returns for KVM_SET_USER_MEMORY_REGION for details on the usage of slot field.
the KVM_CAP_MULTI_ADDRESS_SPACE capability.
The bits in the dirty bitmap are cleared before the ioctl returns, unless The bits in the dirty bitmap are cleared before the ioctl returns, unless
KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is enabled. For more information, KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is enabled. For more information,
@ -1281,6 +1280,9 @@ field userspace_addr, which must point at user addressable memory for
the entire memory slot size. Any object may back this memory, including the entire memory slot size. Any object may back this memory, including
anonymous memory, ordinary files, and hugetlbfs. anonymous memory, ordinary files, and hugetlbfs.
On architectures that support a form of address tagging, userspace_addr must
be an untagged address.
It is recommended that the lower 21 bits of guest_phys_addr and userspace_addr It is recommended that the lower 21 bits of guest_phys_addr and userspace_addr
be identical. This allows large pages in the guest to be backed by large be identical. This allows large pages in the guest to be backed by large
pages in the host. pages in the host.
@ -1333,7 +1335,7 @@ documentation when it pops into existence).
:Capability: KVM_CAP_ENABLE_CAP_VM :Capability: KVM_CAP_ENABLE_CAP_VM
:Architectures: all :Architectures: all
:Type: vcpu ioctl :Type: vm ioctl
:Parameters: struct kvm_enable_cap (in) :Parameters: struct kvm_enable_cap (in)
:Returns: 0 on success; -1 on error :Returns: 0 on success; -1 on error
@ -4432,7 +4434,7 @@ to I/O ports.
:Capability: KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 :Capability: KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
:Architectures: x86, arm, arm64, mips :Architectures: x86, arm, arm64, mips
:Type: vm ioctl :Type: vm ioctl
:Parameters: struct kvm_dirty_log (in) :Parameters: struct kvm_clear_dirty_log (in)
:Returns: 0 on success, -1 on error :Returns: 0 on success, -1 on error
:: ::
@ -4459,10 +4461,9 @@ in KVM's dirty bitmap, and dirty tracking is re-enabled for that page
(for example via write-protection, or by clearing the dirty bit in (for example via write-protection, or by clearing the dirty bit in
a page table entry). a page table entry).
If KVM_CAP_MULTI_ADDRESS_SPACE is available, bits 16-31 specifies If KVM_CAP_MULTI_ADDRESS_SPACE is available, bits 16-31 of slot field specifies
the address space for which you want to return the dirty bitmap. the address space for which you want to clear the dirty status. See
They must be less than the value that KVM_CHECK_EXTENSION returns for KVM_SET_USER_MEMORY_REGION for details on the usage of slot field.
the KVM_CAP_MULTI_ADDRESS_SPACE capability.
This ioctl is mostly useful when KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 This ioctl is mostly useful when KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
is enabled; for more information, see the description of the capability. is enabled; for more information, see the description of the capability.

View File

@ -37,8 +37,10 @@ call L2.
Running nested VMX Running nested VMX
------------------ ------------------
The nested VMX feature is disabled by default. It can be enabled by giving The nested VMX feature is enabled by default since Linux kernel v4.20. For
the "nested=1" option to the kvm-intel module. older Linux kernel, it can be enabled by giving the "nested=1" option to the
kvm-intel module.
No modifications are required to user space (qemu). However, qemu's default No modifications are required to user space (qemu). However, qemu's default
emulated CPU type (qemu64) does not list the "VMX" CPU feature, so it must be emulated CPU type (qemu64) does not list the "VMX" CPU feature, so it must be

View File

@ -74,7 +74,7 @@ few:
Enabling "nested" (x86) Enabling "nested" (x86)
----------------------- -----------------------
From Linux kernel v4.19 onwards, the ``nested`` KVM parameter is enabled From Linux kernel v4.20 onwards, the ``nested`` KVM parameter is enabled
by default for Intel and AMD. (Though your Linux distribution might by default for Intel and AMD. (Though your Linux distribution might
override this default.) override this default.)

View File

@ -2616,8 +2616,8 @@ S: Maintained
F: drivers/power/reset/keystone-reset.c F: drivers/power/reset/keystone-reset.c
ARM/TEXAS INSTRUMENTS K3 ARCHITECTURE ARM/TEXAS INSTRUMENTS K3 ARCHITECTURE
M: Tero Kristo <t-kristo@ti.com>
M: Nishanth Menon <nm@ti.com> M: Nishanth Menon <nm@ti.com>
M: Tero Kristo <kristo@kernel.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Supported S: Supported
F: Documentation/devicetree/bindings/arm/ti/k3.yaml F: Documentation/devicetree/bindings/arm/ti/k3.yaml
@ -3239,6 +3239,7 @@ L: netdev@vger.kernel.org
S: Supported S: Supported
W: http://sourceforge.net/projects/bonding/ W: http://sourceforge.net/projects/bonding/
F: drivers/net/bonding/ F: drivers/net/bonding/
F: include/net/bonding.h
F: include/uapi/linux/if_bonding.h F: include/uapi/linux/if_bonding.h
BOSCH SENSORTEC BMA400 ACCELEROMETER IIO DRIVER BOSCH SENSORTEC BMA400 ACCELEROMETER IIO DRIVER
@ -3334,7 +3335,7 @@ F: arch/riscv/net/
X: arch/riscv/net/bpf_jit_comp64.c X: arch/riscv/net/bpf_jit_comp64.c
BPF JIT for RISC-V (64-bit) BPF JIT for RISC-V (64-bit)
M: Björn Töpel <bjorn.topel@gmail.com> M: Björn Töpel <bjorn@kernel.org>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
L: bpf@vger.kernel.org L: bpf@vger.kernel.org
S: Maintained S: Maintained
@ -3411,7 +3412,7 @@ F: Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
F: drivers/pci/controller/pcie-brcmstb.c F: drivers/pci/controller/pcie-brcmstb.c
F: drivers/staging/vc04_services F: drivers/staging/vc04_services
N: bcm2711 N: bcm2711
N: bcm2835 N: bcm283*
BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE
M: Florian Fainelli <f.fainelli@gmail.com> M: Florian Fainelli <f.fainelli@gmail.com>
@ -3879,7 +3880,7 @@ F: Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt
F: drivers/mtd/nand/raw/cadence-nand-controller.c F: drivers/mtd/nand/raw/cadence-nand-controller.c
CADENCE USB3 DRD IP DRIVER CADENCE USB3 DRD IP DRIVER
M: Peter Chen <peter.chen@nxp.com> M: Peter Chen <peter.chen@kernel.org>
M: Pawel Laszczak <pawell@cadence.com> M: Pawel Laszczak <pawell@cadence.com>
R: Roger Quadros <rogerq@kernel.org> R: Roger Quadros <rogerq@kernel.org>
R: Aswath Govindraju <a-govindraju@ti.com> R: Aswath Govindraju <a-govindraju@ti.com>
@ -4161,7 +4162,7 @@ S: Maintained
F: Documentation/translations/zh_CN/ F: Documentation/translations/zh_CN/
CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER
M: Peter Chen <Peter.Chen@nxp.com> M: Peter Chen <peter.chen@kernel.org>
L: linux-usb@vger.kernel.org L: linux-usb@vger.kernel.org
S: Maintained S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
@ -4303,7 +4304,7 @@ S: Maintained
F: .clang-format F: .clang-format
CLANG/LLVM BUILD SUPPORT CLANG/LLVM BUILD SUPPORT
M: Nathan Chancellor <natechancellor@gmail.com> M: Nathan Chancellor <nathan@kernel.org>
M: Nick Desaulniers <ndesaulniers@google.com> M: Nick Desaulniers <ndesaulniers@google.com>
L: clang-built-linux@googlegroups.com L: clang-built-linux@googlegroups.com
S: Supported S: Supported
@ -4311,7 +4312,9 @@ W: https://clangbuiltlinux.github.io/
B: https://github.com/ClangBuiltLinux/linux/issues B: https://github.com/ClangBuiltLinux/linux/issues
C: irc://chat.freenode.net/clangbuiltlinux C: irc://chat.freenode.net/clangbuiltlinux
F: Documentation/kbuild/llvm.rst F: Documentation/kbuild/llvm.rst
F: include/linux/compiler-clang.h
F: scripts/clang-tools/ F: scripts/clang-tools/
F: scripts/clang-version.sh
F: scripts/lld-version.sh F: scripts/lld-version.sh
K: \b(?i:clang|llvm)\b K: \b(?i:clang|llvm)\b
@ -6471,9 +6474,9 @@ S: Maintained
F: drivers/edac/skx_*.[ch] F: drivers/edac/skx_*.[ch]
EDAC-TI EDAC-TI
M: Tero Kristo <t-kristo@ti.com> M: Tero Kristo <kristo@kernel.org>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
S: Maintained S: Odd Fixes
F: drivers/edac/ti_edac.c F: drivers/edac/ti_edac.c
EDIROL UA-101/UA-1000 DRIVER EDIROL UA-101/UA-1000 DRIVER
@ -8431,11 +8434,8 @@ F: drivers/i3c/
F: include/linux/i3c/ F: include/linux/i3c/
IA64 (Itanium) PLATFORM IA64 (Itanium) PLATFORM
M: Tony Luck <tony.luck@intel.com>
M: Fenghua Yu <fenghua.yu@intel.com>
L: linux-ia64@vger.kernel.org L: linux-ia64@vger.kernel.org
S: Odd Fixes S: Orphan
T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git
F: Documentation/ia64/ F: Documentation/ia64/
F: arch/ia64/ F: arch/ia64/
@ -12413,6 +12413,7 @@ F: tools/testing/selftests/net/ipsec.c
NETWORKING [IPv4/IPv6] NETWORKING [IPv4/IPv6]
M: "David S. Miller" <davem@davemloft.net> M: "David S. Miller" <davem@davemloft.net>
M: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> M: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
M: David Ahern <dsahern@kernel.org>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Maintained S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
@ -17571,7 +17572,7 @@ F: include/linux/dma/k3-psil.h
TEXAS INSTRUMENTS' SYSTEM CONTROL INTERFACE (TISCI) PROTOCOL DRIVER TEXAS INSTRUMENTS' SYSTEM CONTROL INTERFACE (TISCI) PROTOCOL DRIVER
M: Nishanth Menon <nm@ti.com> M: Nishanth Menon <nm@ti.com>
M: Tero Kristo <t-kristo@ti.com> M: Tero Kristo <kristo@kernel.org>
M: Santosh Shilimkar <ssantosh@kernel.org> M: Santosh Shilimkar <ssantosh@kernel.org>
L: linux-arm-kernel@lists.infradead.org L: linux-arm-kernel@lists.infradead.org
S: Maintained S: Maintained
@ -17715,9 +17716,9 @@ S: Maintained
F: drivers/clk/clk-cdce706.c F: drivers/clk/clk-cdce706.c
TI CLOCK DRIVER TI CLOCK DRIVER
M: Tero Kristo <t-kristo@ti.com> M: Tero Kristo <kristo@kernel.org>
L: linux-omap@vger.kernel.org L: linux-omap@vger.kernel.org
S: Maintained S: Odd Fixes
F: drivers/clk/ti/ F: drivers/clk/ti/
F: include/linux/clk/ti.h F: include/linux/clk/ti.h
@ -18420,7 +18421,7 @@ F: Documentation/usb/ohci.rst
F: drivers/usb/host/ohci* F: drivers/usb/host/ohci*
USB OTG FSM (Finite State Machine) USB OTG FSM (Finite State Machine)
M: Peter Chen <Peter.Chen@nxp.com> M: Peter Chen <peter.chen@kernel.org>
L: linux-usb@vger.kernel.org L: linux-usb@vger.kernel.org
S: Maintained S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
@ -19424,7 +19425,7 @@ F: drivers/net/ethernet/*/*/*xdp*
K: (?:\b|_)xdp(?:\b|_) K: (?:\b|_)xdp(?:\b|_)
XDP SOCKETS (AF_XDP) XDP SOCKETS (AF_XDP)
M: Björn Töpel <bjorn.topel@intel.com> M: Björn Töpel <bjorn@kernel.org>
M: Magnus Karlsson <magnus.karlsson@intel.com> M: Magnus Karlsson <magnus.karlsson@intel.com>
R: Jonathan Lemon <jonathan.lemon@gmail.com> R: Jonathan Lemon <jonathan.lemon@gmail.com>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org

View File

@ -2,7 +2,7 @@
VERSION = 5 VERSION = 5
PATCHLEVEL = 11 PATCHLEVEL = 11
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc4 EXTRAVERSION = -rc7
NAME = Kleptomaniac Octopus NAME = Kleptomaniac Octopus
# *DOCUMENTATION* # *DOCUMENTATION*
@ -452,7 +452,6 @@ AWK = awk
INSTALLKERNEL := installkernel INSTALLKERNEL := installkernel
DEPMOD = depmod DEPMOD = depmod
PERL = perl PERL = perl
PYTHON = python
PYTHON3 = python3 PYTHON3 = python3
CHECK = sparse CHECK = sparse
BASH = bash BASH = bash
@ -508,7 +507,7 @@ CLANG_FLAGS :=
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
@ -812,10 +811,12 @@ KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
endif endif
DEBUG_CFLAGS :=
# Workaround for GCC versions < 5.0 # Workaround for GCC versions < 5.0
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
ifdef CONFIG_CC_IS_GCC ifdef CONFIG_CC_IS_GCC
DEBUG_CFLAGS := $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments)) DEBUG_CFLAGS += $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments))
endif endif
ifdef CONFIG_DEBUG_INFO ifdef CONFIG_DEBUG_INFO
@ -948,12 +949,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
# change __FILE__ to the relative path from the srctree # change __FILE__ to the relative path from the srctree
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=) KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
# ensure -fcf-protection is disabled when using retpoline as it is
# incompatible with -mindirect-branch=thunk-extern
ifdef CONFIG_RETPOLINE
KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
endif
# include additional Makefiles when needed # include additional Makefiles when needed
include-y := scripts/Makefile.extrawarn include-y := scripts/Makefile.extrawarn
include-$(CONFIG_KASAN) += scripts/Makefile.kasan include-$(CONFIG_KASAN) += scripts/Makefile.kasan

View File

@ -15,7 +15,8 @@ static int node_offset(void *fdt, const char *node_path)
{ {
int offset = fdt_path_offset(fdt, node_path); int offset = fdt_path_offset(fdt, node_path);
if (offset == -FDT_ERR_NOTFOUND) if (offset == -FDT_ERR_NOTFOUND)
offset = fdt_add_subnode(fdt, 0, node_path); /* Add the node to root if not found, dropping the leading '/' */
offset = fdt_add_subnode(fdt, 0, node_path + 1);
return offset; return offset;
} }

View File

@ -16,6 +16,13 @@
stdout-path = &uart1; stdout-path = &uart1;
}; };
aliases {
mmc0 = &usdhc2;
mmc1 = &usdhc3;
mmc2 = &usdhc4;
/delete-property/ mmc3;
};
memory@10000000 { memory@10000000 {
device_type = "memory"; device_type = "memory";
reg = <0x10000000 0x80000000>; reg = <0x10000000 0x80000000>;

View File

@ -418,7 +418,7 @@
/* VDD_AUD_1P8: Audio codec */ /* VDD_AUD_1P8: Audio codec */
reg_aud_1p8v: ldo3 { reg_aud_1p8v: ldo3 {
regulator-name = "vdd1p8"; regulator-name = "vdd1p8a";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-boot-on; regulator-boot-on;

View File

@ -137,7 +137,7 @@
lcd_backlight: lcd-backlight { lcd_backlight: lcd-backlight {
compatible = "pwm-backlight"; compatible = "pwm-backlight";
pwms = <&pwm4 0 5000000>; pwms = <&pwm4 0 5000000 0>;
pwm-names = "LCD_BKLT_PWM"; pwm-names = "LCD_BKLT_PWM";
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
@ -167,7 +167,7 @@
i2c-gpio,delay-us = <2>; /* ~100 kHz */ i2c-gpio,delay-us = <2>; /* ~100 kHz */
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
status = "disabld"; status = "disabled";
}; };
i2c_cam: i2c-gpio-cam { i2c_cam: i2c-gpio-cam {
@ -179,7 +179,7 @@
i2c-gpio,delay-us = <2>; /* ~100 kHz */ i2c-gpio,delay-us = <2>; /* ~100 kHz */
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
status = "disabld"; status = "disabled";
}; };
}; };

View File

@ -53,7 +53,6 @@
&fec { &fec {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_microsom_enet_ar8035>; pinctrl-0 = <&pinctrl_microsom_enet_ar8035>;
phy-handle = <&phy>;
phy-mode = "rgmii-id"; phy-mode = "rgmii-id";
phy-reset-duration = <2>; phy-reset-duration = <2>;
phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
@ -63,10 +62,19 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
phy: ethernet-phy@0 { /*
* The PHY can appear at either address 0 or 4 due to the
* configuration (LED) pin not being pulled sufficiently.
*/
ethernet-phy@0 {
reg = <0>; reg = <0>;
qca,clk-out-frequency = <125000000>; qca,clk-out-frequency = <125000000>;
}; };
ethernet-phy@4 {
reg = <4>;
qca,clk-out-frequency = <125000000>;
};
}; };
}; };

View File

@ -115,6 +115,7 @@
compatible = "nxp,pcf2127"; compatible = "nxp,pcf2127";
reg = <0>; reg = <0>;
spi-max-frequency = <2000000>; spi-max-frequency = <2000000>;
reset-source;
}; };
}; };

View File

@ -326,9 +326,6 @@
clocks = <&xtal_32k>, <&xtal>; clocks = <&xtal_32k>, <&xtal>;
clock-names = "xtal_32k", "xtal"; clock-names = "xtal_32k", "xtal";
assigned-clocks = <&clk LPC32XX_CLK_HCLK_PLL>;
assigned-clock-rates = <208000000>;
}; };
}; };

View File

@ -114,7 +114,7 @@
gpio-sck = <&gpio1 12 GPIO_ACTIVE_HIGH>; gpio-sck = <&gpio1 12 GPIO_ACTIVE_HIGH>;
gpio-miso = <&gpio1 18 GPIO_ACTIVE_HIGH>; gpio-miso = <&gpio1 18 GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpio1 20 GPIO_ACTIVE_HIGH>; gpio-mosi = <&gpio1 20 GPIO_ACTIVE_HIGH>;
cs-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>; cs-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
num-chipselects = <1>; num-chipselects = <1>;
/* lcd panel */ /* lcd panel */
@ -124,7 +124,6 @@
spi-max-frequency = <100000>; spi-max-frequency = <100000>;
spi-cpol; spi-cpol;
spi-cpha; spi-cpha;
spi-cs-high;
backlight= <&backlight>; backlight= <&backlight>;
label = "lcd"; label = "lcd";

View File

@ -16,8 +16,13 @@
debounce-interval = <10>; debounce-interval = <10>;
}; };
/*
* We use pad 0x4a100116 abe_dmic_din3.gpio_122 as the irq instead
* of the gpio interrupt to avoid lost events in deeper idle states.
*/
slider { slider {
label = "Keypad Slide"; label = "Keypad Slide";
interrupts-extended = <&omap4_pmx_core 0xd6>;
gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */ gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */
linux,input-type = <EV_SW>; linux,input-type = <EV_SW>;
linux,code = <SW_KEYPAD_SLIDE>; linux,code = <SW_KEYPAD_SLIDE>;

View File

@ -12,4 +12,42 @@
200000 0>; 200000 0>;
}; };
}; };
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
/* Modem trace memory */
ram@06000000 {
reg = <0x06000000 0x00f00000>;
no-map;
};
/* Modem shared memory */
ram@06f00000 {
reg = <0x06f00000 0x00100000>;
no-map;
};
/* Modem private memory */
ram@07000000 {
reg = <0x07000000 0x01000000>;
no-map;
};
/*
* Initial Secure Software ISSW memory
*
* This is probably only used if the kernel tries
* to actually call into trustzone to run secure
* applications, which the mainline kernel probably
* will not do on this old chipset. But you can never
* be too careful, so reserve this memory anyway.
*/
ram@17f00000 {
reg = <0x17f00000 0x00100000>;
no-map;
};
};
}; };

View File

@ -12,4 +12,42 @@
200000 0>; 200000 0>;
}; };
}; };
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
/* Modem trace memory */
ram@06000000 {
reg = <0x06000000 0x00f00000>;
no-map;
};
/* Modem shared memory */
ram@06f00000 {
reg = <0x06f00000 0x00100000>;
no-map;
};
/* Modem private memory */
ram@07000000 {
reg = <0x07000000 0x01000000>;
no-map;
};
/*
* Initial Secure Software ISSW memory
*
* This is probably only used if the kernel tries
* to actually call into trustzone to run secure
* applications, which the mainline kernel probably
* will not do on this old chipset. But you can never
* be too careful, so reserve this memory anyway.
*/
ram@17f00000 {
reg = <0x17f00000 0x00100000>;
no-map;
};
};
}; };

View File

@ -0,0 +1,35 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "ste-dbx5x0.dtsi"
/ {
cpus {
cpu@300 {
/* cpufreq controls */
operating-points = <1152000 0
800000 0
400000 0
200000 0>;
};
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
/*
* Initial Secure Software ISSW memory
*
* This is probably only used if the kernel tries
* to actually call into trustzone to run secure
* applications, which the mainline kernel probably
* will not do on this old chipset. But you can never
* be too careful, so reserve this memory anyway.
*/
ram@17f00000 {
reg = <0x17f00000 0x00100000>;
no-map;
};
};
};

View File

@ -4,7 +4,7 @@
*/ */
/dts-v1/; /dts-v1/;
#include "ste-db8500.dtsi" #include "ste-db9500.dtsi"
#include "ste-href-ab8500.dtsi" #include "ste-href-ab8500.dtsi"
#include "ste-href-family-pinctrl.dtsi" #include "ste-href-family-pinctrl.dtsi"

View File

@ -33,9 +33,9 @@
* during TX anyway and that it only controls drive enable DE * during TX anyway and that it only controls drive enable DE
* line. Hence, the RX is always enabled here. * line. Hence, the RX is always enabled here.
*/ */
rs485-rx-en { rs485-rx-en-hog {
gpio-hog; gpio-hog;
gpios = <8 GPIO_ACTIVE_HIGH>; gpios = <8 0>;
output-low; output-low;
line-name = "rs485-rx-en"; line-name = "rs485-rx-en";
}; };
@ -61,9 +61,9 @@
* order to reset the Hub when USB bus is powered down, but * order to reset the Hub when USB bus is powered down, but
* so far there is no such functionality. * so far there is no such functionality.
*/ */
usb-hub { usb-hub-hog {
gpio-hog; gpio-hog;
gpios = <2 GPIO_ACTIVE_HIGH>; gpios = <2 0>;
output-high; output-high;
line-name = "usb-hub-reset"; line-name = "usb-hub-reset";
}; };
@ -87,6 +87,12 @@
}; };
}; };
&i2c4 {
touchscreen@49 {
status = "disabled";
};
};
&i2c5 { /* TP7/TP8 */ &i2c5 { /* TP7/TP8 */
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2c5_pins_a>; pinctrl-0 = <&i2c5_pins_a>;
@ -104,7 +110,7 @@
* are used for on-board microSD slot instead. * are used for on-board microSD slot instead.
*/ */
/delete-property/broken-cd; /delete-property/broken-cd;
cd-gpios = <&gpioi 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; cd-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>;
disable-wp; disable-wp;
}; };

View File

@ -43,9 +43,9 @@
* in order to turn on port power when USB bus is powered up, but so * in order to turn on port power when USB bus is powered up, but so
* far there is no such functionality. * far there is no such functionality.
*/ */
usb-port-power { usb-port-power-hog {
gpio-hog; gpio-hog;
gpios = <13 GPIO_ACTIVE_LOW>; gpios = <13 0>;
output-low; output-low;
line-name = "usb-port-power"; line-name = "usb-port-power";
}; };

View File

@ -390,7 +390,8 @@
pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
broken-cd; cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
disable-wp;
st,sig-dir; st,sig-dir;
st,neg-edge; st,neg-edge;
st,use-ckin; st,use-ckin;

View File

@ -110,7 +110,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>; pinctrl-0 = <&gmac_rgmii_pins>;
phy-handle = <&phy1>; phy-handle = <&phy1>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
phy-supply = <&reg_gmac_3v3>; phy-supply = <&reg_gmac_3v3>;
status = "okay"; status = "okay";
}; };

View File

@ -0,0 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ARM_KEXEC_INTERNAL_H
#define _ARM_KEXEC_INTERNAL_H
struct kexec_relocate_data {
unsigned long kexec_start_address;
unsigned long kexec_indirection_page;
unsigned long kexec_mach_type;
unsigned long kexec_r2;
};
#endif

Some files were not shown because too many files have changed in this diff Show More