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