Hello Lionel, On 19.01.21 11:50, Lionel DEBIEVE wrote: > Hi Ahmad, > > These IPs could be enabled in the secure side. To avoid any concurrency access, I prefer to keep all that crypto IPs status disable. > For examples, RNG can be managed in OP-TEE, so it will remain disable in Linux. You could extend that reasoning (OP-TEE might use them) to all peripherals. As the device tree is supposed to describe the hardware., I'd assume whether something is enabled in Linux or OP-TEE should be project-specific configuration (or fixed up by boot firmware). But I don't feel too strongly about it. Please dismiss and thanks for the clarification. Cheers, Ahmad > BR, > > Lionel > > On 1/19/21 10:52 AM, Ahmad Fatoum wrote: >> There is no SoC-external hardware support needed for the hash1, rng1, >> crc1 and cryp1 IP blocks to function. Enable them thus unconditionally >> instead of replicating their enablement in board device trees. >> >> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> >> --- >> arch/arm/boot/dts/stm32mp151.dtsi | 3 --- >> arch/arm/boot/dts/stm32mp157a-stinger96.dtsi | 4 ---- >> arch/arm/boot/dts/stm32mp157c-dk2.dts | 4 ---- >> arch/arm/boot/dts/stm32mp157c-ed1.dts | 16 ---------------- >> arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi | 4 ---- >> arch/arm/boot/dts/stm32mp15xc.dtsi | 1 - >> arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi | 8 -------- >> arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi | 4 ---- >> arch/arm/boot/dts/stm32mp15xx-dkx.dtsi | 12 ------------ >> arch/arm/boot/dts/stm32mp15xx-osd32.dtsi | 4 ---- >> 10 files changed, 60 deletions(-) >> >> diff --git a/arch/arm/boot/dts/stm32mp151.dtsi b/arch/arm/boot/dts/stm32mp151.dtsi >> index 3c75abacb374..c2d998343b6a 100644 >> --- a/arch/arm/boot/dts/stm32mp151.dtsi >> +++ b/arch/arm/boot/dts/stm32mp151.dtsi >> @@ -1297,7 +1297,6 @@ hash1: hash@54002000 { >> dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>; >> dma-names = "in"; >> dma-maxburst = <2>; >> - status = "disabled"; >> }; >> rng1: rng@54003000 { >> @@ -1305,7 +1304,6 @@ rng1: rng@54003000 { >> reg = <0x54003000 0x400>; >> clocks = <&rcc RNG1_K>; >> resets = <&rcc RNG1_R>; >> - status = "disabled"; >> }; >> mdma1: dma-controller@58000000 { >> @@ -1402,7 +1400,6 @@ crc1: crc@58009000 { >> compatible = "st,stm32f7-crc"; >> reg = <0x58009000 0x400>; >> clocks = <&rcc CRC1>; >> - status = "disabled"; >> }; >> stmmac_axi_config_0: stmmac-axi-config { >> diff --git a/arch/arm/boot/dts/stm32mp157a-stinger96.dtsi b/arch/arm/boot/dts/stm32mp157a-stinger96.dtsi >> index 58275bcf9e26..268a99291d79 100644 >> --- a/arch/arm/boot/dts/stm32mp157a-stinger96.dtsi >> +++ b/arch/arm/boot/dts/stm32mp157a-stinger96.dtsi >> @@ -253,10 +253,6 @@ &pwr_regulators { >> vdd_3v3_usbfs-supply = <&vdd_usb>; >> }; >> -&rng1 { >> - status = "okay"; >> -}; >> - >> &rtc { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/stm32mp157c-dk2.dts b/arch/arm/boot/dts/stm32mp157c-dk2.dts >> index 2bc92ef3aeb9..045636555ddd 100644 >> --- a/arch/arm/boot/dts/stm32mp157c-dk2.dts >> +++ b/arch/arm/boot/dts/stm32mp157c-dk2.dts >> @@ -29,10 +29,6 @@ chosen { >> }; >> }; >> -&cryp1 { >> - status = "okay"; >> -}; >> - >> &dsi { >> status = "okay"; >> phy-dsi-supply = <®18>; >> diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts b/arch/arm/boot/dts/stm32mp157c-ed1.dts >> index 81a7d5849db4..f69622097e89 100644 >> --- a/arch/arm/boot/dts/stm32mp157c-ed1.dts >> +++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts >> @@ -115,14 +115,6 @@ adc1: adc@0 { >> }; >> }; >> -&crc1 { >> - status = "okay"; >> -}; >> - >> -&cryp1 { >> - status = "okay"; >> -}; >> - >> &dac { >> pinctrl-names = "default"; >> pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>; >> @@ -144,10 +136,6 @@ &gpu { >> contiguous-area = <&gpu_reserved>; >> }; >> -&hash1 { >> - status = "okay"; >> -}; >> - >> &i2c4 { >> pinctrl-names = "default", "sleep"; >> pinctrl-0 = <&i2c4_pins_a>; >> @@ -325,10 +313,6 @@ &pwr_regulators { >> vdd_3v3_usbfs-supply = <&vdd_usb>; >> }; >> -&rng1 { >> - status = "okay"; >> -}; >> - >> &rtc { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi >> index 6cf49a0a9e69..a2aca1982bf6 100644 >> --- a/arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi >> +++ b/arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi >> @@ -250,10 +250,6 @@ &m4_rproc { >> status = "okay"; >> }; >> -&rng1 { >> - status = "okay"; >> -}; >> - >> &rtc { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/stm32mp15xc.dtsi b/arch/arm/boot/dts/stm32mp15xc.dtsi >> index b06a55a2fa18..86953d7ddde0 100644 >> --- a/arch/arm/boot/dts/stm32mp15xc.dtsi >> +++ b/arch/arm/boot/dts/stm32mp15xc.dtsi >> @@ -12,7 +12,6 @@ cryp1: cryp@54001000 { >> interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; >> clocks = <&rcc CRYP1>; >> resets = <&rcc CRYP1_R>; >> - status = "disabled"; >> }; >> }; >> }; >> diff --git a/arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi b/arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi >> index ac46ab363e1b..603c14054509 100644 >> --- a/arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi >> +++ b/arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi >> @@ -377,14 +377,6 @@ flash0: mx66l51235l@0 { >> }; >> }; >> -&rng1 { >> - status = "okay"; >> -}; >> - >> -&rtc { >> - status = "okay"; >> -}; >> - >> &sdmmc1 { >> pinctrl-names = "default", "opendrain", "sleep"; >> pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; >> diff --git a/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi b/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi >> index 803eb8bc9c85..3f4af430aaf4 100644 >> --- a/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi >> +++ b/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi >> @@ -204,10 +204,6 @@ flash0: spi-flash@0 { >> }; >> }; >> -&rng1 { >> - status = "okay"; >> -}; >> - >> &rtc { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi >> index 89c0e1ddc387..0cca6c3ff4a0 100644 >> --- a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi >> +++ b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi >> @@ -124,10 +124,6 @@ &cec { >> status = "okay"; >> }; >> -&crc1 { >> - status = "okay"; >> -}; >> - >> &dts { >> status = "okay"; >> }; >> @@ -155,10 +151,6 @@ &gpu { >> contiguous-area = <&gpu_reserved>; >> }; >> -&hash1 { >> - status = "okay"; >> -}; >> - >> &i2c1 { >> pinctrl-names = "default", "sleep"; >> pinctrl-0 = <&i2c1_pins_a>; >> @@ -482,10 +474,6 @@ &pwr_regulators { >> vdd_3v3_usbfs-supply = <&vdd_usb>; >> }; >> -&rng1 { >> - status = "okay"; >> -}; >> - >> &rtc { >> status = "okay"; >> }; >> diff --git a/arch/arm/boot/dts/stm32mp15xx-osd32.dtsi b/arch/arm/boot/dts/stm32mp15xx-osd32.dtsi >> index 713485a95795..d03d4d12133c 100644 >> --- a/arch/arm/boot/dts/stm32mp15xx-osd32.dtsi >> +++ b/arch/arm/boot/dts/stm32mp15xx-osd32.dtsi >> @@ -224,7 +224,3 @@ &m4_rproc { >> interrupts = <68 1>; >> status = "okay"; >> }; >> - >> -&rng1 { >> - status = "okay"; >> -}; > -- 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 |