@@ -249,6 +249,126 @@ properties:
249249 - qcom,sm8350-mtp
250250 - const : qcom,sm8350
251251
252+ # Board compatibles go above
253+
254+ qcom,msm-id :
255+ $ref : /schemas/types.yaml#/definitions/uint32-matrix
256+ minItems : 1
257+ maxItems : 8
258+ items :
259+ items :
260+ - description : |
261+ MSM chipset ID - an exact match value consisting of two bitfields::
262+ - bits 0-15 - The unique MSM chipset ID
263+ - bits 16-31 - Reserved; should be 0
264+ - description : |
265+ Hardware revision ID - a chipset specific 32-bit ID representing
266+ the version of the chipset. It is best a match value - the
267+ bootloader will look for the closest possible match.
268+ deprecated : true
269+ description :
270+ The MSM chipset and hardware revision used Qualcomm bootloaders. It
271+ can optionally be an array of these to indicate multiple hardware that
272+ use the same device tree. It is expected that the bootloader will use
273+ this information at boot-up to decide which device tree to use when given
274+ multiple device trees, some of which may not be compatible with the
275+ actual hardware. It is the bootloader's responsibility to pass the
276+ correct device tree to the kernel.
277+ The property is deprecated.
278+
279+ qcom,board-id :
280+ $ref : /schemas/types.yaml#/definitions/uint32-matrix
281+ minItems : 1
282+ maxItems : 8
283+ oneOf :
284+ - items :
285+ - items :
286+ - description : |
287+ Board ID consisting of three bitfields::
288+ - bits 31-24 - Unused
289+ - bits 23-16 - Platform Version Major
290+ - bits 15-8 - Platform Version Minor
291+ - bits 7-0 - Platform Type
292+ Platform Type field is an exact match value. The
293+ Platform Major/Minor field is a best match. The bootloader will
294+ look for the closest possible match.
295+ - description : |
296+ Subtype ID unique to a Platform Type/Chipset ID. For a given
297+ Platform Type, there will typically only be a single board and the
298+ subtype_id will be 0. However in some cases board variants may
299+ need to be distinguished by different subtype_id values.
300+ - items :
301+ # OnePlus uses a variant of board-id with four elements:
302+ - items :
303+ - const : 8
304+ - const : 0
305+ - description : OnePlus board ID
306+ - description : OnePlus subtype ID
307+ deprecated : true
308+ description :
309+ The board type and revision information. It can optionally be an array
310+ of these to indicate multiple boards that use the same device tree. It
311+ is expected that the bootloader will use this information at boot-up to
312+ decide which device tree to use when given multiple device trees, some of
313+ which may not be compatible with the actual hardware. It is the
314+ bootloader's responsibility to pass the correct device tree to the
315+ kernel
316+ The property is deprecated.
317+
318+ allOf :
319+ # Explicit allow-list for older SoCs. The legacy properties are not allowed
320+ # on newer SoCs.
321+ - if :
322+ properties :
323+ compatible :
324+ contains :
325+ enum :
326+ - qcom,apq8026
327+ - qcom,apq8094
328+ - qcom,apq8096
329+ - qcom,msm8992
330+ - qcom,msm8994
331+ - qcom,msm8996
332+ - qcom,msm8998
333+ - qcom,sdm630
334+ - qcom,sdm632
335+ - qcom,sdm845
336+ - qcom,sdx55
337+ - qcom,sdx65
338+ - qcom,sm6125
339+ - qcom,sm6350
340+ - qcom,sm7225
341+ - qcom,sm8150
342+ - qcom,sm8250
343+ then :
344+ properties :
345+ qcom,board-id : true
346+ qcom,msm-id : true
347+ else :
348+ properties :
349+ qcom,board-id : false
350+ qcom,msm-id : false
351+
352+ - if :
353+ properties :
354+ compatible :
355+ contains :
356+ enum :
357+ - oneplus,cheeseburger
358+ - oneplus,dumpling
359+ - oneplus,enchilada
360+ - oneplus,fajita
361+ then :
362+ properties :
363+ qcom,board-id :
364+ items :
365+ minItems : 4
366+ else :
367+ properties :
368+ qcom,board-id :
369+ items :
370+ maxItems : 2
371+
252372additionalProperties : true
253373
254374...
0 commit comments