xref: /rk3399_ARM-atf/plat/brcm/board/common/chip_id.h (revision 926cd70a0cc3a0cbf209a87765a8dc0b869798e3)
1*f29d1e0cSSheetal Tigadoli /*
2*f29d1e0cSSheetal Tigadoli  * Copyright (c) 2017 - 2020, Broadcom
3*f29d1e0cSSheetal Tigadoli  *
4*f29d1e0cSSheetal Tigadoli  * SPDX-License-Identifier: BSD-3-Clause
5*f29d1e0cSSheetal Tigadoli  */
6*f29d1e0cSSheetal Tigadoli 
7*f29d1e0cSSheetal Tigadoli #ifndef CHIP_ID_H
8*f29d1e0cSSheetal Tigadoli #define CHIP_ID_H
9*f29d1e0cSSheetal Tigadoli 
10*f29d1e0cSSheetal Tigadoli #include <lib/mmio.h>
11*f29d1e0cSSheetal Tigadoli 
12*f29d1e0cSSheetal Tigadoli #include <platform_def.h>
13*f29d1e0cSSheetal Tigadoli 
14*f29d1e0cSSheetal Tigadoli #define CHIP_REV_MAJOR_MASK	0xF0
15*f29d1e0cSSheetal Tigadoli #define CHIP_REV_MAJOR_AX	0x00
16*f29d1e0cSSheetal Tigadoli #define CHIP_REV_MAJOR_BX	0x10
17*f29d1e0cSSheetal Tigadoli #define CHIP_REV_MAJOR_CX	0x20
18*f29d1e0cSSheetal Tigadoli #define CHIP_REV_MAJOR_DX	0x30
19*f29d1e0cSSheetal Tigadoli 
20*f29d1e0cSSheetal Tigadoli /* Get Chip ID (product number) of the chip */
chip_get_product_id(void)21*f29d1e0cSSheetal Tigadoli static inline unsigned int chip_get_product_id(void)
22*f29d1e0cSSheetal Tigadoli {
23*f29d1e0cSSheetal Tigadoli 	return PLAT_CHIP_ID_GET;
24*f29d1e0cSSheetal Tigadoli }
25*f29d1e0cSSheetal Tigadoli 
26*f29d1e0cSSheetal Tigadoli /* Get Revision ID (major and minor) number of the chip */
chip_get_rev_id(void)27*f29d1e0cSSheetal Tigadoli static inline unsigned int chip_get_rev_id(void)
28*f29d1e0cSSheetal Tigadoli {
29*f29d1e0cSSheetal Tigadoli 	return PLAT_CHIP_REV_GET;
30*f29d1e0cSSheetal Tigadoli }
31*f29d1e0cSSheetal Tigadoli 
chip_get_rev_id_major(void)32*f29d1e0cSSheetal Tigadoli static inline unsigned int chip_get_rev_id_major(void)
33*f29d1e0cSSheetal Tigadoli {
34*f29d1e0cSSheetal Tigadoli 	return (chip_get_rev_id() & CHIP_REV_MAJOR_MASK);
35*f29d1e0cSSheetal Tigadoli }
36*f29d1e0cSSheetal Tigadoli 
37*f29d1e0cSSheetal Tigadoli #endif
38