coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mainboard.c
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#include <
device/device.h
>
4
#include <
device/mmio.h
>
5
#include <vendorcode/google/chromeos/chromeos.h>
6
#include <soc/usb.h>
7
#include <soc/addressmap.h>
8
9
static
struct
usb_board_data
usb1_board_data
= {
10
.
parameter_override_x0
= 0x63,
11
.parameter_override_x1 = 0x03,
12
.parameter_override_x0 = 0x1d,
13
.parameter_override_x1 = 0x03,
14
};
15
16
static
void
setup_usb
(
void
)
17
{
18
/* Setting Secondary USB controller */
19
setup_usb_host
(
HSUSB_HS_PORT_1
, &
usb1_board_data
);
20
}
21
22
static
void
configure_sdhci
(
void
)
23
{
24
/* Program eMMC drive strength to 16/10/10 mA */
25
write32
((
void
*)
SDC1_TLMM_CFG_ADDR
, 0x9FE4);
26
}
27
28
static
void
mainboard_init
(
struct
device
*dev)
29
{
30
/* Copy WIFI calibration data into CBMEM. */
31
if
(
CONFIG
(CHROMEOS))
32
cbmem_add_vpd_calibration_data();
33
34
setup_usb
();
35
configure_sdhci
();
36
}
37
38
static
void
mainboard_enable
(
struct
device
*dev)
39
{
40
dev->
ops
->
init
= &
mainboard_init
;
41
}
42
43
struct
chip_operations
mainboard_ops
= {
44
.
enable_dev
=
mainboard_enable
,
45
};
mainboard_ops
struct chip_operations mainboard_ops
Definition:
mainboard.c:19
write32
static void write32(void *addr, uint32_t val)
Definition:
mmio.h:40
CONFIG
@ CONFIG
Definition:
dsi_common.h:201
mainboard_init
static void mainboard_init(struct device *dev)
Definition:
mainboard.c:28
usb1_board_data
static struct usb_board_data usb1_board_data
Definition:
mainboard.c:9
configure_sdhci
static void configure_sdhci(void)
Definition:
mainboard.c:22
setup_usb
static void setup_usb(void)
Definition:
mainboard.c:16
mainboard_enable
static void mainboard_enable(struct device *dev)
Definition:
mainboard.c:38
device.h
mmio.h
setup_usb_host
void setup_usb_host(void)
Definition:
usb.c:153
SDC1_TLMM_CFG_ADDR
#define SDC1_TLMM_CFG_ADDR
Definition:
addressmap.h:13
HSUSB_HS_PORT_1
@ HSUSB_HS_PORT_1
Definition:
usb.h:58
chip_operations
Definition:
device.h:23
chip_operations::enable_dev
void(* enable_dev)(struct device *dev)
Definition:
device.h:24
device_operations::init
void(* init)(struct device *dev)
Definition:
device.h:42
device
Definition:
device.h:107
device::ops
struct device_operations * ops
Definition:
device.h:143
usb_board_data
Definition:
qusb_phy.h:42
usb_board_data::parameter_override_x0
u8 parameter_override_x0
Definition:
snps_usb_phy.h:8
src
mainboard
google
mistral
mainboard.c
Generated by
1.9.1