coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cdp.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 
3 #ifndef _IPQ40XX_CDP_H_
4 #define _IPQ40XX_CDP_H_
5 
6 #include <types.h>
7 
8 unsigned int smem_get_board_machtype(void);
9 
10 typedef enum {
23  PHY_INTERFACE_MODE_NONE /* Must be last */
25 
26 typedef struct {
27  unsigned int gpio;
28  unsigned int func;
29  unsigned int dir;
30  unsigned int pull;
31  unsigned int drvstr;
32  unsigned int enable;
34 
35 typedef struct {
36  unsigned int m_value;
37  unsigned int n_value;
38  unsigned int d_value;
40 
41 /* SPI Mode */
42 
43 typedef enum {
48 } spi_mode;
49 
50 /* SPI GSBI Bus number */
51 
52 typedef enum {
57 
58 /* SPI Chip selects */
59 
60 typedef enum {
65 } spi_cs;
66 
67 /* Flash Types */
68 
69 typedef enum {
74 } flash_desc;
75 
76 #define NO_OF_DBG_UART_GPIOS 2
77 
78 #define SPI_NOR_FLASH_VENDOR_MICRON 0x1
79 #define SPI_NOR_FLASH_VENDOR_SPANSION 0x2
80 
81 /* SPI parameters */
82 
83 typedef struct {
87  int vendor;
89 
90 typedef struct {
91  unsigned int count;
94 
95 typedef struct {
96  unsigned int base;
97  int unit;
98  unsigned int is_macsec;
99  unsigned int mac_pwr0;
100  unsigned int mac_pwr1;
101  unsigned int mac_conn_to_phy;
105 
106 #define IPQ_GMAC_NMACS 4
107 
114 };
115 
116 /* Board specific parameters */
117 typedef struct {
118 #if 0
119  unsigned int gmac_gpio_count;
120  gpio_func_data_t *gmac_gpio;
122  flash_desc flashdesc;
123  spinorflash_params_t flash_param;
124 #endif
125 } __packed board_ipq40xx_params_t;
126 
127 extern board_ipq40xx_params_t *gboard_param;
128 
129 #if 0
130 static inline int gmac_cfg_is_valid(ipq_gmac_board_cfg_t *cfg)
131 {
132  /*
133  * 'cfg' is valid if and only if
134  * unit number is non-negative and less than IPQ_GMAC_NMACS.
135  * 'cfg' pointer lies within the array range of
136  * board_ipq40xx_params_t->gmac_cfg[]
137  */
138  return ((cfg >= &gboard_param->gmac_cfg[0]) &&
139  (cfg < &gboard_param->gmac_cfg[IPQ_GMAC_NMACS]) &&
140  (cfg->unit >= 0) && (cfg->unit < IPQ_GMAC_NMACS));
141 }
142 #endif
143 
144 unsigned int get_board_index(unsigned int machid);
145 void ipq_configure_gpio(const gpio_func_data_t *gpio, unsigned int count);
146 
147 #endif /* _IPQ40XX_CDP_H_ */
static u32 addr
Definition: cirrus.c:14
#define IPQ_GMAC_NMACS
Definition: cdp.h:106
flash_desc
Definition: cdp.h:69
@ ONLY_NAND
Definition: cdp.h:70
@ ONLY_NOR
Definition: cdp.h:71
@ NOR_MMC
Definition: cdp.h:73
@ NAND_NOR
Definition: cdp.h:72
void ipq_configure_gpio(const gpio_func_data_t *gpio, unsigned int count)
Definition: cdp.c:8
unsigned int get_board_index(unsigned int machid)
phy_interface_t
Definition: cdp.h:10
@ PHY_INTERFACE_MODE_RMII
Definition: cdp.h:16
@ PHY_INTERFACE_MODE_MII
Definition: cdp.h:11
@ PHY_INTERFACE_MODE_RGMII_ID
Definition: cdp.h:18
@ PHY_INTERFACE_MODE_TBI
Definition: cdp.h:15
@ PHY_INTERFACE_MODE_RGMII_RXID
Definition: cdp.h:19
@ PHY_INTERFACE_MODE_RTBI
Definition: cdp.h:21
@ PHY_INTERFACE_MODE_GMII
Definition: cdp.h:12
@ PHY_INTERFACE_MODE_RGMII
Definition: cdp.h:17
@ PHY_INTERFACE_MODE_SGMII
Definition: cdp.h:13
@ PHY_INTERFACE_MODE_XGMII
Definition: cdp.h:22
@ PHY_INTERFACE_MODE_QSGMII
Definition: cdp.h:14
@ PHY_INTERFACE_MODE_RGMII_TXID
Definition: cdp.h:20
@ PHY_INTERFACE_MODE_NONE
Definition: cdp.h:23
spi_mode
Definition: cdp.h:43
@ NOR_SPI_MODE_0
Definition: cdp.h:44
@ NOR_SPI_MODE_3
Definition: cdp.h:47
@ NOR_SPI_MODE_2
Definition: cdp.h:46
@ NOR_SPI_MODE_1
Definition: cdp.h:45
board_ipq40xx_params_t * gboard_param
gale_board_id
Definition: cdp.h:108
@ BOARD_ID_GALE_EVT3
Definition: cdp.h:113
@ BOARD_ID_GALE_EVT2_0
Definition: cdp.h:111
@ BOARD_ID_GALE_PROTO
Definition: cdp.h:109
@ BOARD_ID_GALE_EVT2_1
Definition: cdp.h:112
@ BOARD_ID_GALE_EVT
Definition: cdp.h:110
unsigned int smem_get_board_machtype(void)
spi_gsbi_bus_num
Definition: cdp.h:52
@ GSBI_BUS_5
Definition: cdp.h:53
@ GSBI_BUS_6
Definition: cdp.h:54
@ GSBI_BUS_7
Definition: cdp.h:55
spi_cs
Definition: cdp.h:60
@ SPI_CS_2
Definition: cdp.h:63
@ SPI_CS_1
Definition: cdp.h:62
@ SPI_CS_3
Definition: cdp.h:64
@ SPI_CS_0
Definition: cdp.h:61
unsigned char uint8_t
Definition: stdint.h:8
Definition: x86.c:23
unsigned int gpio
Definition: cdp.h:27
unsigned int dir
Definition: cdp.h:29
unsigned int pull
Definition: cdp.h:30
unsigned int drvstr
Definition: cdp.h:31
unsigned int func
Definition: cdp.h:28
unsigned int enable
Definition: cdp.h:32
Definition: pinmux.c:36
unsigned int mac_pwr0
Definition: cdp.h:99
phy_interface_t phy
Definition: cdp.h:102
unsigned int is_macsec
Definition: cdp.h:98
unsigned int mac_pwr1
Definition: cdp.h:100
unsigned int mac_conn_to_phy
Definition: cdp.h:101
unsigned int base
Definition: cdp.h:96
ipq_gmac_phy_addr_t phy_addr
Definition: cdp.h:103
unsigned int count
Definition: cdp.h:91
spi_cs chip_select
Definition: cdp.h:86
spi_gsbi_bus_num bus_number
Definition: cdp.h:85
spi_mode mode
Definition: cdp.h:84
unsigned int d_value
Definition: cdp.h:38
unsigned int m_value
Definition: cdp.h:36
unsigned int n_value
Definition: cdp.h:37
#define count