aboutsummaryrefslogtreecommitdiff
path: root/keys
diff options
context:
space:
mode:
authorEtienne Carriere <etienne.carriere@st.com>2019-03-14 09:06:03 +0100
committerJérôme Forissier <jerome.forissier@linaro.org>2019-04-11 14:52:21 +0200
commit646fd5c7c2215e340d2e8709ef9c5cadd9823ff7 (patch)
tree53152ee41074e505e7837c3934493505aa573206 /keys
parent42f193b65e83028d4ba3090fd908d3ee49527c73 (diff)
stm32mp1: shres: registering shared resources
This change implements a driver for the stm32mp1 resources that may be assigned to either secure or non-secure worlds upon the platform configuration. Other drivers shall register their resources (when applicable) using the API functions stm32mp_register_{secure|non_secure}_periph*(): - stm32mp_register_*_periph() registers a resource from its platform ID. - stm32mp_register_*_periph_iomem() registers a resource from its IOMEM base address. - stm32mp_register_*_periph_gpio() registers a resource from its GPIO reference, bank and position. Shared resource driver exports some APIs to query a resource registration state, stm32mp_periph_is_*(), stm32mp_gpio_bank_is_*(), stm32mp_clock_is_*(). The driver saves the peripheral assignation. The API does not allow peripherals to change state at runtime. Moverover, to prevent testing a resource status before it is registered, the first query on a resource state locks further registering. Later attempt to register a peripheral will panic the core. Resources are either secure on non-secure but clock that maybe shared in which case it will be assigned to the secure world but a platform service will allow non-secure to access the resource (i.e. enable/disable the clock). Note such service is out of the scope of this change, yet this explains API stm32mp_clock_is_shared(). Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'keys')
0 files changed, 0 insertions, 0 deletions