coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
blsp.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 
3 #include <device/mmio.h>
4 #include <soc/blsp.h>
5 #include <soc/gpio.h>
6 #include <soc/iomap.h>
7 #include <soc/clock.h>
8 
10 {
11  void *base;
12 
13  switch (id) {
14  case BLSP_QUP_ID_1:
19  break;
20  default:
21  return BLSP_ID_ERROR;
22  }
23 
24  clock_configure_i2c(19200000);
26 
27  base = blsp_qup_base(id);
28 
29  if (!base)
30  return BLSP_ID_ERROR;
31 
32  /* Configure Mini core to I2C core */
34 
35  return BLSP_SUCCESS;
36 }
#define GPIO_OUTPUT
Definition: gpio_ftns.h:23
@ GPIO
Definition: chip.h:84
#define clrsetbits32(addr, clear, set)
Definition: mmio.h:16
blsp_qup_id_t
Definition: blsp.h:6
@ BLSP_QUP_ID_1
Definition: blsp.h:8
blsp_return_t
Definition: blsp.h:13
@ BLSP_ID_ERROR
Definition: blsp.h:15
@ BLSP_SUCCESS
Definition: blsp.h:14
@ GPIO_2MA
Definition: gpio_common.h:70
#define BLSP_MINI_CORE_MASK
Definition: iomap.h:116
static void * blsp_qup_base(blsp_qup_id_t id)
Definition: iomap.h:103
#define BLSP_MINI_CORE_I2C
Definition: iomap.h:115
uintptr_t base
Definition: uart.c:17
void gpio_configure(gpio_t gpio, uint32_t func, uint32_t pull, uint32_t drive_str, uint32_t enable)
Definition: gpio.c:7
blsp_return_t blsp_i2c_init(blsp_qup_id_t id)
Definition: blsp.c:7
#define GPIO_PULL_UP
Definition: gpio.h:24
void clock_enable_i2c(void)
Definition: clock.c:309
void clock_configure_i2c(uint32_t hz)
Definition: clock.c:238