Re: [PATCH 01/13] ARM: shmobile: r8a7792: add clock index macros

2016-06-23 Thread Sergei Shtylyov

On 6/23/2016 1:33 AM, Simon Horman wrote:


Add macros usable by the device tree sources to reference the R8A7792
clocks  by index.

Signed-off-by: Sergei Shtylyov 

---
include/dt-bindings/clock/r8a7792-clock.h |  104 ++
1 file changed, 104 insertions(+)

Index: renesas/include/dt-bindings/clock/r8a7792-clock.h
===
--- /dev/null
+++ renesas/include/dt-bindings/clock/r8a7792-clock.h
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2016 Cogent Embedded, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_R8A7792_H__
+#define __DT_BINDINGS_CLOCK_R8A7792_H__
+
+/* CPG */
+#define R8A7792_CLK_MAIN   0
+#define R8A7792_CLK_PLL0   1
+#define R8A7792_CLK_PLL1   2
+#define R8A7792_CLK_PLL3   3
+#define R8A7792_CLK_LB 4
+#define R8A7792_CLK_QSPI   5
+#define R8A7792_CLK_SDH6
+#define R8A7792_CLK_SD07
+#define R8A7792_CLK_SD18
+#define R8A7792_CLK_Z  9


According to my copy of the documentation (v2.00) SDH, SD0 and SD1 do
not seem to be provided by the r8a7792 CPG.


   I've just downloaded and opened rev2.00 manual, and still, there's no
CPG registers other than FRQCRB on V2H.


It does, however, provide RCAN and ADSP which are supported by the CPG
driver. You may wish to add them now for completeness though from my point
of view they could also be added later when they are used.


   My copy of the manual says there's no ADSP on V2H, and thus no ADSP clock.


I was looking at Figure 7.1c. Perhaps it is inaccurate.


   Indeed, it's the only place where the ADSP clock is mentioned for V2H, and 
it looks like this is in error. I guess I'll try to verify if there's writable 
ADSPCKCR and then remove the ADSP clock if not.


MBR, Sergei



Re: [PATCH 01/13] ARM: shmobile: r8a7792: add clock index macros

2016-06-23 Thread Geert Uytterhoeven
On Thu, Jun 23, 2016 at 12:33 AM, Simon Horman  wrote:
> On Wed, Jun 22, 2016 at 10:52:04PM +0300, Sergei Shtylyov wrote:
>>I've just downloaded and opened rev2.00 manual, and still, there's no
>> CPG registers other than FRQCRB on V2H.
>>
>> >It does, however, provide RCAN and ADSP which are supported by the CPG
>> >driver. You may wish to add them now for completeness though from my point
>> >of view they could also be added later when they are used.
>>
>>My copy of the manual says there's no ADSP on V2H, and thus no ADSP clock.
>
> I was looking at Figure 7.1c. Perhaps it is inaccurate.

Probably, the ADSP is missing for V2H in all other sections of the datasheet:
  - There's no ADSP clock in Table 7.2c,
  - ADSPCKCR does not exist according to Table 7.10,
  - There are no ADSP MSSR bits, interrupts, or micro-TLBs,
  - The audio and ADSP modules do not exist.

Of course that's the datasheet, there may still be actual hardware listening
when you try to talk to it ;-)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


Re: [PATCH 01/13] ARM: shmobile: r8a7792: add clock index macros

2016-06-22 Thread Simon Horman
On Wed, Jun 22, 2016 at 10:52:04PM +0300, Sergei Shtylyov wrote:
> On 06/01/2016 03:52 AM, Simon Horman wrote:
> 
> >>Add macros usable by the device tree sources to reference the R8A7792
> >>clocks  by index.
> >>
> >>Signed-off-by: Sergei Shtylyov 
> >>
> >>---
> >> include/dt-bindings/clock/r8a7792-clock.h |  104 
> >> ++
> >> 1 file changed, 104 insertions(+)
> >>
> >>Index: renesas/include/dt-bindings/clock/r8a7792-clock.h
> >>===
> >>--- /dev/null
> >>+++ renesas/include/dt-bindings/clock/r8a7792-clock.h
> >>@@ -0,0 +1,104 @@
> >>+/*
> >>+ * Copyright (C) 2016 Cogent Embedded, Inc.
> >>+ *
> >>+ * This program is free software; you can redistribute it and/or modify
> >>+ * it under the terms of the GNU General Public License as published by
> >>+ * the Free Software Foundation; either version 2 of the License, or
> >>+ * (at your option) any later version.
> >>+ */
> >>+
> >>+#ifndef __DT_BINDINGS_CLOCK_R8A7792_H__
> >>+#define __DT_BINDINGS_CLOCK_R8A7792_H__
> >>+
> >>+/* CPG */
> >>+#define R8A7792_CLK_MAIN   0
> >>+#define R8A7792_CLK_PLL0   1
> >>+#define R8A7792_CLK_PLL1   2
> >>+#define R8A7792_CLK_PLL3   3
> >>+#define R8A7792_CLK_LB 4
> >>+#define R8A7792_CLK_QSPI   5
> >>+#define R8A7792_CLK_SDH6
> >>+#define R8A7792_CLK_SD07
> >>+#define R8A7792_CLK_SD18
> >>+#define R8A7792_CLK_Z  9
> >
> >According to my copy of the documentation (v2.00) SDH, SD0 and SD1 do
> >not seem to be provided by the r8a7792 CPG.
> 
>I've just downloaded and opened rev2.00 manual, and still, there's no
> CPG registers other than FRQCRB on V2H.
> 
> >It does, however, provide RCAN and ADSP which are supported by the CPG
> >driver. You may wish to add them now for completeness though from my point
> >of view they could also be added later when they are used.
> 
>My copy of the manual says there's no ADSP on V2H, and thus no ADSP clock.

I was looking at Figure 7.1c. Perhaps it is inaccurate.


Re: [PATCH 01/13] ARM: shmobile: r8a7792: add clock index macros

2016-06-01 Thread Sergei Shtylyov

On 06/01/2016 10:22 AM, Geert Uytterhoeven wrote:


Add macros usable by the device tree sources to reference the R8A7792
clocks  by index.

Signed-off-by: Sergei Shtylyov 

---
 include/dt-bindings/clock/r8a7792-clock.h |  104 ++
 1 file changed, 104 insertions(+)

Index: renesas/include/dt-bindings/clock/r8a7792-clock.h
===
--- /dev/null
+++ renesas/include/dt-bindings/clock/r8a7792-clock.h
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2016 Cogent Embedded, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_R8A7792_H__
+#define __DT_BINDINGS_CLOCK_R8A7792_H__
+
+/* CPG */
+#define R8A7792_CLK_MAIN   0
+#define R8A7792_CLK_PLL0   1
+#define R8A7792_CLK_PLL1   2
+#define R8A7792_CLK_PLL3   3
+#define R8A7792_CLK_LB 4
+#define R8A7792_CLK_QSPI   5
+#define R8A7792_CLK_SDH6
+#define R8A7792_CLK_SD07
+#define R8A7792_CLK_SD18


As Simon already pointed out, there are no ...SD* clocks on V2H.


   Right, looks like I shouldn't have trusted the original patch... :-/


+#define R8A7792_CLK_Z  9



+/* MSTP1 */
+#define R8A7792_CLK_TMU1   11
+#define R8A7792_CLK_TMU3   21
+#define R8A7792_CLK_TMU2   22
+#define R8A7792_CLK_CMT0   24
+#define R8A7792_CLK_TMU0   25
+#define R8A7792_CLK_VSP1DU127
+#define R8A7792_CLK_VSP1DU028
+#define R8A7792_CLK_VSP1_SY31


These are called ...VSP1_DU1, ...VSP1_DU0, and ...VSP1_S on all other
R-Car Gen2 SoCs.


   My naming comes from the 1.02 manual.


+/* MSTP2 */
+#define R8A7792_CLK_MSIOF1 8
+#define R8A7792_CLK_SYS_DMAC0  18


This is ...SYS_DMAC1


+#define R8A7792_CLK_SYS_DMAC1  19


... and this is ...SYS_DMAC0


   Thanks for catching!


+/* MSTP9 */
+#define R8A7792_CLK_GPIO7  4
+#define R8A7792_CLK_GPIO6  5
+#define R8A7792_CLK_GPIO5  7
+#define R8A7792_CLK_GPIO4  8
+#define R8A7792_CLK_GPIO3  9
+#define R8A7792_CLK_GPIO2  10
+#define R8A7792_CLK_GPIO1  11
+#define R8A7792_CLK_GPIO0  12
+#define R8A7792_CLK_GPIO11 13
+#define R8A7792_CLK_GPIO10 14
+#define R8A7792_CLK_CAN1   15
+#define R8A7792_CLK_CAN0   16


These are called ...RCAN1 and ...RCAR0 on all other R-Car Gen2 SoCs.


   Not in the 1.02 manual (they were called RCAN in some of the earlier 
manual revs). Dunno if it makes sense to rename them in the other .dts now...



Gr{oetje,eeting}s,

Geert


WBR, Sergei



Re: [PATCH 01/13] ARM: shmobile: r8a7792: add clock index macros

2016-06-01 Thread Sergei Shtylyov

On 06/01/2016 03:52 AM, Simon Horman wrote:


Add macros usable by the device tree sources to reference the R8A7792
clocks  by index.

Signed-off-by: Sergei Shtylyov 

---
 include/dt-bindings/clock/r8a7792-clock.h |  104 ++
 1 file changed, 104 insertions(+)

Index: renesas/include/dt-bindings/clock/r8a7792-clock.h
===
--- /dev/null
+++ renesas/include/dt-bindings/clock/r8a7792-clock.h
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2016 Cogent Embedded, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_R8A7792_H__
+#define __DT_BINDINGS_CLOCK_R8A7792_H__
+
+/* CPG */
+#define R8A7792_CLK_MAIN   0
+#define R8A7792_CLK_PLL0   1
+#define R8A7792_CLK_PLL1   2
+#define R8A7792_CLK_PLL3   3
+#define R8A7792_CLK_LB 4
+#define R8A7792_CLK_QSPI   5
+#define R8A7792_CLK_SDH6
+#define R8A7792_CLK_SD07
+#define R8A7792_CLK_SD18
+#define R8A7792_CLK_Z  9


According to my copy of the documentation (v2.00) SDH, SD0 and SD1 do
not seem to be provided by the r8a7792 CPG.


   Right, should have checked the original patch against the manual in that 
part as well... :-/



It does, however, provide RCAN and ADSP which are supported by the CPG
driver. You may wish to add them now for completeness though from my point
of view they could also be added later when they are used.


   Hm, the gen2 manual rev1.02 doesn't mention either of these clocks for V2H...
I still don't have 2.00. :-(


I reviewed the values below. They appear to be complete and correct.


   Geert has found some bug there. :-)

MBR, Sergei



Re: [PATCH 01/13] ARM: shmobile: r8a7792: add clock index macros

2016-05-31 Thread Simon Horman
On Wed, Jun 01, 2016 at 01:09:58AM +0300, Sergei Shtylyov wrote:
> Add macros usable by the device tree sources to reference the R8A7792
> clocks  by index.
> 
> Signed-off-by: Sergei Shtylyov 
> 
> ---
>  include/dt-bindings/clock/r8a7792-clock.h |  104 
> ++
>  1 file changed, 104 insertions(+)
> 
> Index: renesas/include/dt-bindings/clock/r8a7792-clock.h
> ===
> --- /dev/null
> +++ renesas/include/dt-bindings/clock/r8a7792-clock.h
> @@ -0,0 +1,104 @@
> +/*
> + * Copyright (C) 2016 Cogent Embedded, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#ifndef __DT_BINDINGS_CLOCK_R8A7792_H__
> +#define __DT_BINDINGS_CLOCK_R8A7792_H__
> +
> +/* CPG */
> +#define R8A7792_CLK_MAIN 0
> +#define R8A7792_CLK_PLL0 1
> +#define R8A7792_CLK_PLL1 2
> +#define R8A7792_CLK_PLL3 3
> +#define R8A7792_CLK_LB   4
> +#define R8A7792_CLK_QSPI 5
> +#define R8A7792_CLK_SDH  6
> +#define R8A7792_CLK_SD0  7
> +#define R8A7792_CLK_SD1  8
> +#define R8A7792_CLK_Z9

According to my copy of the documentation (v2.00) SDH, SD0 and SD1 do
not seem to be provided by the r8a7792 CPG.

It does, however, provide RCAN and ADSP which are supported by the CPG
driver. You may wish to add them now for completeness though from my point
of view they could also be added later when they are used.


I reviewed the values below. They appear to be complete and correct.

> +/* MSTP0 */
> +#define R8A7792_CLK_MSIOF0   0
> +
> +/* MSTP1 */
> +#define R8A7792_CLK_TMU1 11
> +#define R8A7792_CLK_TMU3 21
> +#define R8A7792_CLK_TMU2 22
> +#define R8A7792_CLK_CMT0 24
> +#define R8A7792_CLK_TMU0 25
> +#define R8A7792_CLK_VSP1DU1  27
> +#define R8A7792_CLK_VSP1DU0  28
> +#define R8A7792_CLK_VSP1_SY  31
> +/* MSTP2 */
> +#define R8A7792_CLK_MSIOF1   8
> +#define R8A7792_CLK_SYS_DMAC018
> +#define R8A7792_CLK_SYS_DMAC119

> +/* MSTP3 */
> +#define R8A7792_CLK_TPU0 4
> +#define R8A7792_CLK_SDHI014
> +#define R8A7792_CLK_CMT1 29
> +
> +/* MSTP4 */
> +#define R8A7792_CLK_IRQC 7
> +
> +/* MSTP5 */
> +#define R8A7792_CLK_AUDIO_DMAC0  2
> +#define R8A7792_CLK_THERMAL  22
> +#define R8A7792_CLK_PWM  23
> +
> +/* MSTP7 */
> +#define R8A7792_CLK_HSCIF1   16
> +#define R8A7792_CLK_HSCIF0   17
> +#define R8A7792_CLK_SCIF318
> +#define R8A7792_CLK_SCIF219
> +#define R8A7792_CLK_SCIF120
> +#define R8A7792_CLK_SCIF021
> +#define R8A7792_CLK_DU1  23
> +#define R8A7792_CLK_DU0  24
> +
> +/* MSTP8 */
> +#define R8A7792_CLK_VIN5 4
> +#define R8A7792_CLK_VIN4 5
> +#define R8A7792_CLK_VIN3 8
> +#define R8A7792_CLK_VIN2 9
> +#define R8A7792_CLK_VIN1 10
> +#define R8A7792_CLK_VIN0 11
> +#define R8A7792_CLK_ETHERAVB 12
> +
> +/* MSTP9 */
> +#define R8A7792_CLK_GPIO74
> +#define R8A7792_CLK_GPIO65
> +#define R8A7792_CLK_GPIO57
> +#define R8A7792_CLK_GPIO48
> +#define R8A7792_CLK_GPIO39
> +#define R8A7792_CLK_GPIO210
> +#define R8A7792_CLK_GPIO111
> +#define R8A7792_CLK_GPIO012
> +#define R8A7792_CLK_GPIO11   13
> +#define R8A7792_CLK_GPIO10   14
> +#define R8A7792_CLK_CAN1 15
> +#define R8A7792_CLK_CAN0 16
> +#define R8A7792_CLK_QSPI_MOD 17
> +#define R8A7792_CLK_GPIO919
> +#define R8A7792_CLK_GPIO821
> +#define R8A7792_CLK_I2C5 25
> +#define R8A7792_CLK_IICDVFS  26
> +#define R8A7792_CLK_I2C4 27
> +#define R8A7792_CLK_I2C3 28
> +#define R8A7792_CLK_I2C2 29
> +#define R8A7792_CLK_I2C1 30
> +#define R8A7792_CLK_I2C0 31
> +
> +/* MSTP10 */
> +#define R8A7792_CLK_SSI_ALL  5
> +#define R8A7792_CLK_SSI4 11
> +#define R8A7792_CLK_SSI3 12
> +
> +#endif /* __DT_BINDINGS_CLOCK_R8A7792_H__ */
>