Re: [STLinux Kernel] [PATCH v3 5/6] ARM: STiH407: Add nodes for RemoteProc

From: Peter Griffin
Date: Thu Sep 03 2015 - 11:26:47 EST


Hi Lee,

On Wed, 02 Sep 2015, Lee Jones wrote:

> Signed-off-by: Ludovic Barre <ludovic.barre@xxxxxx>
> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> ---
> arch/arm/boot/dts/stih407-family.dtsi | 40 +++++++++++++++++++++++++++++++++++
> 1 file changed, 40 insertions(+)
>
> diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
> index 33daa49..1c31918 100644
> --- a/arch/arm/boot/dts/stih407-family.dtsi
> +++ b/arch/arm/boot/dts/stih407-family.dtsi
> @@ -608,5 +608,45 @@
> status = "okay";
> tx-only;
> };
> +
> + st231_gp0: st231-gp0@40000000 {
> + compatible = "st,st231-rproc";
> + reg = <0x40000000 0x01000000>;
> + resets = <&softreset STIH407_ST231_GP0_SOFTRESET>;
> + reset-names = "sw_reset";
> + clocks = <&clk_s_c0_flexgen CLK_ST231_GP_0>;
> + clock-frequency = <600000000>;
> + st,syscfg = <&syscfg_core 0x22c>;
> + };
> +
> + st231_gp1: st231-gp1@41000000 {
> + compatible = "st,st231-rproc";
> + reg = <0x41000000 0x01000000>;
> + resets = <&softreset STIH407_ST231_GP1_SOFTRESET>;
> + reset-names = "sw_reset";
> + clocks = <&clk_s_c0_flexgen CLK_ST231_GP_1>;
> + clock-frequency = <600000000>;
> + st,syscfg = <&syscfg_core 0x220>;
> + };
> +
> + st231_audio: st231-audio@42000000 {
> + compatible = "st,st231-rproc";
> + reg = <0x42000000 0x01000000>;
> + resets = <&softreset STIH407_ST231_AUD_SOFTRESET>;
> + reset-names = "sw_reset";
> + clocks = <&clk_s_c0_flexgen CLK_ST231_AUD_0>;
> + clock-frequency = <600000000>;
> + st,syscfg = <&syscfg_core 0x228>;
> + };
> +
> + st231_dmu: st231-dmu@43000000 {
> + compatible = "st,st231-rproc";
> + reg = <0x43000000 0x01000000>;
> + resets = <&softreset STIH407_ST231_DMU_SOFTRESET>;
> + reset-names = "sw_reset";
> + clocks = <&clk_s_c0_flexgen CLK_ST231_DMU>;

Thinking more about this more, I believe you will actually need to support enabling
and setting the frequency on a list of clocks.

The reason being that for the video ST231 for example you also need to enable
CLK_VID_DMU. This clock clocks the DeltaMU hw used by the video ST231 for
video decoding. I suspect if the video firmware is loading and working correctly
with this patchset, then it is most likely because the clock is being enabled
by the bootloader and not being disabled by CCF due to our platform booting
with clk_ignore_unused.

When yours (or Mikes) critical clock patches get merged, and we stop booting with
"clk_ignore_unused" you will find it no longer works.

I'm not aware of other hw which is used by the audio of gp ST231, but as the driver
also covers ST40 and potentially other co-processors in the future, having a list
of clocks seems nicely extendable to cover other permutations.

regards,

Peter.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/