Lines Matching +full:devicetree +full:- +full:org

1 .. SPDX-License-Identifier: GPL-2.0
8 --------
10 The SoC subsystem is a place of aggregation for SoC-specific code.
13 * devicetrees for 32- & 64-bit ARM and RISC-V
14 * 32-bit ARM board files (arch/arm/mach*)
15 * 32- & 64-bit ARM defconfigs
16 * SoC-specific drivers across architectures, in particular for 32- & 64-bit
17 ARM, RISC-V and Loongarch
19 These "SoC-specific drivers" do not include clock, GPIO etc drivers that have
20 other top-level maintainers. The drivers/soc/ directory is generally meant
21 for kernel-internal drivers that are used by other drivers to provide SoC-
30 The main SoC tree is housed on git.kernel.org:
31 https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git/
34 -----------
51 What the SoC tree is not, however, is a location for architecture-specific code
59 (platform-specific maintainers). This includes also changes to per-platform or
66 The main SoC maintainers can be reached via the alias soc@kernel.org only in
69 1. There are no platform-specific maintainers.
71 2. Platform-specific maintainers are unresponsive.
76 soc@kernel.org in one patchset containing new arch/foo/Kconfig entry, DTS
78 Devicetree bindings. The MAINTAINERS file entry should list new
79 platform-specific maintainers, who are going to be responsible for handling
82 Note that the soc@kernel.org is usually not the place to discuss the patches,
87 ------------------------------------
93 Devicetree ABI Stability
96 Perhaps one of the most important things to highlight is that dt-bindings
97 document the ABI between the devicetree and the kernel.
98 Please read Documentation/devicetree/bindings/ABI.rst.
100 If changes are being made to a devicetree that are incompatible with old
101 kernels, the devicetree patch should not be applied until the driver is, or an
110 A common problem is synchronizing changes between device drivers and devicetree
115 corresponding change to the devicetree binding description, to ensure they are
116 in fact compatible. This means that the devicetree branch can end up causing
117 warnings in the "make dtbs_check" step. If a devicetree change depends on
118 missing additions to a header file in include/dt-bindings/, it will fail the
123 * Avoid defining custom macros in include/dt-bindings/ for hardware constants
124 that can be derived from a datasheet -- binding macros in header files should
127 * Use literal values in the devicetree file in place of macros even when a
131 * Defer the devicetree changes to a release after the binding and driver have
135 both the driver change and the devicetree changes
137 * Add duplicate defines in the devicetree file guarded by an #ifndef section,
140 Devicetree Naming Convention
143 The general naming scheme for devicetree files is as follows. The aspects of a
146 from board to board, are described in $soc-$board.dts. An example of this is
147 jh7100-beaglev-starlight.dts. Often many boards are variations on a theme, and
148 frequently there are intermediate files, such as jh7100-common.dtsi, which sit
149 between the $soc.dtsi and $soc-$board.dts files, containing the descriptions of
153 integrated into several different boards. For these platforms, $soc-$som.dtsi
154 and $soc-$som-$board.dts are typical.
159 Validating Devicetree Files
162 ``make dtbs_check`` can be used to validate that devicetree files are compliant
163 with the dt-bindings that describe the ABI. Please read the section
164 "Running checks" of Documentation/devicetree/bindings/writing-schema.rst for
168 add any new warnings. For RISC-V and Samsung SoC, ``make dtbs_check W=1`` is
170 If in any doubt about a devicetree change, reach out to the devicetree
177 submaintainers will do the same. Driver, defconfig and devicetree changes should
182 Small sets of patches can also be sent as separate emails to soc@kernel.org,
186 top-level branches, e.g. for a treewide rework, or the addition of new SoC
191 SoC tree. An example here would be one branch for devicetree warning fixes, one
199 While there is no cut-off time for late pull requests, it helps to only send
209 requests, please see Documentation/maintainer/pull-requests.rst.