Re: [PATCH v3 2/2] arm64: Add Juno board device tree.

2014-11-26 Thread Marc Zyngier
On 26/11/14 10:59, Liviu Dudau wrote:
> On Wed, Nov 26, 2014 at 10:30:24AM +, Marc Zyngier wrote:
>> Hi Liviu,
>>
>> On 11/11/14 17:32, Liviu Dudau wrote:
>>> This adds support for ARM's Juno development board (rev 0).
>>> It enables most of the board peripherals: UART, I2C, USB, MMC and
>>> 100Mb ethernet. There is no support at the moment for clock setting
>>> and HDLCD driver which depends on it.
>>>
>>> Signed-off-by: Liviu Dudau 
>>> ---
>>>  arch/arm64/boot/dts/arm/Makefile  |   1 +
>>>  arch/arm64/boot/dts/arm/juno-clocks.dtsi  |  45 ++
>>>  arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 129 +++
>>>  arch/arm64/boot/dts/arm/juno.dts  | 218 
>>> ++
>>>  4 files changed, 393 insertions(+)
>>>  create mode 100644 arch/arm64/boot/dts/arm/juno-clocks.dtsi
>>>  create mode 100644 arch/arm64/boot/dts/arm/juno-motherboard.dtsi
>>>  create mode 100644 arch/arm64/boot/dts/arm/juno.dts
>>>
>>
>> [...]
>>
>>> diff --git a/arch/arm64/boot/dts/arm/juno.dts 
>>> b/arch/arm64/boot/dts/arm/juno.dts
>>> new file mode 100644
>>> index 000..097ecc4
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/arm/juno.dts
>>
>> [...]
>>
>>> +   timer {
>>> +   compatible = "arm,armv8-timer";
>>> +   interrupts = >> IRQ_TYPE_EDGE_RISING)>,
>>> +>> IRQ_TYPE_EDGE_RISING)>,
>>> +>> IRQ_TYPE_EDGE_RISING)>,
>>> +>> IRQ_TYPE_EDGE_RISING)>;
>>> +   };
>>
>> Sorry, I should have spotted this earlier: all these interrupts are
>> *level*, not edge. This happens to work because the GIC's config
>> register is RO for PPIs on Juno, but still...
> 
> Yes, I've seen your other email to Suravee regarding interrupt triggering and 
> I was trying to
> find the relevant bits in Juno to tell me why I've put the info in DT this 
> way. Maybe I *did*
> copy-paste this part from FVP DT though.
> 
> I will send a patch to Olof to update.

Yeah, looks like most (if not all) DTs in the tree are broken. Any
chance you could write a sweeping patch to fix them all (at least for
the ARM implementations)?

The APM and Cavium implementations also carry the same values, and I
suppose this is a bug too, but someone with access to documentation
should figure this out.

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3 2/2] arm64: Add Juno board device tree.

2014-11-26 Thread Liviu Dudau
On Wed, Nov 26, 2014 at 10:30:24AM +, Marc Zyngier wrote:
> Hi Liviu,
> 
> On 11/11/14 17:32, Liviu Dudau wrote:
> > This adds support for ARM's Juno development board (rev 0).
> > It enables most of the board peripherals: UART, I2C, USB, MMC and
> > 100Mb ethernet. There is no support at the moment for clock setting
> > and HDLCD driver which depends on it.
> > 
> > Signed-off-by: Liviu Dudau 
> > ---
> >  arch/arm64/boot/dts/arm/Makefile  |   1 +
> >  arch/arm64/boot/dts/arm/juno-clocks.dtsi  |  45 ++
> >  arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 129 +++
> >  arch/arm64/boot/dts/arm/juno.dts  | 218 
> > ++
> >  4 files changed, 393 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/arm/juno-clocks.dtsi
> >  create mode 100644 arch/arm64/boot/dts/arm/juno-motherboard.dtsi
> >  create mode 100644 arch/arm64/boot/dts/arm/juno.dts
> > 
> 
> [...]
> 
> > diff --git a/arch/arm64/boot/dts/arm/juno.dts 
> > b/arch/arm64/boot/dts/arm/juno.dts
> > new file mode 100644
> > index 000..097ecc4
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/arm/juno.dts
> 
> [...]
> 
> > +   timer {
> > +   compatible = "arm,armv8-timer";
> > +   interrupts =  > IRQ_TYPE_EDGE_RISING)>,
> > + > IRQ_TYPE_EDGE_RISING)>,
> > + > IRQ_TYPE_EDGE_RISING)>,
> > + > IRQ_TYPE_EDGE_RISING)>;
> > +   };
> 
> Sorry, I should have spotted this earlier: all these interrupts are
> *level*, not edge. This happens to work because the GIC's config
> register is RO for PPIs on Juno, but still...

Yes, I've seen your other email to Suravee regarding interrupt triggering and I 
was trying to
find the relevant bits in Juno to tell me why I've put the info in DT this way. 
Maybe I *did*
copy-paste this part from FVP DT though.

I will send a patch to Olof to update.

Best regards,
Liviu

> 
> Thanks,
> 
>   M.
> -- 
> Jazz is not dead. It just smells funny...
> 

-- 

| 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3 2/2] arm64: Add Juno board device tree.

2014-11-26 Thread Marc Zyngier
Hi Liviu,

On 11/11/14 17:32, Liviu Dudau wrote:
> This adds support for ARM's Juno development board (rev 0).
> It enables most of the board peripherals: UART, I2C, USB, MMC and
> 100Mb ethernet. There is no support at the moment for clock setting
> and HDLCD driver which depends on it.
> 
> Signed-off-by: Liviu Dudau 
> ---
>  arch/arm64/boot/dts/arm/Makefile  |   1 +
>  arch/arm64/boot/dts/arm/juno-clocks.dtsi  |  45 ++
>  arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 129 +++
>  arch/arm64/boot/dts/arm/juno.dts  | 218 
> ++
>  4 files changed, 393 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/arm/juno-clocks.dtsi
>  create mode 100644 arch/arm64/boot/dts/arm/juno-motherboard.dtsi
>  create mode 100644 arch/arm64/boot/dts/arm/juno.dts
> 

[...]

> diff --git a/arch/arm64/boot/dts/arm/juno.dts 
> b/arch/arm64/boot/dts/arm/juno.dts
> new file mode 100644
> index 000..097ecc4
> --- /dev/null
> +++ b/arch/arm64/boot/dts/arm/juno.dts

[...]

> +   timer {
> +   compatible = "arm,armv8-timer";
> +   interrupts =  IRQ_TYPE_EDGE_RISING)>,
> + IRQ_TYPE_EDGE_RISING)>,
> + IRQ_TYPE_EDGE_RISING)>,
> + IRQ_TYPE_EDGE_RISING)>;
> +   };

Sorry, I should have spotted this earlier: all these interrupts are
*level*, not edge. This happens to work because the GIC's config
register is RO for PPIs on Juno, but still...

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3 2/2] arm64: Add Juno board device tree.

2014-11-26 Thread Marc Zyngier
Hi Liviu,

On 11/11/14 17:32, Liviu Dudau wrote:
 This adds support for ARM's Juno development board (rev 0).
 It enables most of the board peripherals: UART, I2C, USB, MMC and
 100Mb ethernet. There is no support at the moment for clock setting
 and HDLCD driver which depends on it.
 
 Signed-off-by: Liviu Dudau liviu.du...@arm.com
 ---
  arch/arm64/boot/dts/arm/Makefile  |   1 +
  arch/arm64/boot/dts/arm/juno-clocks.dtsi  |  45 ++
  arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 129 +++
  arch/arm64/boot/dts/arm/juno.dts  | 218 
 ++
  4 files changed, 393 insertions(+)
  create mode 100644 arch/arm64/boot/dts/arm/juno-clocks.dtsi
  create mode 100644 arch/arm64/boot/dts/arm/juno-motherboard.dtsi
  create mode 100644 arch/arm64/boot/dts/arm/juno.dts
 

[...]

 diff --git a/arch/arm64/boot/dts/arm/juno.dts 
 b/arch/arm64/boot/dts/arm/juno.dts
 new file mode 100644
 index 000..097ecc4
 --- /dev/null
 +++ b/arch/arm64/boot/dts/arm/juno.dts

[...]

 +   timer {
 +   compatible = arm,armv8-timer;
 +   interrupts = GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING),
 +GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING),
 +GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING),
 +GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING);
 +   };

Sorry, I should have spotted this earlier: all these interrupts are
*level*, not edge. This happens to work because the GIC's config
register is RO for PPIs on Juno, but still...

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3 2/2] arm64: Add Juno board device tree.

2014-11-26 Thread Liviu Dudau
On Wed, Nov 26, 2014 at 10:30:24AM +, Marc Zyngier wrote:
 Hi Liviu,
 
 On 11/11/14 17:32, Liviu Dudau wrote:
  This adds support for ARM's Juno development board (rev 0).
  It enables most of the board peripherals: UART, I2C, USB, MMC and
  100Mb ethernet. There is no support at the moment for clock setting
  and HDLCD driver which depends on it.
  
  Signed-off-by: Liviu Dudau liviu.du...@arm.com
  ---
   arch/arm64/boot/dts/arm/Makefile  |   1 +
   arch/arm64/boot/dts/arm/juno-clocks.dtsi  |  45 ++
   arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 129 +++
   arch/arm64/boot/dts/arm/juno.dts  | 218 
  ++
   4 files changed, 393 insertions(+)
   create mode 100644 arch/arm64/boot/dts/arm/juno-clocks.dtsi
   create mode 100644 arch/arm64/boot/dts/arm/juno-motherboard.dtsi
   create mode 100644 arch/arm64/boot/dts/arm/juno.dts
  
 
 [...]
 
  diff --git a/arch/arm64/boot/dts/arm/juno.dts 
  b/arch/arm64/boot/dts/arm/juno.dts
  new file mode 100644
  index 000..097ecc4
  --- /dev/null
  +++ b/arch/arm64/boot/dts/arm/juno.dts
 
 [...]
 
  +   timer {
  +   compatible = arm,armv8-timer;
  +   interrupts = GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | 
  IRQ_TYPE_EDGE_RISING),
  +GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | 
  IRQ_TYPE_EDGE_RISING),
  +GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | 
  IRQ_TYPE_EDGE_RISING),
  +GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | 
  IRQ_TYPE_EDGE_RISING);
  +   };
 
 Sorry, I should have spotted this earlier: all these interrupts are
 *level*, not edge. This happens to work because the GIC's config
 register is RO for PPIs on Juno, but still...

Yes, I've seen your other email to Suravee regarding interrupt triggering and I 
was trying to
find the relevant bits in Juno to tell me why I've put the info in DT this way. 
Maybe I *did*
copy-paste this part from FVP DT though.

I will send a patch to Olof to update.

Best regards,
Liviu

 
 Thanks,
 
   M.
 -- 
 Jazz is not dead. It just smells funny...
 

-- 

| 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3 2/2] arm64: Add Juno board device tree.

2014-11-26 Thread Marc Zyngier
On 26/11/14 10:59, Liviu Dudau wrote:
 On Wed, Nov 26, 2014 at 10:30:24AM +, Marc Zyngier wrote:
 Hi Liviu,

 On 11/11/14 17:32, Liviu Dudau wrote:
 This adds support for ARM's Juno development board (rev 0).
 It enables most of the board peripherals: UART, I2C, USB, MMC and
 100Mb ethernet. There is no support at the moment for clock setting
 and HDLCD driver which depends on it.

 Signed-off-by: Liviu Dudau liviu.du...@arm.com
 ---
  arch/arm64/boot/dts/arm/Makefile  |   1 +
  arch/arm64/boot/dts/arm/juno-clocks.dtsi  |  45 ++
  arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 129 +++
  arch/arm64/boot/dts/arm/juno.dts  | 218 
 ++
  4 files changed, 393 insertions(+)
  create mode 100644 arch/arm64/boot/dts/arm/juno-clocks.dtsi
  create mode 100644 arch/arm64/boot/dts/arm/juno-motherboard.dtsi
  create mode 100644 arch/arm64/boot/dts/arm/juno.dts


 [...]

 diff --git a/arch/arm64/boot/dts/arm/juno.dts 
 b/arch/arm64/boot/dts/arm/juno.dts
 new file mode 100644
 index 000..097ecc4
 --- /dev/null
 +++ b/arch/arm64/boot/dts/arm/juno.dts

 [...]

 +   timer {
 +   compatible = arm,armv8-timer;
 +   interrupts = GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING),
 +GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING),
 +GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING),
 +GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | 
 IRQ_TYPE_EDGE_RISING);
 +   };

 Sorry, I should have spotted this earlier: all these interrupts are
 *level*, not edge. This happens to work because the GIC's config
 register is RO for PPIs on Juno, but still...
 
 Yes, I've seen your other email to Suravee regarding interrupt triggering and 
 I was trying to
 find the relevant bits in Juno to tell me why I've put the info in DT this 
 way. Maybe I *did*
 copy-paste this part from FVP DT though.
 
 I will send a patch to Olof to update.

Yeah, looks like most (if not all) DTs in the tree are broken. Any
chance you could write a sweeping patch to fix them all (at least for
the ARM implementations)?

The APM and Cavium implementations also carry the same values, and I
suppose this is a bug too, but someone with access to documentation
should figure this out.

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/