Re: [PATCH v6 6/8] arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno

From: Liviu Dudau
Date: Mon Aug 03 2015 - 08:48:08 EST


On Mon, Aug 03, 2015 at 12:44:39PM +0100, Sudeep Holla wrote:
>
>
> On 03/08/15 12:23, Liviu Dudau wrote:
> > On Fri, Jul 31, 2015 at 06:43:09PM +0100, Sudeep Holla wrote:
> >> This patch adds support for the MHU mailbox peripheral used on Juno by
> >> application processors to communicate with remote SCP handling most of
> >> the CPU/system power management. It also adds the SRAM reserving the
> >> shared memory and SCPI message protocol using that shared memory.
> >>
> >> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
> >> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx>
> >> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx>
> >> ---
> >> arch/arm64/boot/dts/arm/juno-base.dtsi | 54 ++++++++++++++++++++++++++++++++++
> >> 1 file changed, 54 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
> >> index e3ee96036eca..c624208edef6 100644
> >> --- a/arch/arm64/boot/dts/arm/juno-base.dtsi
> >> +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
> >> @@ -17,6 +17,18 @@
> >> };
> >> };
> >>
> >> + mailbox: mhu@2b1f0000 {
> >> + compatible = "arm,mhu", "arm,primecell";
> >> + reg = <0x0 0x2b1f0000 0x0 0x1000>;
> >> + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
> >> + <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
> >> + interrupt-names = "mhu_lpri_rx",
> >> + "mhu_hpri_rx";
> >> + #mbox-cells = <1>;
> >> + clocks = <&soc_refclk100mhz>;
> >> + clock-names = "apb_pclk";
> >> + };
> >> +
> >> gic: interrupt-controller@2c010000 {
> >> compatible = "arm,gic-400", "arm,cortex-a15-gic";
> >> reg = <0x0 0x2c010000 0 0x1000>,
> >> @@ -44,6 +56,48 @@
> >> <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
> >> };
> >>
> >> + sram: sram@2e000000 {
> >> + compatible = "arm,juno-sram-ns", "mmio-sram";
> >> + reg = <0x0 0x2e000000 0x0 0x8000>;
> >> +
> >> + #address-cells = <1>;
> >> + #size-cells = <1>;
> >> + ranges = <0 0x0 0x2e000000 0x8000>;
> >> +
> >> + cpu_scp_lpri: scp-shmem@0 {
> >> + compatible = "arm,juno-scp-shmem";
> >> + reg = <0x0 0x200>;
> >> + };
> >> +
> >> + cpu_scp_hpri: scp-shmem@200 {
> >> + compatible = "arm,juno-scp-shmem";
> >> + reg = <0x200 0x200>;
> >> + };
> >> + };
> >> +
> >> + scpi {
> >> + compatible = "arm,scpi";
> >> + mboxes = <&mailbox 1>;
> >> + shmem = <&cpu_scp_hpri>;
> >> +
> >> + clocks {
> >> + compatible = "arm,scpi-clocks";
> >> +
> >> + scpi_dvfs: scpi_clocks@0 {
> >> + compatible = "arm,scpi-dvfs-clocks";
> >> + #clock-cells = <1>;
> >> + clock-indices = <0>, <1>, <2>;
> >> + clock-output-names = "atlclk", "aplclk","gpuclk";
> >> + };
> >> + scpi_clk: scpi_clocks@3 {
> >> + compatible = "arm,scpi-variable-clocks";
> >> + #clock-cells = <1>;
> >> + clock-indices = <3>, <4>;
> >> + clock-output-names = "pxlclk0", "pxlclk1";
> >> + };
> >> + };
> >> + };
> >> +
> >
> > Sorry for noticing this after the ACK, is there any reason why the scpi node is not inside
> > the juno-clocks.dtsi file?
> >
>
> Yes, scpi node will have other nodes like sensors/hwmon. So the whole
> scpi node can't sit in juno-clocks. Ideally the clocks belongs to
> juno-clocks, but I got troubles with the way the DTSI are includes and
> could not keep scpi node in base and just update clocks in
> juno-clocks.dtsi. It needs some rework the way include file are used.
> It's in my todo and I will look at that when I get time.

OK, it makes sense. I haven't had a chance to go through Punit's series yet,
I've missed the fact that thermal is going to be attached to this node as well.

Best regards,
Liviu

>
> Regards,
> Sudeep
>

--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
Â\_(ã)_/Â

--
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/