uboot/board/gateworks/gw_ventana/ventana_eeprom.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * Copyright (C) 2013 Gateworks Corporation
   4 */
   5
   6#ifndef _VENTANA_EEPROM_
   7#define _VENTANA_EEPROM_
   8
   9struct ventana_board_info {
  10        u8 mac0[6];          /* 0x00: MAC1 */
  11        u8 mac1[6];          /* 0x06: MAC2 */
  12        u8 res0[12];         /* 0x0C: reserved */
  13        u32 serial;          /* 0x18: Serial Number (read only) */
  14        u8 res1[4];          /* 0x1C: reserved */
  15        u8 mfgdate[4];       /* 0x20: MFG date (read only) */
  16        u8 res2[7];          /* 0x24 */
  17        /* sdram config */
  18        u8 sdram_size;       /* 0x2B: (16 << n) MB */
  19        u8 sdram_speed;      /* 0x2C: (33.333 * n) MHz */
  20        u8 sdram_width;      /* 0x2D: (8 << n) bit */
  21        /* cpu config */
  22        u8 cpu_speed;        /* 0x2E: (33.333 * n) MHz */
  23        u8 cpu_type;         /* 0x2F: 7=imx6q, 8=imx6dl */
  24        u8 model[16];        /* 0x30: model string */
  25        /* FLASH config */
  26        u8 nand_flash_size;  /* 0x40: (8 << (n-1)) MB */
  27        u8 spi_flash_size;   /* 0x41: (4 << (n-1)) MB */
  28
  29        /* Config1: SoC Peripherals */
  30        u8 config[8];        /* 0x42: loading options */
  31
  32        u8 res3[4];          /* 0x4A */
  33
  34        u8 chksum[2];        /* 0x4E */
  35};
  36
  37/* config bits */
  38enum {
  39        EECONFIG_ETH0,
  40        EECONFIG_ETH1,
  41        EECONFIG_HDMI_OUT,
  42        EECONFIG_SATA,
  43        EECONFIG_PCIE,
  44        EECONFIG_SSI0,
  45        EECONFIG_SSI1,
  46        EECONFIG_LCD,
  47        EECONFIG_LVDS0,
  48        EECONFIG_LVDS1,
  49        EECONFIG_USB0,
  50        EECONFIG_USB1,
  51        EECONFIG_SD0,
  52        EECONFIG_SD1,
  53        EECONFIG_SD2,
  54        EECONFIG_SD3,
  55        EECONFIG_UART0,
  56        EECONFIG_UART1,
  57        EECONFIG_UART2,
  58        EECONFIG_UART3,
  59        EECONFIG_UART4,
  60        EECONFIG_IPU0,
  61        EECONFIG_IPU1,
  62        EECONFIG_FLEXCAN,
  63        EECONFIG_MIPI_DSI,
  64        EECONFIG_MIPI_CSI,
  65        EECONFIG_TZASC0,
  66        EECONFIG_TZASC1,
  67        EECONFIG_I2C0,
  68        EECONFIG_I2C1,
  69        EECONFIG_I2C2,
  70        EECONFIG_VPU,
  71        EECONFIG_CSI0,
  72        EECONFIG_CSI1,
  73        EECONFIG_CAAM,
  74        EECONFIG_MEZZ,
  75        EECONFIG_RES1,
  76        EECONFIG_RES2,
  77        EECONFIG_RES3,
  78        EECONFIG_RES4,
  79        EECONFIG_ESPCI0,
  80        EECONFIG_ESPCI1,
  81        EECONFIG_ESPCI2,
  82        EECONFIG_ESPCI3,
  83        EECONFIG_ESPCI4,
  84        EECONFIG_ESPCI5,
  85        EECONFIG_RES5,
  86        EECONFIG_RES6,
  87        EECONFIG_GPS,
  88        EECONFIG_SPIFL0,
  89        EECONFIG_SPIFL1,
  90        EECONFIG_GSPBATT,
  91        EECONFIG_HDMI_IN,
  92        EECONFIG_VID_OUT,
  93        EECONFIG_VID_IN,
  94        EECONFIG_NAND,
  95        EECONFIG_RES8,
  96        EECONFIG_RES9,
  97        EECONFIG_RES10,
  98        EECONFIG_RES11,
  99        EECONFIG_RES12,
 100        EECONFIG_RES13,
 101        EECONFIG_RES14,
 102        EECONFIG_RES15,
 103};
 104
 105enum {
 106        GW54proto, /* original GW5400-A prototype */
 107        GW51xx,
 108        GW52xx,
 109        GW53xx,
 110        GW54xx,
 111        GW551x,
 112        GW552x,
 113        GW553x,
 114        GW560x,
 115        GW5901,
 116        GW5902,
 117        GW5903,
 118        GW5904,
 119        GW5905,
 120        GW5906,
 121        GW5907,
 122        GW5908,
 123        GW5909,
 124        GW_UNKNOWN,
 125        GW_BADCRC,
 126};
 127
 128/* config items */
 129struct ventana_eeprom_config {
 130        const char *name;       /* name of item */
 131        const char *dtalias;    /* name of dt node to remove if not set */
 132        int bit;                /* bit within config */
 133};
 134
 135extern struct ventana_eeprom_config econfig[];
 136extern struct ventana_board_info ventana_info;
 137
 138int read_eeprom(int bus, struct ventana_board_info *);
 139
 140#endif
 141