/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
/*
 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Linaro Ltd
 * Author: Krzysztof Kozlowski <krzk@kernel.org> based on previous work of Kumar Gala.
 */
#ifndef _DT_BINDINGS_ARM_QCOM_IDS_H
#define _DT_BINDINGS_ARM_QCOM_IDS_H

/*
 * The MSM chipset and hardware revision used by Qualcomm bootloaders, DTS for
 * older chipsets (qcom,msm-id) and in socinfo driver:
 */
#define QCOM_ID_MSM8260			70
#define QCOM_ID_MSM8660			71
#define QCOM_ID_APQ8060			86
#define QCOM_ID_MSM8960			87
#define QCOM_ID_APQ8064			109
#define QCOM_ID_MSM8930			116
#define QCOM_ID_MSM8630			117
#define QCOM_ID_MSM8230			118
#define QCOM_ID_APQ8030			119
#define QCOM_ID_MSM8627			120
#define QCOM_ID_MSM8227			121
#define QCOM_ID_MSM8660A		122
#define QCOM_ID_MSM8260A		123
#define QCOM_ID_APQ8060A		124
#define QCOM_ID_MSM8974			126
#define QCOM_ID_MSM8225			127
#define QCOM_ID_MSM8625			129
#define QCOM_ID_MPQ8064			130
#define QCOM_ID_MSM8960AB		138
#define QCOM_ID_APQ8060AB		139
#define QCOM_ID_MSM8260AB		140
#define QCOM_ID_MSM8660AB		141
#define QCOM_ID_MSM8930AA		142
#define QCOM_ID_MSM8630AA		143
#define QCOM_ID_MSM8230AA		144
#define QCOM_ID_MSM8626			145
#define QCOM_ID_MSM8610			147
#define QCOM_ID_APQ8064AB		153
#define QCOM_ID_MSM8930AB		154
#define QCOM_ID_MSM8630AB		155
#define QCOM_ID_MSM8230AB		156
#define QCOM_ID_APQ8030AB		157
#define QCOM_ID_MSM8226			158
#define QCOM_ID_MSM8526			159
#define QCOM_ID_APQ8030AA		160
#define QCOM_ID_MSM8110			161
#define QCOM_ID_MSM8210			162
#define QCOM_ID_MSM8810			163
#define QCOM_ID_MSM8212			164
#define QCOM_ID_MSM8612			165
#define QCOM_ID_MSM8112			166
#define QCOM_ID_MSM8125			167
#define QCOM_ID_MSM8225Q		168
#define QCOM_ID_MSM8625Q		169
#define QCOM_ID_MSM8125Q		170
#define QCOM_ID_APQ8064AA		172
#define QCOM_ID_APQ8084			178
#define QCOM_ID_MSM8130			179
#define QCOM_ID_MSM8130AA		180
#define QCOM_ID_MSM8130AB		181
#define QCOM_ID_MSM8627AA		182
#define QCOM_ID_MSM8227AA		183
#define QCOM_ID_APQ8074			184
#define QCOM_ID_MSM8274			185
#define QCOM_ID_MSM8674			186
#define QCOM_ID_MDM9635			187
#define QCOM_ID_MSM8974PRO_AC		194
#define QCOM_ID_MSM8126			198
#define QCOM_ID_APQ8026			199
#define QCOM_ID_MSM8926			200
#define QCOM_ID_IPQ8062			201
#define QCOM_ID_IPQ8064			202
#define QCOM_ID_IPQ8066			203
#define QCOM_ID_IPQ8068			204
#define QCOM_ID_MSM8326			205
#define QCOM_ID_MSM8916			206
#define QCOM_ID_MSM8994			207
#define QCOM_ID_APQ8074PRO_AA		208
#define QCOM_ID_APQ8074PRO_AB		209
#define QCOM_ID_APQ8074PRO_AC		210
#define QCOM_ID_MSM8274PRO_AA		211
#define QCOM_ID_MSM8274PRO_AB		212
#define QCOM_ID_MSM8274PRO_AC		213
#define QCOM_ID_MSM8674PRO_AA		214
#define QCOM_ID_MSM8674PRO_AB		215
#define QCOM_ID_MSM8674PRO_AC		216
#define QCOM_ID_MSM8974PRO_AA		217
#define QCOM_ID_MSM8974PRO_AB		218
#define QCOM_ID_APQ8028			219
#define QCOM_ID_MSM8128			220
#define QCOM_ID_MSM8228			221
#define QCOM_ID_MSM8528			222
#define QCOM_ID_MSM8628			223
#define QCOM_ID_MSM8928			224
#define QCOM_ID_MSM8510			225
#define QCOM_ID_MSM8512			226
#define QCOM_ID_MSM8936			233
#define QCOM_ID_MDM9640			234
#define QCOM_ID_MSM8939			239
#define QCOM_ID_APQ8036			240
#define QCOM_ID_APQ8039			241
#define QCOM_ID_MSM8236			242
#define QCOM_ID_MSM8636			243
#define QCOM_ID_MSM8909			245
#define QCOM_ID_MSM8996			246
#define QCOM_ID_APQ8016			247
#define QCOM_ID_MSM8216			248
#define QCOM_ID_MSM8116			249
#define QCOM_ID_MSM8616			250
#define QCOM_ID_MSM8992			251
#define QCOM_ID_APQ8092			252
#define QCOM_ID_APQ8094			253
#define QCOM_ID_MSM8209			258
#define QCOM_ID_MSM8208			259
#define QCOM_ID_MDM9209			260
#define QCOM_ID_MDM9309			261
#define QCOM_ID_MDM9609			262
#define QCOM_ID_MSM8239			263
#define QCOM_ID_MSM8952			264
#define QCOM_ID_APQ8009			265
#define QCOM_ID_MSM8956			266
#define QCOM_ID_MSM8929			268
#define QCOM_ID_MSM8629			269
#define QCOM_ID_MSM8229			270
#define QCOM_ID_APQ8029			271
#define QCOM_ID_APQ8056			274
#define QCOM_ID_MSM8609			275
#define QCOM_ID_APQ8076			277
#define QCOM_ID_MSM8976			278
#define QCOM_ID_MDM9650			279
#define QCOM_ID_IPQ8065			280
#define QCOM_ID_IPQ8069			281
#define QCOM_ID_MDM9655			283
#define QCOM_ID_MDM9250			284
#define QCOM_ID_MDM9255			285
#define QCOM_ID_MDM9350			286
#define QCOM_ID_APQ8052			289
#define QCOM_ID_MDM9607			290
#define QCOM_ID_APQ8096			291
#define QCOM_ID_MSM8998			292
#define QCOM_ID_MSM8953			293
#define QCOM_ID_MSM8937			294
#define QCOM_ID_APQ8037			295
#define QCOM_ID_MDM8207			296
#define QCOM_ID_MDM9207			297
#define QCOM_ID_MDM9307			298
#define QCOM_ID_MDM9628			299
#define QCOM_ID_MSM8909W		300
#define QCOM_ID_APQ8009W		301
#define QCOM_ID_MSM8996L		302
#define QCOM_ID_MSM8917			303
#define QCOM_ID_APQ8053			304
#define QCOM_ID_MSM8996SG		305
#define QCOM_ID_APQ8017			307
#define QCOM_ID_MSM8217			308
#define QCOM_ID_MSM8617			309
#define QCOM_ID_MSM8996AU		310
#define QCOM_ID_APQ8096AU		311
#define QCOM_ID_APQ8096SG		312
#define QCOM_ID_MSM8940			313
#define QCOM_ID_SDX201			314
#define QCOM_ID_SDM660			317
#define QCOM_ID_SDM630			318
#define QCOM_ID_APQ8098			319
#define QCOM_ID_MSM8920			320
#define QCOM_ID_SDM845			321
#define QCOM_ID_MDM9206			322
#define QCOM_ID_IPQ8074			323
#define QCOM_ID_SDA660			324
#define QCOM_ID_SDM658			325
#define QCOM_ID_SDA658			326
#define QCOM_ID_SDA630			327
#define QCOM_ID_MSM8905			331
#define QCOM_ID_SDX202			333
#define QCOM_ID_SDM450			338
#define QCOM_ID_SM8150			339
#define QCOM_ID_SDA845			341
#define QCOM_ID_IPQ8072			342
#define QCOM_ID_IPQ8076			343
#define QCOM_ID_IPQ8078			344
#define QCOM_ID_SDM636			345
#define QCOM_ID_SDA636			346
#define QCOM_ID_SDM632			349
#define QCOM_ID_SDA632			350
#define QCOM_ID_SDA450			351
#define QCOM_ID_SDM439			353
#define QCOM_ID_SDM429			354
#define QCOM_ID_SM8250			356
#define QCOM_ID_SA8155			362
#define QCOM_ID_SDA439			363
#define QCOM_ID_SDA429			364
#define QCOM_ID_SM7150			365
#define QCOM_ID_IPQ8070			375
#define QCOM_ID_IPQ8071			376
#define QCOM_ID_QM215			386
#define QCOM_ID_IPQ8072A		389
#define QCOM_ID_IPQ8074A		390
#define QCOM_ID_IPQ8076A		391
#define QCOM_ID_IPQ8078A		392
#define QCOM_ID_SM6125			394
#define QCOM_ID_IPQ8070A		395
#define QCOM_ID_IPQ8071A		396
#define QCOM_ID_IPQ6018			402
#define QCOM_ID_IPQ6028			403
#define QCOM_ID_SDM429W			416
#define QCOM_ID_SM4250			417
#define QCOM_ID_IPQ6000			421
#define QCOM_ID_IPQ6010			422
#define QCOM_ID_SC7180			425
#define QCOM_ID_SM6350			434
#define QCOM_ID_QCM2150			436
#define QCOM_ID_SDA429W			437
#define QCOM_ID_SM8350			439
#define QCOM_ID_QCM2290			441
#define QCOM_ID_SM7125			443
#define QCOM_ID_SM6115			444
#define QCOM_ID_IPQ5010			446
#define QCOM_ID_IPQ5018			447
#define QCOM_ID_IPQ5028			448
#define QCOM_ID_SC8280XP		449
#define QCOM_ID_IPQ6005			453
#define QCOM_ID_QRB5165			455
#define QCOM_ID_SM8450			457
#define QCOM_ID_SM7225			459
#define QCOM_ID_SA8295P			460
#define QCOM_ID_SA8540P			461
#define QCOM_ID_QCM4290			469
#define QCOM_ID_QCS4290			470
#define QCOM_ID_SM8450_2		480
#define QCOM_ID_SM8450_3		482
#define QCOM_ID_SC7280			487
#define QCOM_ID_SC7180P			495
#define QCOM_ID_IPQ5000			503
#define QCOM_ID_IPQ0509			504
#define QCOM_ID_IPQ0518			505
#define QCOM_ID_SM6375			507
#define QCOM_ID_IPQ9514			510
#define QCOM_ID_IPQ9550			511
#define QCOM_ID_IPQ9554			512
#define QCOM_ID_IPQ9570			513
#define QCOM_ID_IPQ9574			514
#define QCOM_ID_SM8550			519
#define QCOM_ID_IPQ5016			520
#define QCOM_ID_IPQ9510			521
#define QCOM_ID_QRB4210			523
#define QCOM_ID_QRB2210			524
#define QCOM_ID_SA8775P			534
#define QCOM_ID_QRU1000			539
#define QCOM_ID_QDU1000			545
#define QCOM_ID_SM4450			568
#define QCOM_ID_QDU1010			587
#define QCOM_ID_QRU1032			588
#define QCOM_ID_QRU1052			589
#define QCOM_ID_QRU1062			590
#define QCOM_ID_IPQ5332			592
#define QCOM_ID_IPQ5322			593
#define QCOM_ID_IPQ5312			594
#define QCOM_ID_IPQ5302			595
#define QCOM_ID_IPQ5300			624

/*
 * The board type and revision information, used by Qualcomm bootloaders and
 * DTS for older chipsets (qcom,board-id):
 */
#define QCOM_BOARD_ID(a, major, minor) \
	(((major & 0xff) << 16) | ((minor & 0xff) << 8) | QCOM_BOARD_ID_##a)

#define QCOM_BOARD_ID_MTP			8
#define QCOM_BOARD_ID_DRAGONBOARD		10
#define QCOM_BOARD_ID_QRD			11
#define QCOM_BOARD_ID_SBC			24

#endif /* _DT_BINDINGS_ARM_QCOM_IDS_H */