On 4/22/25 10:44, Patrick DELAUNAY wrote:
> Hi,
> 
> On 4/1/25 15:14, Patrice Chotard wrote:
>> From: Patrick Delaunay <patrick.delau...@foss.st.com>
>>
>> This driver is checking the access rights of the different
>> peripherals connected to the RIFSC bus. If access is denied,
>> the associated device is not binded.
>>
>> Signed-off-by: Gatien Chevallier <gatien.chevall...@foss.st.com>
>> Signed-off-by: Patrick Delaunay <patrick.delau...@foss.st.com>
>> Signed-off-by: Patrice Chotard <patrice.chot...@foss.st.com>
>>
>> ---
>>
>>   arch/arm/mach-stm32mp/include/mach/rif.h |  26 ++
>>   arch/arm/mach-stm32mp/stm32mp2/Makefile  |   1 +
>>   arch/arm/mach-stm32mp/stm32mp2/rifsc.c   | 364 +++++++++++++++++++++++
>>   3 files changed, 391 insertions(+)
>>   create mode 100644 arch/arm/mach-stm32mp/include/mach/rif.h
>>   create mode 100644 arch/arm/mach-stm32mp/stm32mp2/rifsc.c
>>
>> diff --git a/arch/arm/mach-stm32mp/include/mach/rif.h 
>> b/arch/arm/mach-stm32mp/include/mach/rif.h
>> new file mode 100644
>> index 00000000000..10b22108120
>> --- /dev/null
>> +++ b/arch/arm/mach-stm32mp/include/mach/rif.h
>> @@ -0,0 +1,26 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause */
>> +/*
>> + * Copyright (C) 2023, STMicroelectronics - All Rights Reserved
>> + */
>> +
>> +#ifndef MACH_RIF_H
>> +#define MACH_RIF_H
>> +
>> +#include <linux/types.h>
>> +
>> +/**
>> + * stm32_rifsc_check_access - Check RIF accesses for given device node
>> + *
>> + * @device_node        Node of the device for which the accesses are checked
>> + */
>> +int stm32_rifsc_check_access(ofnode device_node);
>> +
>> +/**
>> + * stm32_rifsc_check_access - Check RIF accesses for given id
>> + *
>> + * @device_node        Node of the device to get a reference on RIFSC
>> + * @id            ID of the resource to check
>> + */
>> +int stm32_rifsc_check_access_by_id(ofnode device_node, u32 id);
>> +
>> +#endif /* MACH_RIF_H*/
>> diff --git a/arch/arm/mach-stm32mp/stm32mp2/Makefile 
>> b/arch/arm/mach-stm32mp/stm32mp2/Makefile
>> index b579ce5a800..5dbf75daa76 100644
>> --- a/arch/arm/mach-stm32mp/stm32mp2/Makefile
>> +++ b/arch/arm/mach-stm32mp/stm32mp2/Makefile
>> @@ -5,5 +5,6 @@
>>     obj-y += cpu.o
>>   obj-y += arm64-mmu.o
>> +obj-y += rifsc.o
>>   obj-$(CONFIG_OF_SYSTEM_SETUP) += fdt.o
>>   obj-$(CONFIG_STM32MP25X) += stm32mp25x.o
>> diff --git a/arch/arm/mach-stm32mp/stm32mp2/rifsc.c 
>> b/arch/arm/mach-stm32mp/stm32mp2/rifsc.c
>> new file mode 100644
>> index 00000000000..48f65365376
>> --- /dev/null
>> +++ b/arch/arm/mach-stm32mp/stm32mp2/rifsc.c
>> @@ -0,0 +1,364 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause
>> +/*
>> + * Copyright (C) 2023, STMicroelectronics - All Rights Reserved
>> + */
>> +
>> +#define LOG_CATEGORY UCLASS_SIMPLE_BUS
>> +
> 
> 
> minor:
> 
> #define LOG_CATEGORY UCLASS_NOP
> 
> 
> to be coherent with driver

Right, i will update this.

Thanks
Patrice

> 
> ....
> 
>> +
>> +U_BOOT_DRIVER(stm32_rifsc) = {
>> +    .name = "stm32_rifsc",
>> +    .id = UCLASS_NOP,
>> +    .of_match = stm32_rifsc_ids,
>> +    .bind = stm32_rifsc_bind,
>> +    .remove = stm32_rifsc_remove,
>> +    .child_post_bind = stm32_rifsc_child_post_bind,
>> +    .child_pre_probe = stm32_rifsc_child_pre_probe,
>> +    .child_post_remove = stm32_rifsc_child_post_remove,
>> +    .plat_auto = sizeof(struct stm32_rifsc_plat),
>> +    .per_child_plat_auto = sizeof(struct stm32_rifsc_child_plat),
>> +    .flags = DM_FLAG_OS_PREPARE,
>> +};
> 
> 
> Anyway
> 
> 
> Reviewed-by: Patrick Delaunay <patrick.delau...@foss.st.com>
> 
> Thanks
> Patrick
> 
> 

Reply via email to