Lines Matching +full:board +full:- +full:specific

1 .. SPDX-License-Identifier: GPL-2.0
44 ----------
56 In 2005, when PowerPC Linux began a major cleanup and to merge 32-bit
57 and 64-bit support, the decision was made to require DT support on all
61 blob without requiring a real Open Firmware implementation. U-Boot,
66 existing non-DT aware firmware.
74 -------------
79 -------------------
84 hardware configuration from the board and device driver support in the
86 it allows board and device support to become data driven; to make
88 per-machine hard coded selections.
101 ---------------------------
103 specific machine. In a perfect world, the specific platform shouldn't
108 machine-specific fixups.
125 successor, the BeagleBoard xM board might look like, respectively::
127 compatible = "ti,omap3-beagleboard", "ti,omap3450", "ti,omap3";
128 compatible = "ti,omap3-beagleboard-xm", "ti,omap3450", "ti,omap3";
130 Where "ti,omap3-beagleboard-xm" specifies the exact model, it also
133 specific (exact board) to least specific (SoC family).
136 compatibility with the original Beagle board. However, one should be
137 cautioned about doing so at the board level since there is typically a
138 high level of change from one board to another, even within the same
140 board claims to be compatible with another. For the top level, it is
141 better to err on the side of caution and not claim one board is
143 board is a carrier for another, such as a CPU module attached to a
144 carrier board.
161 invariably there will be some exceptions where a specific board will
164 troublesome board(s) in generic setup code, but doing so very quickly
171 generic board support can claim compatibility with "ti,omap3" or
175 matches on "ti,omap3-beagleboard".
184 -------------------------
195 initrd-start = <0xc8000000>;
196 initrd-end = <0xc8200000>;
199 The bootargs property contains the kernel arguments, and the initrd-*
201 initrd-end is the first address after the initrd image, so this doesn't
204 platform-specific configuration data.
218 that supports the board.
221 ---------------------
222 After the board has been identified, and after the early configuration data
226 This is also when machine-specific setup hooks will get called, like
232 As can be guessed by the names, .init_early() is used for any machine-
233 specific setup that needs to be executed early in the boot process,
244 platform_devices, and other data in the board support .c file, and
245 registering it en-masse in .init_machine(). When DT is used, then
259 device tree for the NVIDIA Tegra board::
263 #address-cells = <1>;
264 #size-cells = <1>;
265 interrupt-parent = <&intc>;
276 compatible = "nvidia,tegra20-soc", "simple-bus";
277 #address-cells = <1>;
278 #size-cells = <1>;
281 intc: interrupt-controller@50041000 {
282 compatible = "nvidia,tegra20-gic";
283 interrupt-controller;
284 #interrupt-cells = <1>;
289 compatible = "nvidia,tegra20-uart";
295 compatible = "nvidia,tegra20-i2s";
302 compatible = "nvidia,tegra20-i2c";
303 #address-cells = <1>;
304 #size-cells = <0>;
317 compatible = "nvidia,harmony-sound";
318 i2s-controller = <&i2s1>;
319 i2s-codec = <&wm8903>;
323 At .init_machine() time, Tegra board support code will need to look at
333 because I'm familiar with the board design, but how does the kernel
352 etc. The only devices which do not require a specific type of parent
358 Linux board support code calls of_platform_populate(NULL, NULL, NULL, NULL)
363 table (yet). For a board that only needs to register devices,
376 children. The board support code would allocate and register an SoC
378 and register platform_devices for /soc/interrupt-controller, /soc/serial,
395 "simple-bus" is defined in the Devicetree Specification as a property
397 could be written to just assume simple-bus compatible nodes will
399 board support code can always override the default behaviour.
404 ------------------------