From 5c310521d1c9c582230326c51837b4cb817a0350 Mon Sep 17 00:00:00 2001 From: Arnaud Pouliquen Date: Fri, 29 Mar 2019 17:11:13 +0100 Subject: [PATCH] stm32mp1: update resource table management Rebase the resource table management to the new implementation in open-amp module Signed-off-by: Arnaud Pouliquen --- soc/arm/st_stm32/stm32mp1/CMakeLists.txt | 1 - soc/arm/st_stm32/stm32mp1/Kconfig.series | 1 + soc/arm/st_stm32/stm32mp1/Kconfig.soc | 7 --- soc/arm/st_stm32/stm32mp1/linker.ld | 2 +- soc/arm/st_stm32/stm32mp1/resource_table.c | 34 ---------- soc/arm/st_stm32/stm32mp1/resource_table.h | 73 ---------------------- 6 files changed, 2 insertions(+), 116 deletions(-) delete mode 100644 soc/arm/st_stm32/stm32mp1/resource_table.c delete mode 100644 soc/arm/st_stm32/stm32mp1/resource_table.h diff --git a/soc/arm/st_stm32/stm32mp1/CMakeLists.txt b/soc/arm/st_stm32/stm32mp1/CMakeLists.txt index 6f3e25a5b7e..4a1dfd30503 100644 --- a/soc/arm/st_stm32/stm32mp1/CMakeLists.txt +++ b/soc/arm/st_stm32/stm32mp1/CMakeLists.txt @@ -6,4 +6,3 @@ zephyr_include_directories(${ZEPHYR_BASE}/drivers) zephyr_sources( soc.c ) -zephyr_sources_ifdef(CONFIG_RPROC_RSC_TABLE resource_table.c) diff --git a/soc/arm/st_stm32/stm32mp1/Kconfig.series b/soc/arm/st_stm32/stm32mp1/Kconfig.series index f93f48dd73c..0c6580e84cc 100644 --- a/soc/arm/st_stm32/stm32mp1/Kconfig.series +++ b/soc/arm/st_stm32/stm32mp1/Kconfig.series @@ -11,5 +11,6 @@ config SOC_SERIES_STM32MP1X select SOC_FAMILY_STM32 select HAS_STM32CUBE select CPU_HAS_ARM_MPU + select OPENAMP_RSC_TABLE if RAM_CONSOLE help Enable support for STM32MP1 MPU series diff --git a/soc/arm/st_stm32/stm32mp1/Kconfig.soc b/soc/arm/st_stm32/stm32mp1/Kconfig.soc index be9816f4d30..18e4202ae5f 100644 --- a/soc/arm/st_stm32/stm32mp1/Kconfig.soc +++ b/soc/arm/st_stm32/stm32mp1/Kconfig.soc @@ -11,10 +11,3 @@ config SOC_STM32MP15_M4 bool "STM32MP15_M4" endchoice - -config RPROC_RSC_TABLE - bool "coprocessor resource table" - default y if RAM_CONSOLE || OPENAMP - help - add the resource table in the generated binary. This table is - compatible with linux remote proc framework and OpenAMP library. diff --git a/soc/arm/st_stm32/stm32mp1/linker.ld b/soc/arm/st_stm32/stm32mp1/linker.ld index 63a58ccf38d..932eba0394d 100644 --- a/soc/arm/st_stm32/stm32mp1/linker.ld +++ b/soc/arm/st_stm32/stm32mp1/linker.ld @@ -13,7 +13,7 @@ SECTIONS { #include -#ifdef CONFIG_RPROC_RSC_TABLE +#ifdef CONFIG_OPENAMP_RSC_TABLE SECTION_PROLOGUE(.resource_table,, SUBALIGN(4)) { diff --git a/soc/arm/st_stm32/stm32mp1/resource_table.c b/soc/arm/st_stm32/stm32mp1/resource_table.c deleted file mode 100644 index 87950f38222..00000000000 --- a/soc/arm/st_stm32/stm32mp1/resource_table.c +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2019 STMicroelectronics - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include -#include "resource_table.h" - -extern char ram_console[]; - -#define __section_t(S) __attribute__((__section__(#S))) -#define __resource __section_t(.resource_table) - -#ifdef CONFIG_RAM_CONSOLE -static volatile struct stm32_resource_table __resource resource_table = { - .ver = 1, - .num = 1, - .offset = { - offsetof(struct stm32_resource_table, cm_trace), - }, - .cm_trace = { - RSC_TRACE, - (uint32_t)ram_console, CONFIG_RAM_CONSOLE_BUFFER_SIZE + 1, 0, - "cm4_log", - }, -}; -#endif - -void resource_table_init(volatile void **table_ptr, int *length) -{ - *table_ptr = &resource_table; - *length = sizeof(resource_table); -} diff --git a/soc/arm/st_stm32/stm32mp1/resource_table.h b/soc/arm/st_stm32/stm32mp1/resource_table.h deleted file mode 100644 index 4dd0bdc633d..00000000000 --- a/soc/arm/st_stm32/stm32mp1/resource_table.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2018 Nordic Semiconductor ASA - * Copyright (c) 2019 STMicroelectronics - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef RESOURCE_TABLE_H__ -#define RESOURCE_TABLE_H__ - -#ifndef OPENAMP_PACKED_BEGIN -#define OPENAMP_PACKED_BEGIN -#endif - -#ifndef OPENAMP_PACKED_END -#define OPENAMP_PACKED_END __attribute__((__packed__)) -#endif - -/* beginning of section: copied from OpenAMP */ -/** - * struct fw_rsc_trace - trace buffer declaration - * @da: device address - * @len: length (in bytes) - * @reserved: reserved (must be zero) - * @name: human-readable name of the trace buffer - * - * This resource entry provides the host information about a trace buffer - * into which the remote remote_proc will write log messages. - * - * @da specifies the device address of the buffer, @len specifies - * its size, and @name may contain a human readable name of the trace buffer. - * - * After booting the remote remote_proc, the trace buffers are exposed to the - * user via debugfs entries (called trace0, trace1, etc..). - */ -OPENAMP_PACKED_BEGIN -struct fw_rsc_trace { - u32_t type; - u32_t da; - u32_t len; - u32_t reserved; - u8_t name[32]; -} OPENAMP_PACKED_END; - -OPENAMP_PACKED_BEGIN - -enum fw_resource_type { - RSC_CARVEOUT = 0, - RSC_DEVMEM = 1, - RSC_TRACE = 2, - RSC_VDEV = 3, - RSC_RPROC_MEM = 4, - RSC_FW_CHKSUM = 5, - RSC_LAST = 6, - RSC_VENDOR_START = 128, - RSC_VENDOR_END = 512, -}; - -/* end of section: copied from OpenAMP */ - -struct stm32_resource_table { - unsigned int ver; - unsigned int num; - unsigned int reserved[2]; - unsigned int offset[1]; - - /* rpmsg trace entry */ - struct fw_rsc_trace cm_trace; -} OPENAMP_PACKED_END; - -void resource_table_init(volatile void **table_ptr, int *length); - -#endif