samples: drivers: espi: update MEC172x espi sample
MEC172x espi sample to use eSPI virtual wire hardware routing through device tree Signed-off-by: Jay Vasanth <jay.vasanth@microchip.com>
This commit is contained in:
parent
ff10046382
commit
b2f3d35540
4 changed files with 109 additions and 0 deletions
52
samples/drivers/espi/boards/mec172xevb_assy6906.overlay
Normal file
52
samples/drivers/espi/boards/mec172xevb_assy6906.overlay
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Intel Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/ {
|
||||||
|
board_power: resources {
|
||||||
|
compatible = "microchip,mec172x-board-power";
|
||||||
|
/* MCHP_GPIO_012 */
|
||||||
|
pwrg-gpios = <&gpio_000_036 10 GPIO_ACTIVE_HIGH>;
|
||||||
|
/* MCHP_GPIO_0054 */
|
||||||
|
rsm-gpios = <&gpio_040_076 12 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&espi_saf0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Enable Target to Controller Virtual Wires GPIO 0 - 3 */
|
||||||
|
&vw_t2c_gpio_0 {
|
||||||
|
status = "okay";
|
||||||
|
reset-state = "1";
|
||||||
|
reset-source = "ESPI_RESET";
|
||||||
|
};
|
||||||
|
|
||||||
|
&vw_t2c_gpio_1 {
|
||||||
|
status = "okay";
|
||||||
|
reset-state = "1";
|
||||||
|
reset-source = "ESPI_RESET";
|
||||||
|
};
|
||||||
|
|
||||||
|
&vw_t2c_gpio_2 {
|
||||||
|
status = "okay";
|
||||||
|
reset-state = "1";
|
||||||
|
reset-source = "ESPI_RESET";
|
||||||
|
};
|
||||||
|
|
||||||
|
&vw_t2c_gpio_3 {
|
||||||
|
status = "okay";
|
||||||
|
reset-state = "1";
|
||||||
|
reset-source = "ESPI_RESET";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi0 {
|
||||||
|
status = "okay";
|
||||||
|
clock-frequency = <24000000>;
|
||||||
|
port-sel = <0>;
|
||||||
|
chip-select = <0>;
|
||||||
|
lines = <4>;
|
||||||
|
};
|
24
samples/drivers/espi/dts/bindings/mec172x-board-power.yaml
Normal file
24
samples/drivers/espi/dts/bindings/mec172x-board-power.yaml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# Copyright (c) 2020, Microchip Technology Inc.
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
compatible: "microchip,mec172x-board-power"
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This binding provides MEC172x board gpio power rails resources to
|
||||||
|
build and run samples/drives/espi in Zephyr.
|
||||||
|
GPIOs required before performing a eSPI host-slave handshake
|
||||||
|
|
||||||
|
properties:
|
||||||
|
pwrg-gpios:
|
||||||
|
type: phandle-array
|
||||||
|
required: true
|
||||||
|
description: |
|
||||||
|
Board GPIO input used to detect that power rails are stable.
|
||||||
|
|
||||||
|
rsm-gpios:
|
||||||
|
type: phandle-array
|
||||||
|
required: true
|
||||||
|
description: |
|
||||||
|
Board GPIO output used to notify eSPI master to ackwnowledge
|
||||||
|
power has stabilized and bare minimum initialization in eSPI slave
|
||||||
|
is complete so eSPI master can proceed with eSPI handshake.
|
13
samples/drivers/espi/prj_mec172xevb_assy6906.conf
Normal file
13
samples/drivers/espi/prj_mec172xevb_assy6906.conf
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# eSPI + mec172xevb_assy6906
|
||||||
|
CONFIG_ESPI=y
|
||||||
|
CONFIG_LOG=y
|
||||||
|
CONFIG_LOG_BUFFER_SIZE=4096
|
||||||
|
CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=100
|
||||||
|
# Disable only for this board to check notifications
|
||||||
|
CONFIG_ESPI_AUTOMATIC_WARNING_ACKNOWLEDGE=n
|
||||||
|
# Sample code doesn't handle ACPI host communication
|
||||||
|
CONFIG_ESPI_PERIPHERAL_HOST_IO=n
|
||||||
|
# Test SAF flash portal read/erase/write on EVB
|
||||||
|
CONFIG_ESPI_SAF=y
|
||||||
|
CONFIG_SPI=y
|
||||||
|
CONFIG_SPI_XEC_QMSPI_LDMA=y
|
|
@ -133,6 +133,25 @@ static const struct espi_saf_flash_cfg flash_w25q128 = {
|
||||||
* by QMSPI driver.
|
* by QMSPI driver.
|
||||||
* Use SAF hardware default TAG map.
|
* Use SAF hardware default TAG map.
|
||||||
*/
|
*/
|
||||||
|
#ifdef CONFIG_ESPI_SAF_XEC_V2
|
||||||
|
static const struct espi_saf_cfg saf_cfg1 = {
|
||||||
|
.nflash_devices = 1U,
|
||||||
|
.hwcfg = {
|
||||||
|
.version = 2U, /* TODO */
|
||||||
|
.flags = 0U, /* TODO */
|
||||||
|
.qmspi_cpha = 0U, /* TODO */
|
||||||
|
.qmspi_cs_timing = 0U, /* TODO */
|
||||||
|
.flash_pd_timeout = 0U, /* TODO */
|
||||||
|
.flash_pd_min_interval = 0U, /* TODO */
|
||||||
|
.generic_descr = {
|
||||||
|
MCHP_SAF_EXIT_CM_DESCR12, MCHP_SAF_EXIT_CM_DESCR13,
|
||||||
|
MCHP_SAF_POLL_DESCR14, MCHP_SAF_POLL_DESCR15
|
||||||
|
},
|
||||||
|
.tag_map = { 0U, 0U, 0U }
|
||||||
|
},
|
||||||
|
.flash_cfgs = (struct espi_saf_flash_cfg *)&flash_w25q128
|
||||||
|
};
|
||||||
|
#else
|
||||||
static const struct espi_saf_cfg saf_cfg1 = {
|
static const struct espi_saf_cfg saf_cfg1 = {
|
||||||
.nflash_devices = 1U,
|
.nflash_devices = 1U,
|
||||||
.hwcfg = {
|
.hwcfg = {
|
||||||
|
@ -148,6 +167,7 @@ static const struct espi_saf_cfg saf_cfg1 = {
|
||||||
},
|
},
|
||||||
.flash_cfgs = (struct espi_saf_flash_cfg *)&flash_w25q128
|
.flash_cfgs = (struct espi_saf_flash_cfg *)&flash_w25q128
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Example for SAF driver set protection regions API.
|
* Example for SAF driver set protection regions API.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue