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 Tigadolistatic 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 Tigadolistatic 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 Tigadolistatic 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