coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cdp.h File Reference
#include <types.h>
Include dependency graph for cdp.h:

Go to the source code of this file.

Data Structures

struct  gpio_func_data_t
 
struct  uart_clk_mnd_t
 
struct  spinorflash_params_t
 
struct  ipq_gmac_phy_addr_t
 
struct  ipq_gmac_board_cfg_t
 
struct  __packed
 

Macros

#define NO_OF_DBG_UART_GPIOS   2
 
#define SPI_NOR_FLASH_VENDOR_MICRON   0x1
 
#define SPI_NOR_FLASH_VENDOR_SPANSION   0x2
 
#define IPQ_GMAC_NMACS   4
 

Enumerations

enum  phy_interface_t {
  PHY_INTERFACE_MODE_MII , PHY_INTERFACE_MODE_GMII , PHY_INTERFACE_MODE_SGMII , PHY_INTERFACE_MODE_QSGMII ,
  PHY_INTERFACE_MODE_TBI , PHY_INTERFACE_MODE_RMII , PHY_INTERFACE_MODE_RGMII , PHY_INTERFACE_MODE_RGMII_ID ,
  PHY_INTERFACE_MODE_RGMII_RXID , PHY_INTERFACE_MODE_RGMII_TXID , PHY_INTERFACE_MODE_RTBI , PHY_INTERFACE_MODE_XGMII ,
  PHY_INTERFACE_MODE_NONE , PHY_INTERFACE_MODE_MII , PHY_INTERFACE_MODE_GMII , PHY_INTERFACE_MODE_SGMII ,
  PHY_INTERFACE_MODE_QSGMII , PHY_INTERFACE_MODE_TBI , PHY_INTERFACE_MODE_RMII , PHY_INTERFACE_MODE_RGMII ,
  PHY_INTERFACE_MODE_RGMII_ID , PHY_INTERFACE_MODE_RGMII_RXID , PHY_INTERFACE_MODE_RGMII_TXID , PHY_INTERFACE_MODE_RTBI ,
  PHY_INTERFACE_MODE_XGMII , PHY_INTERFACE_MODE_NONE , PHY_INTERFACE_MODE_MII , PHY_INTERFACE_MODE_GMII ,
  PHY_INTERFACE_MODE_SGMII , PHY_INTERFACE_MODE_QSGMII , PHY_INTERFACE_MODE_TBI , PHY_INTERFACE_MODE_RMII ,
  PHY_INTERFACE_MODE_RGMII , PHY_INTERFACE_MODE_RGMII_ID , PHY_INTERFACE_MODE_RGMII_RXID , PHY_INTERFACE_MODE_RGMII_TXID ,
  PHY_INTERFACE_MODE_RTBI , PHY_INTERFACE_MODE_XGMII , PHY_INTERFACE_MODE_NONE
}
 
enum  spi_mode {
  NOR_SPI_MODE_0 , NOR_SPI_MODE_1 , NOR_SPI_MODE_2 , NOR_SPI_MODE_3 ,
  NOR_SPI_MODE_0 , NOR_SPI_MODE_1 , NOR_SPI_MODE_2 , NOR_SPI_MODE_3 ,
  NOR_SPI_MODE_0 , NOR_SPI_MODE_1 , NOR_SPI_MODE_2 , NOR_SPI_MODE_3
}
 
enum  spi_gsbi_bus_num {
  GSBI_BUS_5 = 0 , GSBI_BUS_6 , GSBI_BUS_7 , GSBI_BUS_5 = 0 ,
  GSBI_BUS_6 , GSBI_BUS_7
}
 
enum  spi_cs {
  SPI_CS_0 , SPI_CS_1 , SPI_CS_2 , SPI_CS_3 ,
  SPI_CS_0 , SPI_CS_1 , SPI_CS_2 , SPI_CS_3 ,
  SPI_CS_0 , SPI_CS_1 , SPI_CS_2 , SPI_CS_3
}
 
enum  flash_desc {
  ONLY_NAND , ONLY_NOR , NAND_NOR , NOR_MMC ,
  ONLY_NAND , ONLY_NOR , NAND_NOR , NOR_MMC ,
  ONLY_NAND , ONLY_NOR , NAND_NOR , NOR_MMC
}
 
enum  storm_board_id {
  BOARD_ID_PROTO_0 = 0 , BOARD_ID_PROTO_0_2 = 1 , BOARD_ID_WHIRLWIND = 2 , BOARD_ID_WHIRLWIND_SP5 = 3 ,
  BOARD_ID_PROTO_0_2_NAND = 26
}
 

Functions

unsigned int smem_get_board_machtype (void)
 
unsigned int get_board_index (unsigned int machid)
 
void ipq_configure_gpio (const gpio_func_data_t *gpio, unsigned int count)
 
void board_nand_init (void)
 

Variables

board_ipq806x_params_t * gboard_param
 

Macro Definition Documentation

◆ IPQ_GMAC_NMACS

#define IPQ_GMAC_NMACS   4

Definition at line 106 of file cdp.h.

◆ NO_OF_DBG_UART_GPIOS

#define NO_OF_DBG_UART_GPIOS   2

Definition at line 76 of file cdp.h.

◆ SPI_NOR_FLASH_VENDOR_MICRON

#define SPI_NOR_FLASH_VENDOR_MICRON   0x1

Definition at line 78 of file cdp.h.

◆ SPI_NOR_FLASH_VENDOR_SPANSION

#define SPI_NOR_FLASH_VENDOR_SPANSION   0x2

Definition at line 79 of file cdp.h.

Enumeration Type Documentation

◆ flash_desc

enum flash_desc
Enumerator
ONLY_NAND 
ONLY_NOR 
NAND_NOR 
NOR_MMC 
ONLY_NAND 
ONLY_NOR 
NAND_NOR 
NOR_MMC 
ONLY_NAND 
ONLY_NOR 
NAND_NOR 
NOR_MMC 

Definition at line 69 of file cdp.h.

◆ phy_interface_t

Enumerator
PHY_INTERFACE_MODE_MII 
PHY_INTERFACE_MODE_GMII 
PHY_INTERFACE_MODE_SGMII 
PHY_INTERFACE_MODE_QSGMII 
PHY_INTERFACE_MODE_TBI 
PHY_INTERFACE_MODE_RMII 
PHY_INTERFACE_MODE_RGMII 
PHY_INTERFACE_MODE_RGMII_ID 
PHY_INTERFACE_MODE_RGMII_RXID 
PHY_INTERFACE_MODE_RGMII_TXID 
PHY_INTERFACE_MODE_RTBI 
PHY_INTERFACE_MODE_XGMII 
PHY_INTERFACE_MODE_NONE 
PHY_INTERFACE_MODE_MII 
PHY_INTERFACE_MODE_GMII 
PHY_INTERFACE_MODE_SGMII 
PHY_INTERFACE_MODE_QSGMII 
PHY_INTERFACE_MODE_TBI 
PHY_INTERFACE_MODE_RMII 
PHY_INTERFACE_MODE_RGMII 
PHY_INTERFACE_MODE_RGMII_ID 
PHY_INTERFACE_MODE_RGMII_RXID 
PHY_INTERFACE_MODE_RGMII_TXID 
PHY_INTERFACE_MODE_RTBI 
PHY_INTERFACE_MODE_XGMII 
PHY_INTERFACE_MODE_NONE 
PHY_INTERFACE_MODE_MII 
PHY_INTERFACE_MODE_GMII 
PHY_INTERFACE_MODE_SGMII 
PHY_INTERFACE_MODE_QSGMII 
PHY_INTERFACE_MODE_TBI 
PHY_INTERFACE_MODE_RMII 
PHY_INTERFACE_MODE_RGMII 
PHY_INTERFACE_MODE_RGMII_ID 
PHY_INTERFACE_MODE_RGMII_RXID 
PHY_INTERFACE_MODE_RGMII_TXID 
PHY_INTERFACE_MODE_RTBI 
PHY_INTERFACE_MODE_XGMII 
PHY_INTERFACE_MODE_NONE 

Definition at line 10 of file cdp.h.

◆ spi_cs

enum spi_cs
Enumerator
SPI_CS_0 
SPI_CS_1 
SPI_CS_2 
SPI_CS_3 
SPI_CS_0 
SPI_CS_1 
SPI_CS_2 
SPI_CS_3 
SPI_CS_0 
SPI_CS_1 
SPI_CS_2 
SPI_CS_3 

Definition at line 60 of file cdp.h.

◆ spi_gsbi_bus_num

Enumerator
GSBI_BUS_5 
GSBI_BUS_6 
GSBI_BUS_7 
GSBI_BUS_5 
GSBI_BUS_6 
GSBI_BUS_7 

Definition at line 52 of file cdp.h.

◆ spi_mode

enum spi_mode
Enumerator
NOR_SPI_MODE_0 
NOR_SPI_MODE_1 
NOR_SPI_MODE_2 
NOR_SPI_MODE_3 
NOR_SPI_MODE_0 
NOR_SPI_MODE_1 
NOR_SPI_MODE_2 
NOR_SPI_MODE_3 
NOR_SPI_MODE_0 
NOR_SPI_MODE_1 
NOR_SPI_MODE_2 
NOR_SPI_MODE_3 

Definition at line 43 of file cdp.h.

◆ storm_board_id

Enumerator
BOARD_ID_PROTO_0 
BOARD_ID_PROTO_0_2 
BOARD_ID_WHIRLWIND 
BOARD_ID_WHIRLWIND_SP5 
BOARD_ID_PROTO_0_2_NAND 

Definition at line 108 of file cdp.h.

Function Documentation

◆ board_nand_init()

void board_nand_init ( void  )

Definition at line 45 of file cdp.c.

References board_id(), BOARD_ID_PROTO_0_2_NAND, ebi2cr_regs::chip_select_cfg0, clrsetbits32, configure_nand_gpio(), CS0_CFG_MASK, CS0_CFG_SERIAL_FLASH_DEVICE, EBI2CR_BASE, and nand_clock_config().

Referenced by mainboard_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_board_index()

unsigned int get_board_index ( unsigned int  machid)

◆ ipq_configure_gpio()

void ipq_configure_gpio ( const gpio_func_data_t gpio,
unsigned int  count 
)

Definition at line 8 of file cdp.c.

◆ smem_get_board_machtype()

unsigned int smem_get_board_machtype ( void  )

Variable Documentation

◆ gboard_param

board_ipq806x_params_t* gboard_param
extern