uboot/arch/arm/include/asm/arch-rockchip/cpu_rk3288.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+  */
   2/*
   3 * Rockchip Electronics Co., Ltd.
   4 */
   5
   6#ifndef __ASM_ARCH_CPU_RK3288_H
   7#define __ASM_ARCH_CPU_RK3288_H
   8
   9#include <asm/io.h>
  10
  11#define ROCKCHIP_CPU_MASK       0xffff0000
  12#define ROCKCHIP_CPU_RK3288     0x32880000
  13
  14#define ROCKCHIP_SOC_MASK       (ROCKCHIP_CPU_MASK | 0xff)
  15#define ROCKCHIP_SOC_RK3288     (ROCKCHIP_CPU_RK3288 | 0x00)
  16#define ROCKCHIP_SOC_RK3288W    (ROCKCHIP_CPU_RK3288 | 0x01)
  17
  18#define RK3288_HDMI_PHYS        0xff980000
  19#define HDMI_CONFIG0_ID         0x4
  20#define RK3288W_HDMI_REVID      0x1a
  21
  22static inline int rockchip_soc_id(void)
  23{
  24        u8 reg;
  25
  26#if defined(CONFIG_ROCKCHIP_RK3288)
  27        reg = readb(RK3288_HDMI_PHYS + HDMI_CONFIG0_ID);
  28        if (reg == RK3288W_HDMI_REVID)
  29                return ROCKCHIP_SOC_RK3288W;
  30        else
  31                return ROCKCHIP_SOC_RK3288;
  32#else
  33        return 0;
  34#endif
  35}
  36
  37#define ROCKCHIP_SOC(id, ID) \
  38static inline bool soc_is_##id(void) \
  39{ \
  40        int soc_id = rockchip_soc_id(); \
  41        if (soc_id) \
  42                return ((soc_id & ROCKCHIP_SOC_MASK) == ROCKCHIP_SOC_ ##ID); \
  43        return false; \
  44}
  45
  46ROCKCHIP_SOC(rk3288, RK3288)
  47ROCKCHIP_SOC(rk3288w, RK3288W)
  48
  49#endif /* __ASM_ARCH_CPU_RK3288_H */
  50