Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1667458 > unrolled thread
| Started by | Bu Tao <butao@hisilicon.com> |
|---|---|
| First post | 2017-06-16 09:00 +0200 |
| Last post | 2017-06-17 00:00 +0200 |
| Articles | 2 — 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.
[PATCH v2 2/5] dt-bindings: scsi: ufs: add document for hi3660-ufs Bu Tao <butao@hisilicon.com> - 2017-06-16 09:00 +0200
Re: [PATCH v2 2/5] dt-bindings: scsi: ufs: add document for hi3660-ufs Arnd Bergmann <arnd@arndb.de> - 2017-06-17 00:00 +0200
| From | Bu Tao <butao@hisilicon.com> |
|---|---|
| Date | 2017-06-16 09:00 +0200 |
| Subject | [PATCH v2 2/5] dt-bindings: scsi: ufs: add document for hi3660-ufs |
| Message-ID | <tSToC-4Ym-17@gated-at.bofh.it> |
add ufs node document for hi3660
Signed-off-by: Bu Tao <butao@hisilicon.com>
---
.../devicetree/bindings/ufs/hi3660-ufs.txt | 58 ++++++++++++++++++++++
1 file changed, 58 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ufs/hi3660-ufs.txt
diff --git a/Documentation/devicetree/bindings/ufs/hi3660-ufs.txt b/Documentation/devicetree/bindings/ufs/hi3660-ufs.txt
new file mode 100644
index 000000000000..461afc8ef017
--- /dev/null
+++ b/Documentation/devicetree/bindings/ufs/hi3660-ufs.txt
@@ -0,0 +1,58 @@
+* Hisilicon Universal Flash Storage (UFS) Host Controller
+
+UFS nodes are defined to describe on-chip UFS hardware macro.
+Each UFS Host Controller should have its own node.
+
+Required properties:
+- compatible : compatible list, contains one of the following -
+ "hisilicon,hi3660-ufs" for hisi ufs host controller
+ present on Hi3660 chipset.
+- reg : should contain UFS register address space & UFS SYS CTRL register address,
+- interrupt-parent : interrupt device
+- interrupts : interrupt number
+- clocks : List of phandle and clock specifier pairs
+- clock-names : List of clock input name strings sorted in the same
+ order as the clocks property. "clk_ref", "clk_phy" is optional
+- resets : reset node register, one reset the clk and the other reset the controller
+- reset-names : describe reset node register
+
+Optional properties for board device:
+- ufs-hi3660-use-rate-B : specifies UFS rate-B
+- ufs-hi3660-broken-fastauto : specifies no fastauto
+- ufs-hi3660-use-HS-GEAR3 : specifies UFS HS-GEAR3
+- ufs-hi3660-use-HS-GEAR2 : specifies UFS HS-GEAR2
+- ufs-hi3660-use-HS-GEAR1 : specifies UFS HS-GEAR1
+- ufs-hi3660-broken-clk-gate-bypass : specifies no clk-gate
+- ufs-hi3660-use-one-line : specifies UFS use one line work
+- reset-gpio : specifies to reset devices
+
+Example:
+
+ ufs: ufs@ff3b0000 {
+ compatible = "jedec,ufs-1.1", "hisilicon,hi3660-ufs";
+ /* 0: HCI standard */
+ /* 1: UFS SYS CTRL */
+ reg = <0x0 0xff3b0000 0x0 0x1000>,
+ <0x0 0xff3b1000 0x0 0x1000>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
+ <&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
+ clock-names = "clk_ref", "clk_phy";
+ freq-table-hz = <0 0>, <0 0>;
+ /* offset: 0x84; bit: 12 */
+ /* offset: 0x84; bit: 7 */
+ resets = <&crg_rst 0x84 12>,
+ <&crg_rst 0x84 7>;
+ reset-names = "rst", "assert";
+ }
+
+ &ufs {
+ ufs-hi3660-use-rate-B;
+ ufs-hi3660-broken-fastauto;
+ ufs-hi3660-use-HS-GEAR3;
+ ufs-hi3660-broken-clk-gate-bypass;
+ reset-gpio = <&gpio18 1 0>;
+ status = "okay";
+ }
+
--
2.11.GIT
[toc] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-06-17 00:00 +0200 |
| Message-ID | <tT7rz-5Uk-9@gated-at.bofh.it> |
| In reply to | #1667458 |
On Fri, Jun 16, 2017 at 8:51 AM, Bu Tao <butao@hisilicon.com> wrote:
> add ufs node document for hi3660
>
> Signed-off-by: Bu Tao <butao@hisilicon.com>
> ---
> .../devicetree/bindings/ufs/hi3660-ufs.txt | 58 ++++++++++++++++++++++
> 1 file changed, 58 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ufs/hi3660-ufs.txt
>
> diff --git a/Documentation/devicetree/bindings/ufs/hi3660-ufs.txt b/Documentation/devicetree/bindings/ufs/hi3660-ufs.txt
> new file mode 100644
> index 000000000000..461afc8ef017
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ufs/hi3660-ufs.txt
> @@ -0,0 +1,58 @@
> +* Hisilicon Universal Flash Storage (UFS) Host Controller
> +
> +UFS nodes are defined to describe on-chip UFS hardware macro.
> +Each UFS Host Controller should have its own node.
> +
> +Required properties:
> +- compatible : compatible list, contains one of the following -
> + "hisilicon,hi3660-ufs" for hisi ufs host controller
> + present on Hi3660 chipset.
> +- reg : should contain UFS register address space & UFS SYS CTRL register address,
> +- interrupt-parent : interrupt device
> +- interrupts : interrupt number
> +- clocks : List of phandle and clock specifier pairs
> +- clock-names : List of clock input name strings sorted in the same
> + order as the clocks property. "clk_ref", "clk_phy" is optional
> +- resets : reset node register, one reset the clk and the other reset the controller
> +- reset-names : describe reset node register
> +
> +Optional properties for board device:
> +- ufs-hi3660-use-rate-B : specifies UFS rate-B
> +- ufs-hi3660-broken-fastauto : specifies no fastauto
> +- ufs-hi3660-use-HS-GEAR3 : specifies UFS HS-GEAR3
> +- ufs-hi3660-use-HS-GEAR2 : specifies UFS HS-GEAR2
> +- ufs-hi3660-use-HS-GEAR1 : specifies UFS HS-GEAR1
> +- ufs-hi3660-broken-clk-gate-bypass : specifies no clk-gate
> +- ufs-hi3660-use-one-line : specifies UFS use one line work
> +- reset-gpio : specifies to reset devices
Some of these sound rather generic and might apply to UFS implementations
other than hi3660, so I'd suggest adding them to the base ufs binding with
a generic name instead.
Any DT properties that might be useful across multiple implementations
should be parsed in generic code that gets called by the individual drivers,
and then the properties that are specific to the integration work done by
hisilicon should be prefixed with "hisilicon,", but not normally with the
SoC name: it is quite possible that another SoC will be derived from this
chip and it should reuse the properties.
(note: this is different from the value of the "compatible" property that
is meant to be as specific as possible".
Also, please clarify how your binding relates to the ufshcd binding
in Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt: does
hi3660 implement any registers that are shared with ufshcd, or does
it use the same physical interface with a different register set?
Arnd
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web