/* * Copyright (c) 2016 Toradex, Inc. * * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _TDX_CFG_BLOCK_H #define _TDX_CFG_BLOCK_H #include "tdx-common.h" struct toradex_hw { u16 ver_major; u16 ver_minor; u16 ver_assembly; u16 prodid; }; struct toradex_eth_addr { u32 oui:24; u32 nic:24; } __attribute__((__packed__)); enum { COLIBRI_PXA270_V1_312MHZ = 1, COLIBRI_PXA270_V1_520MHZ, COLIBRI_PXA320, COLIBRI_PXA300, COLIBRI_PXA310, COLIBRI_PXA320_IT, COLIBRI_PXA300_XT, COLIBRI_PXA270_312MHZ, COLIBRI_PXA270_520MHZ, COLIBRI_VF50, /* 10 */ COLIBRI_VF61, /* not currently on sale */ COLIBRI_VF61_IT, COLIBRI_VF50_IT, COLIBRI_IMX6S, COLIBRI_IMX6DL, COLIBRI_IMX6S_IT, COLIBRI_IMX6DL_IT, /* 17 */ COLIBRI_T20_256MB = 20, COLIBRI_T20_512MB, COLIBRI_T20_512MB_IT, COLIBRI_T30, COLIBRI_T20_256MB_IT, APALIS_T30_2GB, APALIS_T30_1GB, APALIS_IMX6Q, APALIS_IMX6Q_IT, APALIS_IMX6D, COLIBRI_T30_IT, /* 30 */ APALIS_T30_IT, COLIBRI_IMX7S, COLIBRI_IMX7D, APALIS_TK1_2GB, APALIS_IMX6D_IT, COLIBRI_IMX6ULL, APALIS_IMX8QM, /* 37 */ COLIBRI_IMX8X, COLIBRI_IMX7D_EMMC, COLIBRI_IMX6ULL_WIFI_BT_IT, /* 40 */ COLIBRI_IMX7D_EPDC, APALIS_TK1_4GB, }; extern const char * const toradex_modules[]; extern bool valid_cfgblock; extern struct toradex_hw tdx_hw_tag; extern struct toradex_eth_addr tdx_eth_addr; extern u32 tdx_serial; int read_tdx_cfg_block(void); #endif /* _TDX_CFG_BLOCK_H */