Hi, On 3/31/20 8:55 AM, Sascha Hauer wrote: > On Tue, Mar 31, 2020 at 07:50:32AM +0200, Ahmad Fatoum wrote: >> Hi, >> >> On 3/31/20 7:45 AM, Sascha Hauer wrote: >>> On Mon, Mar 30, 2020 at 04:39:13PM +0200, Ahmad Fatoum wrote: >>>> Since Linux v5.1, the pinctrl driver can use the st,package property >>>> if provided to validate whether the ball to be configured exists >>>> on the package. Have barebox supply this property. >>>> >>>> Signed-off-by: Ahmad Fatoum <ahmad@xxxxxx> >>>> --- >>>> arch/arm/dts/stm32mp151.dtsi | 16 ++++++++ >>>> drivers/pinctrl/pinctrl-stm32.c | 67 +++++++++++++++++++++++++++++++++ >>>> 2 files changed, 83 insertions(+) >>>> >>>> diff --git a/arch/arm/dts/stm32mp151.dtsi b/arch/arm/dts/stm32mp151.dtsi >>>> index 8f8249dbc479..2a70a747e76e 100644 >>>> --- a/arch/arm/dts/stm32mp151.dtsi >>>> +++ b/arch/arm/dts/stm32mp151.dtsi >>>> @@ -37,4 +37,20 @@ >>>> >>>> &bsec { >>>> barebox,provide-mac-address = <ðernet0 0x39>; >>>> + >>>> + soc_package: soc-package@43 { >>>> + reg = <0x43 1>; >>>> + bits = <3 3>; >>>> + read-only; >>>> + }; >>>> +}; >>>> + >>>> +&pinctrl { >>>> + nvmem-cells = <&soc_package>; >>>> + nvmem-cell-names = "soc-package"; >>>> +}; >>>> + >>>> +&pinctrl_z { >>>> + nvmem-cells = <&soc_package>; >>>> + nvmem-cell-names = "soc-package"; >>>> }; >>> >>> Why this detour over device tree? We already have get_cpu_package() and >>> could use it here. >> >> The pinctrl driver should also be compatible to the STM32 MCUs, which don't >> have this property. I tried calling get_cpu_package at first, but the ifdefery >> needed to keep the driver independent on CONFIG_ARCH_STM32MP looked ugly. > > The fixup for the device tree nodes doesn't necessarily have to be in > the pinctrl driver, it could be somewhere where you know get_cpu_package > is present and valid. It's the most natural place though.. >> Making it a device property solves this nicely IMO. > > I might agree if there wasn't the nvmem binding involved. The bsec driver is a nvmem driver anyway. How else I am supposed to access nvmem devices? The current code in arch/arm/mach-stm32mp/init.c issues direct secure monitor calls to read the bsec OTP. I'd prefer to get rid of this and have everything go through the bsec driver. Cheers Ahmad > > Sascha > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox