From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Loc Ho <lho@apm.com>,
olof@lixom.net, tj@kernel.org, linux-scsi@vger.kernel.org,
jcm@redhat.com, Suman Tripathi <stripathi@apm.com>,
Tuan Phan <tphan@apm.com>
Subject: Re: [PATCH v2 5/5] Documentation: Add documentation for APM X-Gene SATA DTS binding
Date: Sun, 10 Nov 2013 21:39:09 +0100 [thread overview]
Message-ID: <201311102139.10082.arnd@arndb.de> (raw)
In-Reply-To: <1383980431-6572-6-git-send-email-lho@apm.com>
On Saturday 09 November 2013, Loc Ho wrote:
> Documentation: Add documentation for APM X-Gene SATA DTS binding
>
> Signed-off-by: Loc Ho <lho@apm.com>
> Signed-off-by: Tuan Phan <tphan@apm.com>
> Signed-off-by: Suman Tripathi <stripathi@apm.com>
> ---
> .../devicetree/bindings/ata/apm-xgene.txt | 84 ++++++++++++++++++++
Please Cc the devicetree-discuss mailing list for the binding submission.
> +SATA nodes are defined to describe on-chip Serial ATA controllers.
> +Each SATA controller (pair of ports) have its own node.
> +
> +Required properties:
> +- compatible : Shall be "apm,xgene-ahci"
> +- reg : First memory resource shall be the AHCI memory resource
> + Second memory resource shall be the Serdes memory resource
> + Third memory resource shall be the optional Serdes
> + memory resource if mux'ed with another IP
> +- interrupt-parent : Interrupt controller
> +- interrupts : Interrupt mapping for SATA IRQ
> +- #clock-cells : Shall be value of 1
Why is there a #clock-cells entry here?
> +- clocks : Reference to the clock entry
> +- clock-names : Shall be "eth01clk", "eth23clk", or "eth45clk".
This makes no sense. The clock-names property needs to have a fixed
string according to the name of the clock input signal of the hardware,
not a name of the clock provider.
> +- serdes-diff-clk : Shall be 0 for external, 1 internal differential,
> + or 2 internal single ended clock. Default is 0.
> +- gen-sel : Shall be 1 (force Gen1), 2 (Force Gen2, or 3 Gen3).
> + Default is 3.
> +- EQA1 : Serdes EQ parameter for A1 chip. Default is 9.
> +- EQ : Serdes EQ parameter for non-A1 chip. Default is 2.
> +- GENAVG : Enable averaging Serdes calculation. Default is 0 for
> + A1 chip and 1 for non-A1 chip.
> +- LBA1 : Serdes loopback buffer for A1 chip. Default is 1;
> +- LB : Serdes loopback buffer for non-A1 chip. Default is 0;
> +- LCA1 : Serdes loopback enable control for A1 chip. Default
> + is 1;
> +- LC : Serdes loopback enable control for non-A1 chip.
> + Default is 0;
> +- CDRA1 : Serdes SPD select CDR for A1 chip. Default is 5.
> +- CDR : Serdes SPD select CDR for non-A1 chip. Default is 5.
> +- PQA1 : Serdes PQ for A1 chip. Default is 8.
> +- PQ : Serdes PQ for non-A1 chip. Default is 0xA.
> +- coherent : Enable coherent (1 = enable, 0 = disable).
> + Default is 1.
This looks like a really bad binding. I would suggest that instead of having
individual register values in here, you hardwire the settings in the driver
based on the compatible string. It's pretty crazy to put register-level configuration
in the DT like this.
Further, you should probably use the generic PHY binding to create a separate driver
for the serdes PHY,
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 5/5] Documentation: Add documentation for APM X-Gene SATA DTS binding
Date: Sun, 10 Nov 2013 21:39:09 +0100 [thread overview]
Message-ID: <201311102139.10082.arnd@arndb.de> (raw)
In-Reply-To: <1383980431-6572-6-git-send-email-lho@apm.com>
On Saturday 09 November 2013, Loc Ho wrote:
> Documentation: Add documentation for APM X-Gene SATA DTS binding
>
> Signed-off-by: Loc Ho <lho@apm.com>
> Signed-off-by: Tuan Phan <tphan@apm.com>
> Signed-off-by: Suman Tripathi <stripathi@apm.com>
> ---
> .../devicetree/bindings/ata/apm-xgene.txt | 84 ++++++++++++++++++++
Please Cc the devicetree-discuss mailing list for the binding submission.
> +SATA nodes are defined to describe on-chip Serial ATA controllers.
> +Each SATA controller (pair of ports) have its own node.
> +
> +Required properties:
> +- compatible : Shall be "apm,xgene-ahci"
> +- reg : First memory resource shall be the AHCI memory resource
> + Second memory resource shall be the Serdes memory resource
> + Third memory resource shall be the optional Serdes
> + memory resource if mux'ed with another IP
> +- interrupt-parent : Interrupt controller
> +- interrupts : Interrupt mapping for SATA IRQ
> +- #clock-cells : Shall be value of 1
Why is there a #clock-cells entry here?
> +- clocks : Reference to the clock entry
> +- clock-names : Shall be "eth01clk", "eth23clk", or "eth45clk".
This makes no sense. The clock-names property needs to have a fixed
string according to the name of the clock input signal of the hardware,
not a name of the clock provider.
> +- serdes-diff-clk : Shall be 0 for external, 1 internal differential,
> + or 2 internal single ended clock. Default is 0.
> +- gen-sel : Shall be 1 (force Gen1), 2 (Force Gen2, or 3 Gen3).
> + Default is 3.
> +- EQA1 : Serdes EQ parameter for A1 chip. Default is 9.
> +- EQ : Serdes EQ parameter for non-A1 chip. Default is 2.
> +- GENAVG : Enable averaging Serdes calculation. Default is 0 for
> + A1 chip and 1 for non-A1 chip.
> +- LBA1 : Serdes loopback buffer for A1 chip. Default is 1;
> +- LB : Serdes loopback buffer for non-A1 chip. Default is 0;
> +- LCA1 : Serdes loopback enable control for A1 chip. Default
> + is 1;
> +- LC : Serdes loopback enable control for non-A1 chip.
> + Default is 0;
> +- CDRA1 : Serdes SPD select CDR for A1 chip. Default is 5.
> +- CDR : Serdes SPD select CDR for non-A1 chip. Default is 5.
> +- PQA1 : Serdes PQ for A1 chip. Default is 8.
> +- PQ : Serdes PQ for non-A1 chip. Default is 0xA.
> +- coherent : Enable coherent (1 = enable, 0 = disable).
> + Default is 1.
This looks like a really bad binding. I would suggest that instead of having
individual register values in here, you hardwire the settings in the driver
based on the compatible string. It's pretty crazy to put register-level configuration
in the DT like this.
Further, you should probably use the generic PHY binding to create a separate driver
for the serdes PHY,
Arnd
next prev parent reply other threads:[~2013-11-10 20:39 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-09 7:00 [PATCH v2 0/5] ata: Add APM X-Gene SATA controller support Loc Ho
2013-11-09 7:00 ` Loc Ho
2013-11-09 7:00 ` [PATCH v2 1/5] ata: Export AHCI library functions required by APM X-Gene SATA driver Loc Ho
2013-11-09 7:00 ` Loc Ho
2013-11-09 7:00 ` [PATCH v2 2/5] arm64: Add APM X-Gene DTS entry for SATA controllers Loc Ho
2013-11-09 7:00 ` Loc Ho
2013-11-09 7:00 ` [PATCH v2 3/5] ata: Add APM X-Gene SATA driver Loc Ho
2013-11-09 7:00 ` Loc Ho
2013-11-09 7:00 ` [PATCH v2 4/5] ata: Add APM X-Gene SATA serdes functions Loc Ho
2013-11-09 7:00 ` Loc Ho
2013-11-09 7:00 ` [PATCH v2 5/5] Documentation: Add documentation for APM X-Gene SATA DTS binding Loc Ho
2013-11-09 7:00 ` Loc Ho
2013-11-10 20:39 ` Arnd Bergmann [this message]
2013-11-10 20:39 ` Arnd Bergmann
2013-11-11 17:50 ` Loc Ho
2013-11-11 17:50 ` Loc Ho
2013-11-11 19:06 ` Arnd Bergmann
2013-11-11 19:06 ` Arnd Bergmann
2013-11-10 21:06 ` [PATCH v2 3/5] ata: Add APM X-Gene SATA driver Arnd Bergmann
2013-11-10 21:06 ` Arnd Bergmann
2013-11-10 22:28 ` Olof Johansson
2013-11-10 22:28 ` Olof Johansson
2013-11-11 8:54 ` Arnd Bergmann
2013-11-11 8:54 ` Arnd Bergmann
2013-11-12 5:19 ` Loc Ho
2013-11-12 5:19 ` Loc Ho
2013-11-12 13:11 ` Arnd Bergmann
2013-11-12 13:11 ` Arnd Bergmann
2013-11-12 22:39 ` Loc Ho
2013-11-12 22:39 ` Loc Ho
2013-11-13 5:20 ` Kishon Vijay Abraham I
2013-11-13 5:20 ` Kishon Vijay Abraham I
2013-11-13 5:33 ` Loc Ho
2013-11-13 5:33 ` Loc Ho
2013-11-13 5:55 ` Kishon Vijay Abraham I
2013-11-13 5:55 ` Kishon Vijay Abraham I
2013-11-13 6:02 ` Loc Ho
2013-11-13 6:02 ` Loc Ho
2013-11-13 9:31 ` Kishon Vijay Abraham I
2013-11-13 9:31 ` Kishon Vijay Abraham I
2013-11-13 16:06 ` Loc Ho
2013-11-13 16:06 ` Loc Ho
2013-11-12 15:40 ` [PATCH v2 0/5] ata: Add APM X-Gene SATA controller support Bartlomiej Zolnierkiewicz
2013-11-12 15:40 ` Bartlomiej Zolnierkiewicz
2013-11-12 16:34 ` Sergei Shtylyov
2013-11-12 16:34 ` Sergei Shtylyov
2013-11-12 17:30 ` Bartlomiej Zolnierkiewicz
2013-11-12 17:30 ` Bartlomiej Zolnierkiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201311102139.10082.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=jcm@redhat.com \
--cc=lho@apm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=olof@lixom.net \
--cc=stripathi@apm.com \
--cc=tj@kernel.org \
--cc=tphan@apm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.