Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1440047 > unrolled thread

[PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900

Started byWan Zongshun <vw@iommu.org>
First post2016-07-10 09:50 +0200
Last post2016-07-21 13:00 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900 Wan Zongshun <vw@iommu.org> - 2016-07-10 09:50 +0200
    Re: [PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900 Arnd Bergmann <arnd@arndb.de> - 2016-07-11 00:20 +0200
    Re: [PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900 Arnd Bergmann <arnd@arndb.de> - 2016-07-11 00:20 +0200
      Re: [PATCH v2 09/10] Documentation: devicetree: Add dts description  for nuc900 Wan Zongshun <vw@iommu.org> - 2016-07-11 04:20 +0200
        Re: [PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900 Arnd Bergmann <arnd@arndb.de> - 2016-07-21 13:00 +0200

#1440047 — [PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900

FromWan Zongshun <vw@iommu.org>
Date2016-07-10 09:50 +0200
Subject[PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900
Message-ID<rThEZ-65d-7@gated-at.bofh.it>
This patch is to add dts description for nuc900 platform.

Signed-off-by: Wan Zongshun <mcuos.com@gmail.com>
---
 .../devicetree/bindings/arm/nuvoton/nuc970.txt     | 12 ++++++++++++
 .../bindings/clock/nuvoton,nuc970-clk.txt          | 13 +++++++++++++
 .../interrupt-controller/nuvoton,nuc900-aic.txt    | 15 +++++++++++++++
 .../bindings/reset/nuvoton,nuc900-reset.txt        | 12 ++++++++++++
 .../devicetree/bindings/serial/nuc970-uart.txt     | 22 ++++++++++++++++++++++
 .../bindings/soc/nuvoton/nuvoton,nuc900-soc.txt    | 12 ++++++++++++
 .../bindings/timer/nuvoton,nuc970-tmr.txt          | 20 ++++++++++++++++++++
 7 files changed, 106 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/nuvoton/nuc970.txt
 create mode 100644 Documentation/devicetree/bindings/clock/nuvoton,nuc970-clk.txt
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/nuvoton,nuc900-aic.txt
 create mode 100644 Documentation/devicetree/bindings/reset/nuvoton,nuc900-reset.txt
 create mode 100644 Documentation/devicetree/bindings/serial/nuc970-uart.txt
 create mode 100644 Documentation/devicetree/bindings/soc/nuvoton/nuvoton,nuc900-soc.txt
 create mode 100644 Documentation/devicetree/bindings/timer/nuvoton,nuc970-tmr.txt

diff --git a/Documentation/devicetree/bindings/arm/nuvoton/nuc970.txt b/Documentation/devicetree/bindings/arm/nuvoton/nuc970.txt
new file mode 100644
index 0000000..0872f6f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/nuvoton/nuc970.txt
@@ -0,0 +1,12 @@
+Nuvoton NUC970 SoC platform Device Tree Bindings
+------------------------------------------
+
+Boards with the NUC970 SoC shall have the following properties:
+
+Root node required properties:
+- compatible: Should be "syscon" or "nuvoton,nuc970-gcr"
+
+GCR register required properties:
+- compatible: Should be "nuvoton,nuc970-gcr"
+- reg: Should contain registers location and length
+
diff --git a/Documentation/devicetree/bindings/clock/nuvoton,nuc970-clk.txt b/Documentation/devicetree/bindings/clock/nuvoton,nuc970-clk.txt
new file mode 100644
index 0000000..82fcf32
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/nuvoton,nuc970-clk.txt
@@ -0,0 +1,13 @@
+NUC970 Clock Controller
+
+Clock required properties:
+- compatible: Should be "nuvoton,nuc970-clk"
+- reg: Should contain registers location and length
+
+Examples:
+
+clks: clk@b0000200 {
+	compatible = "nuvoton,nuc970-clk";
+	reg = <0xb0000200 0x200>;
+	#clock-cells = <1>;
+};
diff --git a/Documentation/devicetree/bindings/interrupt-controller/nuvoton,nuc900-aic.txt b/Documentation/devicetree/bindings/interrupt-controller/nuvoton,nuc900-aic.txt
new file mode 100644
index 0000000..f265095
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/nuvoton,nuc900-aic.txt
@@ -0,0 +1,15 @@
+NUC900 interrupt Controller
+
+Interrupt-controller required properties
+- compatible: Should be "nuvoton,nuc900-aic"
+- reg: Should contain registers location and length
+- interrupt-cells: set to 1
+
+Examples:
+
+aic: interrupt-controller@b8002000 {
+	compatible = "nuvoton,nuc900-aic";
+	interrupt-controller;
+	#interrupt-cells = <1>;
+	reg = <0xb8002000 0x1000>;
+};
diff --git a/Documentation/devicetree/bindings/reset/nuvoton,nuc900-reset.txt b/Documentation/devicetree/bindings/reset/nuvoton,nuc900-reset.txt
new file mode 100644
index 0000000..ab6056a
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/nuvoton,nuc900-reset.txt
@@ -0,0 +1,12 @@
+. Nuvoton NUC900 series, reset controller binding.
+
+Required properties:
+- compatible : Should be "nuvoton,nuc900-reset"
+- syscon : Reference to gcr controller.
+
+Example:
+
+reset {
+	compatible = "nuvoton,nuc900-reset";
+	syscon = <&gcr>;
+};
diff --git a/Documentation/devicetree/bindings/serial/nuc970-uart.txt b/Documentation/devicetree/bindings/serial/nuc970-uart.txt
new file mode 100644
index 0000000..a143a5e
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/nuc970-uart.txt
@@ -0,0 +1,22 @@
+NUC970 UART Controller
+
+Uart required properties:
+- compatible: Should be "nuvoton,nuc970-uart"
+- reg: Should contain registers location and length
+
+Examples:
+
+aliases {
+	serial0 = &uart0;
+};
+
+uart0: serial@b8000000 {
+	compatible = "nuvoton,nuc970-uart";
+	reg = <0xb8000000 0x1000>;
+	interrupts = <36>;
+	clocks = <&clks UART0_GATE>,
+		 <&clks UART0_ECLK_GATE>;
+	clock-names = "uart0", "uart0_eclk";
+	clock-frequency = <12000000>;
+	status = "disabled";
+};
diff --git a/Documentation/devicetree/bindings/soc/nuvoton/nuvoton,nuc900-soc.txt b/Documentation/devicetree/bindings/soc/nuvoton/nuvoton,nuc900-soc.txt
new file mode 100644
index 0000000..0284edf
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/nuvoton/nuvoton,nuc900-soc.txt
@@ -0,0 +1,12 @@
+. Nuvoton NUC900 series, Soc specific driver binding.
+
+Required properties:
+- compatible : Should be "nuvoton,nuc900-soc"
+- syscon : Reference to gcr controller.
+
+Example:
+
+reset {
+	compatible = "nuvoton,nuc900-soc";
+	syscon = <&gcr>;
+};
diff --git a/Documentation/devicetree/bindings/timer/nuvoton,nuc970-tmr.txt b/Documentation/devicetree/bindings/timer/nuvoton,nuc970-tmr.txt
new file mode 100644
index 0000000..4d74615
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/nuvoton,nuc970-tmr.txt
@@ -0,0 +1,20 @@
+. Nuvoton NUC900 series, NUC970 SoC timer
+
+The NUC900 family has several general-purpose 32 bits timers.
+
+Required properties:
+- compatible : Should be "nuvoton,nuc970-tmr"
+- reg : Address and length of the register set
+- clocks : Reference on the timer input clock
+- interrupts : Reference to the timer interrupt
+
+Example:
+
+tmr@0xb8001000 {
+	compatible = "nuvoton,nuc970-tmr";
+	reg = <0xb8001000 0x1000>;
+	interrupts = <16>;
+	clocks = <&clks TIMER0_GATE>,
+	<&clks TIMER1_GATE>;
+	clock-names = "timer0", "timer1";
+};
-- 
2.7.4

[toc] | [next] | [standalone]


#1440178

FromArnd Bergmann <arnd@arndb.de>
Date2016-07-11 00:20 +0200
Message-ID<rTveV-6MU-1@gated-at.bofh.it>
In reply to#1440047
On Sunday, July 10, 2016 3:42:21 PM CEST Wan Zongshun wrote:
> diff --git a/Documentation/devicetree/bindings/soc/nuvoton/nuvoton,nuc900-soc.txt b/Documentation/devicetree/bindings/soc/nuvoton/nuvoton,nuc900-soc.txt
> new file mode 100644
> index 0000000..0284edf
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/nuvoton/nuvoton,nuc900-soc.txt
> @@ -0,0 +1,12 @@
> +. Nuvoton NUC900 series, Soc specific driver binding.
> +
> +Required properties:
> +- compatible : Should be "nuvoton,nuc900-soc"
> +- syscon : Reference to gcr controller.
> +
> +Example:
> +
> +reset {
> +       compatible = "nuvoton,nuc900-soc";
> +       syscon = <&gcr>;
> +};

I think this one should be dropped: Instead of modeling the DT based on what
is convenient for the current Linux driver implementation, we only want to
list devices in the dts that are physically present, and the "soc" is really
the sum of all the on-chip devices.

Better change the soc_device driver to bind directly to the "nuvoton,nuc970-gcr"
device.

	Arnd

[toc] | [prev] | [next] | [standalone]


#1440179

FromArnd Bergmann <arnd@arndb.de>
Date2016-07-11 00:20 +0200
Message-ID<rTveV-6MU-3@gated-at.bofh.it>
In reply to#1440047
On Sunday, July 10, 2016 3:42:21 PM CEST Wan Zongshun wrote:
> +
> +Required properties:
> +- compatible : Should be "nuvoton,nuc970-tmr"
> +- reg : Address and length of the register set
> +- clocks : Reference on the timer input clock
> +- interrupts : Reference to the timer interrupt
> +
> +Example:
> +
> +tmr@0xb8001000 {

The name should be "timer", not "tmr", and the address should
not contain a leading "0x".

> +       compatible = "nuvoton,nuc970-tmr";
> +       reg = <0xb8001000 0x1000>;
> +       interrupts = <16>;
> +       clocks = <&clks TIMER0_GATE>,
> +       <&clks TIMER1_GATE>;
> +       clock-names = "timer0", "timer1";
> +};

The clocks/clock-names description does not match the example:
you only define a single clock in the required properties, but
have two separate inputs in the example. Please fix one or the
other.

	Arnd

[toc] | [prev] | [next] | [standalone]


#1440203 — Re: [PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900

FromWan Zongshun <vw@iommu.org>
Date2016-07-11 04:20 +0200
SubjectRe: [PATCH v2 09/10] Documentation: devicetree: Add dts description for nuc900
Message-ID<rTyZb-Pn-1@gated-at.bofh.it>
In reply to#1440179

On 2016年07月11日 06:17, Arnd Bergmann wrote:
> On Sunday, July 10, 2016 3:42:21 PM CEST Wan Zongshun wrote:
>> +
>> +Required properties:
>> +- compatible : Should be "nuvoton,nuc970-tmr"
>> +- reg : Address and length of the register set
>> +- clocks : Reference on the timer input clock
>> +- interrupts : Reference to the timer interrupt
>> +
>> +Example:
>> +
>> +tmr@0xb8001000 {
>
> The name should be "timer", not "tmr", and the address should
> not contain a leading "0x".

Ok, so all dts addresses has no need contain a leading "0x"?

>
>> +       compatible = "nuvoton,nuc970-tmr";
>> +       reg = <0xb8001000 0x1000>;
>> +       interrupts = <16>;
>> +       clocks = <&clks TIMER0_GATE>,
>> +       <&clks TIMER1_GATE>;
>> +       clock-names = "timer0", "timer1";
>> +};
>
> The clocks/clock-names description does not match the example:
> you only define a single clock in the required properties, but
> have two separate inputs in the example. Please fix one or the
> other.

Two clocks are necessary, so I only need modify this description like?

Required properties:
   clocks : Reference on the timer input clock, This list should be 2
	   clocks, the order is timer0 , timer1.

Is it ok?

>
> 	Arnd
>
>

[toc] | [prev] | [next] | [standalone]


#1447793

FromArnd Bergmann <arnd@arndb.de>
Date2016-07-21 13:00 +0200
Message-ID<rXjRU-6ms-15@gated-at.bofh.it>
In reply to#1440203
On Monday, July 11, 2016 10:13:54 AM CEST Wan Zongshun wrote:
> 
> On 2016年07月11日 06:17, Arnd Bergmann wrote:
> > On Sunday, July 10, 2016 3:42:21 PM CEST Wan Zongshun wrote:
> >> +
> >> +Required properties:
> >> +- compatible : Should be "nuvoton,nuc970-tmr"
> >> +- reg : Address and length of the register set
> >> +- clocks : Reference on the timer input clock
> >> +- interrupts : Reference to the timer interrupt
> >> +
> >> +Example:
> >> +
> >> +tmr@0xb8001000 {
> >
> > The name should be "timer", not "tmr", and the address should
> > not contain a leading "0x".
> 
> Ok, so all dts addresses has no need contain a leading "0x"?

In properties, you need the leading 0x for hexadecimal numbers,
in the node name the portion after the "@" depends on the bus,
but is usually just the value of the address in hexadecimal
without the leading 0x.

> >
> >> +       compatible = "nuvoton,nuc970-tmr";
> >> +       reg = <0xb8001000 0x1000>;
> >> +       interrupts = <16>;
> >> +       clocks = <&clks TIMER0_GATE>,
> >> +       <&clks TIMER1_GATE>;
> >> +       clock-names = "timer0", "timer1";
> >> +};
> >
> > The clocks/clock-names description does not match the example:
> > you only define a single clock in the required properties, but
> > have two separate inputs in the example. Please fix one or the
> > other.
> 
> Two clocks are necessary, so I only need modify this description like?
> 
> Required properties:
>    clocks : Reference on the timer input clock, This list should be 2
> 	   clocks, the order is timer0 , timer1.
> 
> Is it ok?

Yes, looks good.

	Arnd

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web