xref: /rk3399_rockchip-uboot/board/toradex/common/tdx-cfg-block.h (revision 2d221489df021393654805536be7effcb9d39702)
1*a2777ecbSMarcel Ziswiler /*
2*a2777ecbSMarcel Ziswiler  * Copyright (c) 2016 Toradex, Inc.
3*a2777ecbSMarcel Ziswiler  *
4*a2777ecbSMarcel Ziswiler  * SPDX-License-Identifier:	GPL-2.0+
5*a2777ecbSMarcel Ziswiler  */
6*a2777ecbSMarcel Ziswiler 
7*a2777ecbSMarcel Ziswiler #ifndef _TDX_CFG_BLOCK_H
8*a2777ecbSMarcel Ziswiler #define _TDX_CFG_BLOCK_H
9*a2777ecbSMarcel Ziswiler 
10*a2777ecbSMarcel Ziswiler #include "tdx-common.h"
11*a2777ecbSMarcel Ziswiler 
12*a2777ecbSMarcel Ziswiler struct toradex_hw {
13*a2777ecbSMarcel Ziswiler 	u16 ver_major;
14*a2777ecbSMarcel Ziswiler 	u16 ver_minor;
15*a2777ecbSMarcel Ziswiler 	u16 ver_assembly;
16*a2777ecbSMarcel Ziswiler 	u16 prodid;
17*a2777ecbSMarcel Ziswiler };
18*a2777ecbSMarcel Ziswiler 
19*a2777ecbSMarcel Ziswiler struct toradex_eth_addr {
20*a2777ecbSMarcel Ziswiler 	u32 oui:24;
21*a2777ecbSMarcel Ziswiler 	u32 nic:24;
22*a2777ecbSMarcel Ziswiler } __attribute__((__packed__));
23*a2777ecbSMarcel Ziswiler 
24*a2777ecbSMarcel Ziswiler enum {
25*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA270_V1_312MHZ = 1,
26*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA270_V1_520MHZ,
27*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA320,
28*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA300,
29*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA310,
30*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA320_IT,
31*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA300_XT,
32*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA270_312MHZ,
33*a2777ecbSMarcel Ziswiler 	COLIBRI_PXA270_520MHZ,
34*a2777ecbSMarcel Ziswiler 	COLIBRI_VF50, /* not currently on sale */
35*a2777ecbSMarcel Ziswiler 	COLIBRI_VF61,
36*a2777ecbSMarcel Ziswiler 	COLIBRI_VF61_IT,
37*a2777ecbSMarcel Ziswiler 	COLIBRI_VF50_IT,
38*a2777ecbSMarcel Ziswiler 	COLIBRI_IMX6S,
39*a2777ecbSMarcel Ziswiler 	COLIBRI_IMX6DL,
40*a2777ecbSMarcel Ziswiler 	COLIBRI_IMX6S_IT,
41*a2777ecbSMarcel Ziswiler 	COLIBRI_IMX6DL_IT,
42*a2777ecbSMarcel Ziswiler 	COLIBRI_T20_256MB = 20,
43*a2777ecbSMarcel Ziswiler 	COLIBRI_T20_512MB,
44*a2777ecbSMarcel Ziswiler 	COLIBRI_T20_512MB_IT,
45*a2777ecbSMarcel Ziswiler 	COLIBRI_T30,
46*a2777ecbSMarcel Ziswiler 	COLIBRI_T20_256MB_IT,
47*a2777ecbSMarcel Ziswiler 	APALIS_T30_2GB,
48*a2777ecbSMarcel Ziswiler 	APALIS_T30_1GB,
49*a2777ecbSMarcel Ziswiler 	APALIS_IMX6Q,
50*a2777ecbSMarcel Ziswiler 	APALIS_IMX6Q_IT,
51*a2777ecbSMarcel Ziswiler 	APALIS_IMX6D,
52*a2777ecbSMarcel Ziswiler 	COLIBRI_T30_IT,
53*a2777ecbSMarcel Ziswiler 	APALIS_T30_IT,
54*a2777ecbSMarcel Ziswiler 	COLIBRI_IMX7S,
55*a2777ecbSMarcel Ziswiler 	COLIBRI_IMX7D,
56*a2777ecbSMarcel Ziswiler 	APALIS_TK1_2GB,
57*a2777ecbSMarcel Ziswiler 	APALIS_IMX6D_IT,
58*a2777ecbSMarcel Ziswiler };
59*a2777ecbSMarcel Ziswiler 
60*a2777ecbSMarcel Ziswiler extern const char * const toradex_modules[];
61*a2777ecbSMarcel Ziswiler extern bool valid_cfgblock;
62*a2777ecbSMarcel Ziswiler extern struct toradex_hw tdx_hw_tag;
63*a2777ecbSMarcel Ziswiler extern struct toradex_eth_addr tdx_eth_addr;
64*a2777ecbSMarcel Ziswiler extern u32 tdx_serial;
65*a2777ecbSMarcel Ziswiler 
66*a2777ecbSMarcel Ziswiler int read_tdx_cfg_block(void);
67*a2777ecbSMarcel Ziswiler 
68*a2777ecbSMarcel Ziswiler #endif /* _TDX_CFG_BLOCK_H */
69