All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/4] Add AHCI support for Tegra186
@ 2020-11-06  2:16 Sowjanya Komatineni
  2020-11-06  2:16 ` [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML Sowjanya Komatineni
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06  2:16 UTC (permalink / raw)
  To: skomatineni, thierry.reding, jonathanh, robh+dt
  Cc: devicetree, linux-ide, linux-tegra, linux-kernel

This series adds support for AHCI-compliant SATA to Tegra186 SoC.

This series includes patches for
- Converting text based dt-binding document to YAML.
- Adding dt-bindings for Tegra186.
- Enabling AHCI-compliance SATA for Jetson TX2.
- Adding Tegra186 support to Tegra AHCI driver.

Sowjanya Komatineni (4):
  dt-bindings: ata: tegra: Convert binding documentation to YAML
  dt-binding: ata: tegra: Add dt-binding documentation for Tegra186
  arm64: tegra: Enable AHCI on Jetson TX2
  ata: ahci_tegra: Add AHCI support for Tegra186

 .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 199 +++++++++++++++++++++
 .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 -----
 arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts |   4 +
 arch/arm64/boot/dts/nvidia/tegra186.dtsi           |  28 +++
 drivers/ata/ahci_tegra.c                           |  60 +++++--
 5 files changed, 278 insertions(+), 57 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
 delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt

-- 
2.7.4


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-06  2:16 [PATCH v1 0/4] Add AHCI support for Tegra186 Sowjanya Komatineni
@ 2020-11-06  2:16 ` Sowjanya Komatineni
  2020-11-06 16:11   ` Rob Herring
  2020-11-06 16:15   ` Rob Herring
  2020-11-06  2:16 ` [PATCH v1 2/4] dt-binding: ata: tegra: Add dt-binding documentation for Tegra186 Sowjanya Komatineni
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06  2:16 UTC (permalink / raw)
  To: skomatineni, thierry.reding, jonathanh, robh+dt
  Cc: devicetree, linux-ide, linux-tegra, linux-kernel

This patch converts text based dt-binding document to YAML based
dt-binding document.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
 .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
 2 files changed, 152 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
 delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt

diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
new file mode 100644
index 0000000..ac20f6e
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
@@ -0,0 +1,152 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Tegra AHCI SATA Controller
+
+maintainers:
+  - Thierry Reding <thierry.reding@gmail.com>
+  - Jonathan Hunter <jonathanh@nvidia.com>
+
+properties:
+  compatible:
+    enum:
+      - nvidia,tegra124-ahci
+      - nvidia,tegra132-ahci
+      - nvidia,tegra210-ahci
+
+  reg:
+    minItems: 2
+    maxItems: 3
+    items:
+      - description: AHCI registers
+      - description: SATA configuration and IPFS registers
+      - description: SATA AUX registers
+
+  interrupts:
+    maxItems: 1
+
+  clock-names:
+    maxItems: 2
+    items:
+      - const: sata
+      - const: sata-oob
+
+  clocks:
+    maxItems: 2
+    description:
+      Must contain an entry for each entry in clock-names.
+      See ../clocks/clock-bindings.txt for details.
+
+  reset-names:
+    maxItems: 3
+
+  resets:
+    maxItems: 3
+    description:
+      Must contain an entry for each entry in reset-names.
+      See ../reset/reset.txt for details.
+
+  phy-names:
+    items:
+      - const: sata-0
+
+  phys:
+    maxItems: 1
+    description:
+      Must contain an entry for each entry in phy-names.
+      See ../phy/phy-bindings.txt for details.
+
+  hvdd-supply:
+    description: SATA HVDD regulator supply.
+
+  vddio-supply:
+    description: SATA VDDIO regulator supply.
+
+  avdd-supply:
+    description: SATA AVDD regulator supply.
+
+  target-5v-supply:
+    description: SATA 5V power regulator supply.
+
+  target-12v-supply:
+    description: SATA 12V power regulator supply.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clock-names
+  - clocks
+  - reset-names
+  - resets
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra124-ahci
+              - nvidia,tegra132-ahci
+    then:
+      properties:
+        reg:
+          maxItems: 2
+        reset-names:
+          minItems: 3
+          items:
+            - const: sata
+            - const: sata-oob
+            - const: sata-cold
+        resets:
+          minItems: 3
+      required:
+        - phys
+        - phy-names
+        - hvdd-supply
+        - vddio-supply
+        - avdd-supply
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra210-ahci
+    then:
+      properties:
+        reg:
+          minItems: 3
+        reset-names:
+          minItems: 3
+          items:
+            - const: sata
+            - const: sata-oob
+            - const: sata-cold
+        resets:
+          minItems: 3
+
+additionalProperties: true
+
+examples:
+  - |
+    #include <dt-bindings/clock/tegra210-car.h>
+    #include <dt-bindings/reset/tegra210-car.h>
+
+    sata@70020000 {
+            compatible = "nvidia,tegra210-ahci";
+            reg = <0x0 0x70027000 0x0 0x00002000>, /* AHCI */
+                  <0x0 0x70020000 0x0 0x00007000>, /* SATA */
+                  <0x0 0x70001100 0x0 0x00010000>; /* SATA AUX */
+            interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+            clocks = <&tegra_car TEGRA210_CLK_SATA>,
+                     <&tegra_car TEGRA210_CLK_SATA_OOB>;
+            clock-names = "sata", "sata-oob";
+            resets = <&tegra_car 124>,
+                     <&tegra_car 123>,
+                     <&tegra_car 129>;
+            reset-names = "sata", "sata-oob", "sata-cold";
+    };
diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt b/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
deleted file mode 100644
index 12ab2f7..0000000
--- a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-Tegra SoC SATA AHCI controller
-
-Required properties :
-- compatible : Must be one of:
-  - Tegra124 : "nvidia,tegra124-ahci"
-  - Tegra132 : "nvidia,tegra132-ahci", "nvidia,tegra124-ahci"
-  - Tegra210 : "nvidia,tegra210-ahci"
-- reg : Should contain 2 entries:
-  - AHCI register set (SATA BAR5)
-  - SATA register set
-- interrupts : Defines the interrupt used by SATA
-- clocks : Must contain an entry for each entry in clock-names.
-  See ../clocks/clock-bindings.txt for details.
-- clock-names : Must include the following entries:
-  - sata
-  - sata-oob
-- resets : Must contain an entry for each entry in reset-names.
-  See ../reset/reset.txt for details.
-- reset-names : Must include the following entries:
-  - sata
-  - sata-oob
-  - sata-cold
-- phys : Must contain an entry for each entry in phy-names.
-  See ../phy/phy-bindings.txt for details.
-- phy-names : Must include the following entries:
-  - For Tegra124 and Tegra132:
-    - sata-phy : XUSB PADCTL SATA PHY
-- For Tegra124 and Tegra132:
-  - hvdd-supply : Defines the SATA HVDD regulator
-  - vddio-supply : Defines the SATA VDDIO regulator
-  - avdd-supply : Defines the SATA AVDD regulator
-  - target-5v-supply : Defines the SATA 5V power regulator
-  - target-12v-supply : Defines the SATA 12V power regulator
-
-Optional properties:
-- reg :
-  - AUX register set
-- clock-names :
-  - cml1 :
-    cml1 clock should be defined here if the PHY driver
-    doesn't manage them. If it does, they should not be.
-- phy-names :
-  - For T210:
-    - sata-phy
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v1 2/4] dt-binding: ata: tegra: Add dt-binding documentation for Tegra186
  2020-11-06  2:16 [PATCH v1 0/4] Add AHCI support for Tegra186 Sowjanya Komatineni
  2020-11-06  2:16 ` [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML Sowjanya Komatineni
@ 2020-11-06  2:16 ` Sowjanya Komatineni
  2020-11-06  2:16 ` [PATCH v1 3/4] arm64: tegra: Enable AHCI on Jetson TX2 Sowjanya Komatineni
  2020-11-06  2:16 ` [PATCH v1 4/4] ata: ahci_tegra: Add AHCI support for Tegra186 Sowjanya Komatineni
  3 siblings, 0 replies; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06  2:16 UTC (permalink / raw)
  To: skomatineni, thierry.reding, jonathanh, robh+dt
  Cc: devicetree, linux-ide, linux-tegra, linux-kernel

This patch adds dt-bindings documentation for Tegra186 AHCI
controller.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 47 ++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
index ac20f6e..db382a0 100644
--- a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
+++ b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
@@ -16,6 +16,7 @@ properties:
       - nvidia,tegra124-ahci
       - nvidia,tegra132-ahci
       - nvidia,tegra210-ahci
+      - nvidia,tegra186-ahci
 
   reg:
     minItems: 2
@@ -41,14 +42,37 @@ properties:
       See ../clocks/clock-bindings.txt for details.
 
   reset-names:
+    minItems: 2
     maxItems: 3
 
   resets:
+    minItems: 2
     maxItems: 3
     description:
       Must contain an entry for each entry in reset-names.
       See ../reset/reset.txt for details.
 
+  iommus:
+    maxItems: 1
+    description:
+      A reference to the IOMMU. See ../iommu/iommu.txt for details.
+
+  interconnect-names:
+    items:
+      - const: dma-mem
+      - const: write
+
+  interconnects:
+    maxItems: 2
+    description:
+      Pairs of phandles and interconnect provider specififer to denote
+      the edge source and destination ports of the interconnect path.
+      See ../interconnect/interconnect.txt for details.
+
+  power-domains:
+    items:
+      - description: SAX power-domain
+
   phy-names:
     items:
       - const: sata-0
@@ -129,6 +153,29 @@ allOf:
         resets:
           minItems: 3
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra186-ahci
+    then:
+      properties:
+        reg:
+          minItems: 3
+        reset-names:
+          maxItems: 2
+          items:
+            - const: sata
+            - const: sata-cold
+        resets:
+          maxItems: 2
+      required:
+        - iommus
+        - interconnect-names
+        - interconnects
+        - power-domains
+
 additionalProperties: true
 
 examples:
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v1 3/4] arm64: tegra: Enable AHCI on Jetson TX2
  2020-11-06  2:16 [PATCH v1 0/4] Add AHCI support for Tegra186 Sowjanya Komatineni
  2020-11-06  2:16 ` [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML Sowjanya Komatineni
  2020-11-06  2:16 ` [PATCH v1 2/4] dt-binding: ata: tegra: Add dt-binding documentation for Tegra186 Sowjanya Komatineni
@ 2020-11-06  2:16 ` Sowjanya Komatineni
  2020-11-06  2:16 ` [PATCH v1 4/4] ata: ahci_tegra: Add AHCI support for Tegra186 Sowjanya Komatineni
  3 siblings, 0 replies; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06  2:16 UTC (permalink / raw)
  To: skomatineni, thierry.reding, jonathanh, robh+dt
  Cc: devicetree, linux-ide, linux-tegra, linux-kernel

This patch enables AHCI on Jetson TX2.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts |  4 ++++
 arch/arm64/boot/dts/nvidia/tegra186.dtsi           | 28 ++++++++++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
index 381a84912..7e1723e 100644
--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
@@ -297,6 +297,10 @@
 		};
 	};
 
+	sata@3507000 {
+		status = "okay";
+	};
+
 	gpio-keys {
 		compatible = "gpio-keys";
 
diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
index 0c46ab7..7f5c002 100644
--- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
@@ -1501,6 +1501,34 @@
 		};
 	};
 
+	sata@3507000 {
+		compatible = "nvidia,tegra186-ahci";
+		reg = <0x0 0x03507000 0x0 0x00002000>, /* AHCI */
+		      <0x0 0x03500000 0x0 0x00007000>, /* SATA */
+		      <0x0 0x03A90000 0x0 0x00010000>; /* SATA AUX */
+		interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
+
+		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_SAX>;
+		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SATAR &emc>,
+				<&mc TEGRA186_MEMORY_CLIENT_SATAW &emc>;
+		interconnect-names = "dma-mem", "write";
+		iommus = <&smmu TEGRA186_SID_SATA>;
+
+		clocks = <&bpmp TEGRA186_CLK_SATA>,
+			 <&bpmp TEGRA186_CLK_SATA_OOB>;
+		clock-names = "sata", "sata-oob";
+		assigned-clocks = <&bpmp TEGRA186_CLK_SATA>,
+				  <&bpmp TEGRA186_CLK_SATA_OOB>;
+		assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>,
+					 <&bpmp TEGRA186_CLK_PLLP>;
+		assigned-clock-rates = <102000000>,
+				       <204000000>;
+		resets = <&bpmp TEGRA186_RESET_SATA>,
+			<&bpmp TEGRA186_RESET_SATACOLD>;
+		reset-names = "sata", "sata-cold";
+		status = "disabled";
+	};
+
 	bpmp: bpmp {
 		compatible = "nvidia,tegra186-bpmp";
 		interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>,
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v1 4/4] ata: ahci_tegra: Add AHCI support for Tegra186
  2020-11-06  2:16 [PATCH v1 0/4] Add AHCI support for Tegra186 Sowjanya Komatineni
                   ` (2 preceding siblings ...)
  2020-11-06  2:16 ` [PATCH v1 3/4] arm64: tegra: Enable AHCI on Jetson TX2 Sowjanya Komatineni
@ 2020-11-06  2:16 ` Sowjanya Komatineni
  3 siblings, 0 replies; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06  2:16 UTC (permalink / raw)
  To: skomatineni, thierry.reding, jonathanh, robh+dt
  Cc: devicetree, linux-ide, linux-tegra, linux-kernel

This patch adds support for AHCI-compliant Serial ATA controller
on Tegra186 SoC.

Tegra186 does not have sata-oob reset.
Tegra186 SATA_NVOOB register filed COMMA_CNT position and width are
different compared to Tegra210 and prior.

So, this patch adds a flag has_sata_oob_rst and tegra_ahci_regs to
SoC specific strcuture tegra_ahci_soc and updated their implementation
accordingly.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 drivers/ata/ahci_tegra.c | 60 +++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 47 insertions(+), 13 deletions(-)

diff --git a/drivers/ata/ahci_tegra.c b/drivers/ata/ahci_tegra.c
index cb55ebc1..56612af 100644
--- a/drivers/ata/ahci_tegra.c
+++ b/drivers/ata/ahci_tegra.c
@@ -59,8 +59,6 @@
 #define T_SATA0_CFG_PHY_1_PAD_PLL_IDDQ_EN		BIT(22)
 
 #define T_SATA0_NVOOB                                   0x114
-#define T_SATA0_NVOOB_COMMA_CNT_MASK                    (0xff << 16)
-#define T_SATA0_NVOOB_COMMA_CNT                         (0x07 << 16)
 #define T_SATA0_NVOOB_SQUELCH_FILTER_MODE_MASK          (0x3 << 24)
 #define T_SATA0_NVOOB_SQUELCH_FILTER_MODE               (0x1 << 24)
 #define T_SATA0_NVOOB_SQUELCH_FILTER_LENGTH_MASK        (0x3 << 26)
@@ -154,11 +152,18 @@ struct tegra_ahci_ops {
 	int (*init)(struct ahci_host_priv *hpriv);
 };
 
+struct tegra_ahci_regs {
+	unsigned int nvoob_comma_cnt_mask;
+	unsigned int nvoob_comma_cnt_val;
+};
+
 struct tegra_ahci_soc {
 	const char *const		*supply_names;
 	u32				num_supplies;
 	bool				supports_devslp;
+	bool				has_sata_oob_rst;
 	const struct tegra_ahci_ops	*ops;
+	const struct tegra_ahci_regs	*regs;
 };
 
 struct tegra_ahci_priv {
@@ -240,11 +245,13 @@ static int tegra_ahci_power_on(struct ahci_host_priv *hpriv)
 	if (ret)
 		return ret;
 
-	ret = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_SATA,
-						tegra->sata_clk,
-						tegra->sata_rst);
-	if (ret)
-		goto disable_regulators;
+	if (!tegra->pdev->dev.pm_domain) {
+		ret = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_SATA,
+							tegra->sata_clk,
+							tegra->sata_rst);
+		if (ret)
+			goto disable_regulators;
+	}
 
 	reset_control_assert(tegra->sata_oob_rst);
 	reset_control_assert(tegra->sata_cold_rst);
@@ -330,10 +337,10 @@ static int tegra_ahci_controller_init(struct ahci_host_priv *hpriv)
 	writel(val, tegra->sata_regs + SCFG_OFFSET + T_SATA_CFG_PHY_0);
 
 	val = readl(tegra->sata_regs + SCFG_OFFSET + T_SATA0_NVOOB);
-	val &= ~(T_SATA0_NVOOB_COMMA_CNT_MASK |
+	val &= ~(tegra->soc->regs->nvoob_comma_cnt_mask |
 		 T_SATA0_NVOOB_SQUELCH_FILTER_LENGTH_MASK |
 		 T_SATA0_NVOOB_SQUELCH_FILTER_MODE_MASK);
-	val |= (T_SATA0_NVOOB_COMMA_CNT |
+	val |= (tegra->soc->regs->nvoob_comma_cnt_val |
 		T_SATA0_NVOOB_SQUELCH_FILTER_LENGTH |
 		T_SATA0_NVOOB_SQUELCH_FILTER_MODE);
 	writel(val, tegra->sata_regs + SCFG_OFFSET + T_SATA0_NVOOB);
@@ -449,15 +456,35 @@ static const struct tegra_ahci_ops tegra124_ahci_ops = {
 	.init = tegra124_ahci_init,
 };
 
+static const struct tegra_ahci_regs tegra124_ahci_regs = {
+	.nvoob_comma_cnt_mask = GENMASK(30, 28),
+	.nvoob_comma_cnt_val = (7 << 28),
+};
+
 static const struct tegra_ahci_soc tegra124_ahci_soc = {
 	.supply_names = tegra124_supply_names,
 	.num_supplies = ARRAY_SIZE(tegra124_supply_names),
 	.supports_devslp = false,
+	.has_sata_oob_rst = true,
 	.ops = &tegra124_ahci_ops,
+	.regs = &tegra124_ahci_regs,
 };
 
 static const struct tegra_ahci_soc tegra210_ahci_soc = {
 	.supports_devslp = false,
+	.has_sata_oob_rst = true,
+	.regs = &tegra124_ahci_regs,
+};
+
+static const struct tegra_ahci_regs tegra186_ahci_regs = {
+	.nvoob_comma_cnt_mask = GENMASK(23, 16),
+	.nvoob_comma_cnt_val = (7 << 16),
+};
+
+static const struct tegra_ahci_soc tegra186_ahci_soc = {
+	.supports_devslp = false,
+	.has_sata_oob_rst = false,
+	.regs = &tegra186_ahci_regs,
 };
 
 static const struct of_device_id tegra_ahci_of_match[] = {
@@ -469,6 +496,10 @@ static const struct of_device_id tegra_ahci_of_match[] = {
 		.compatible = "nvidia,tegra210-ahci",
 		.data = &tegra210_ahci_soc
 	},
+	{
+		.compatible = "nvidia,tegra186-ahci",
+		.data = &tegra186_ahci_soc
+	},
 	{}
 };
 MODULE_DEVICE_TABLE(of, tegra_ahci_of_match);
@@ -518,10 +549,13 @@ static int tegra_ahci_probe(struct platform_device *pdev)
 		return PTR_ERR(tegra->sata_rst);
 	}
 
-	tegra->sata_oob_rst = devm_reset_control_get(&pdev->dev, "sata-oob");
-	if (IS_ERR(tegra->sata_oob_rst)) {
-		dev_err(&pdev->dev, "Failed to get sata-oob reset\n");
-		return PTR_ERR(tegra->sata_oob_rst);
+	if (tegra->soc->has_sata_oob_rst) {
+		tegra->sata_oob_rst = devm_reset_control_get(&pdev->dev,
+							     "sata-oob");
+		if (IS_ERR(tegra->sata_oob_rst)) {
+			dev_err(&pdev->dev, "Failed to get sata-oob reset\n");
+			return PTR_ERR(tegra->sata_oob_rst);
+		}
 	}
 
 	tegra->sata_cold_rst = devm_reset_control_get(&pdev->dev, "sata-cold");
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-06  2:16 ` [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML Sowjanya Komatineni
@ 2020-11-06 16:11   ` Rob Herring
  2020-11-06 16:41     ` Sowjanya Komatineni
  2020-11-06 16:15   ` Rob Herring
  1 sibling, 1 reply; 12+ messages in thread
From: Rob Herring @ 2020-11-06 16:11 UTC (permalink / raw)
  To: Sowjanya Komatineni
  Cc: thierry.reding, linux-kernel, robh+dt, linux-tegra, linux-ide,
	devicetree, jonathanh

On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
> This patch converts text based dt-binding document to YAML based
> dt-binding document.
> 
> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
> ---
>  .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>  .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>  2 files changed, 152 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>  delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> 


My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Error: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 syntax error
FATAL ERROR: Unable to parse input tree
make[1]: *** [scripts/Makefile.lib:342: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1364: dt_binding_check] Error 2


See https://patchwork.ozlabs.org/patch/1395390

The base for the patch is generally the last rc1. Any dependencies
should be noted.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-06  2:16 ` [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML Sowjanya Komatineni
  2020-11-06 16:11   ` Rob Herring
@ 2020-11-06 16:15   ` Rob Herring
  2020-11-06 16:47     ` Sowjanya Komatineni
  1 sibling, 1 reply; 12+ messages in thread
From: Rob Herring @ 2020-11-06 16:15 UTC (permalink / raw)
  To: Sowjanya Komatineni
  Cc: thierry.reding, jonathanh, devicetree, linux-ide, linux-tegra,
	linux-kernel

On Thu, Nov 05, 2020 at 06:16:05PM -0800, Sowjanya Komatineni wrote:
> This patch converts text based dt-binding document to YAML based
> dt-binding document.
> 
> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
> ---
>  .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>  .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>  2 files changed, 152 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>  delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> 
> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
> new file mode 100644
> index 0000000..ac20f6e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
> @@ -0,0 +1,152 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Tegra AHCI SATA Controller
> +
> +maintainers:
> +  - Thierry Reding <thierry.reding@gmail.com>
> +  - Jonathan Hunter <jonathanh@nvidia.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - nvidia,tegra124-ahci
> +      - nvidia,tegra132-ahci
> +      - nvidia,tegra210-ahci
> +
> +  reg:
> +    minItems: 2
> +    maxItems: 3
> +    items:
> +      - description: AHCI registers
> +      - description: SATA configuration and IPFS registers
> +      - description: SATA AUX registers
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clock-names:
> +    maxItems: 2

Don't need maxItems, implied by the size of 'items'.

> +    items:
> +      - const: sata
> +      - const: sata-oob
> +
> +  clocks:
> +    maxItems: 2
> +    description:
> +      Must contain an entry for each entry in clock-names.
> +      See ../clocks/clock-bindings.txt for details.

Drop 'description'. Says nothing specific to this binding.

> +
> +  reset-names:
> +    maxItems: 3

Need to define what each reset is.

> +
> +  resets:
> +    maxItems: 3
> +    description:
> +      Must contain an entry for each entry in reset-names.
> +      See ../reset/reset.txt for details.

Drop 'description'. Says nothing specific to this binding.

> +
> +  phy-names:
> +    items:
> +      - const: sata-0
> +
> +  phys:
> +    maxItems: 1
> +    description:
> +      Must contain an entry for each entry in phy-names.
> +      See ../phy/phy-bindings.txt for details.

Drop 'description'. Says nothing specific to this binding.

> +
> +  hvdd-supply:
> +    description: SATA HVDD regulator supply.
> +
> +  vddio-supply:
> +    description: SATA VDDIO regulator supply.
> +
> +  avdd-supply:
> +    description: SATA AVDD regulator supply.
> +
> +  target-5v-supply:
> +    description: SATA 5V power regulator supply.
> +
> +  target-12v-supply:
> +    description: SATA 12V power regulator supply.
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clock-names
> +  - clocks
> +  - reset-names
> +  - resets
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra124-ahci
> +              - nvidia,tegra132-ahci
> +    then:
> +      properties:
> +        reg:
> +          maxItems: 2

> +        reset-names:
> +          minItems: 3
> +          items:
> +            - const: sata
> +            - const: sata-oob
> +            - const: sata-cold
> +        resets:
> +          minItems: 3

This doesn't need to be conditional.

> +      required:
> +        - phys
> +        - phy-names
> +        - hvdd-supply
> +        - vddio-supply
> +        - avdd-supply
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra210-ahci
> +    then:
> +      properties:
> +        reg:
> +          minItems: 3
> +        reset-names:
> +          minItems: 3
> +          items:
> +            - const: sata
> +            - const: sata-oob
> +            - const: sata-cold
> +        resets:
> +          minItems: 3
> +
> +additionalProperties: true
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/tegra210-car.h>
> +    #include <dt-bindings/reset/tegra210-car.h>
> +
> +    sata@70020000 {
> +            compatible = "nvidia,tegra210-ahci";
> +            reg = <0x0 0x70027000 0x0 0x00002000>, /* AHCI */
> +                  <0x0 0x70020000 0x0 0x00007000>, /* SATA */
> +                  <0x0 0x70001100 0x0 0x00010000>; /* SATA AUX */
> +            interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
> +            clocks = <&tegra_car TEGRA210_CLK_SATA>,
> +                     <&tegra_car TEGRA210_CLK_SATA_OOB>;
> +            clock-names = "sata", "sata-oob";
> +            resets = <&tegra_car 124>,
> +                     <&tegra_car 123>,
> +                     <&tegra_car 129>;
> +            reset-names = "sata", "sata-oob", "sata-cold";
> +    };
> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt b/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> deleted file mode 100644
> index 12ab2f7..0000000
> --- a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -Tegra SoC SATA AHCI controller
> -
> -Required properties :
> -- compatible : Must be one of:
> -  - Tegra124 : "nvidia,tegra124-ahci"
> -  - Tegra132 : "nvidia,tegra132-ahci", "nvidia,tegra124-ahci"
> -  - Tegra210 : "nvidia,tegra210-ahci"
> -- reg : Should contain 2 entries:
> -  - AHCI register set (SATA BAR5)
> -  - SATA register set
> -- interrupts : Defines the interrupt used by SATA
> -- clocks : Must contain an entry for each entry in clock-names.
> -  See ../clocks/clock-bindings.txt for details.
> -- clock-names : Must include the following entries:
> -  - sata
> -  - sata-oob
> -- resets : Must contain an entry for each entry in reset-names.
> -  See ../reset/reset.txt for details.
> -- reset-names : Must include the following entries:
> -  - sata
> -  - sata-oob
> -  - sata-cold
> -- phys : Must contain an entry for each entry in phy-names.
> -  See ../phy/phy-bindings.txt for details.
> -- phy-names : Must include the following entries:
> -  - For Tegra124 and Tegra132:
> -    - sata-phy : XUSB PADCTL SATA PHY
> -- For Tegra124 and Tegra132:
> -  - hvdd-supply : Defines the SATA HVDD regulator
> -  - vddio-supply : Defines the SATA VDDIO regulator
> -  - avdd-supply : Defines the SATA AVDD regulator
> -  - target-5v-supply : Defines the SATA 5V power regulator
> -  - target-12v-supply : Defines the SATA 12V power regulator
> -
> -Optional properties:
> -- reg :
> -  - AUX register set
> -- clock-names :
> -  - cml1 :
> -    cml1 clock should be defined here if the PHY driver
> -    doesn't manage them. If it does, they should not be.
> -- phy-names :
> -  - For T210:
> -    - sata-phy
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-06 16:11   ` Rob Herring
@ 2020-11-06 16:41     ` Sowjanya Komatineni
  2020-11-06 17:18       ` Sowjanya Komatineni
  0 siblings, 1 reply; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06 16:41 UTC (permalink / raw)
  To: Rob Herring
  Cc: thierry.reding, linux-kernel, robh+dt, linux-tegra, linux-ide,
	devicetree, jonathanh


On 11/6/20 8:11 AM, Rob Herring wrote:
> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
>> This patch converts text based dt-binding document to YAML based
>> dt-binding document.
>>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>> ---
>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> Error: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 syntax error
> FATAL ERROR: Unable to parse input tree
> make[1]: *** [scripts/Makefile.lib:342: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [Makefile:1364: dt_binding_check] Error 2
>
>
> See https://patchwork.ozlabs.org/patch/1395390
>
> The base for the patch is generally the last rc1. Any dependencies
> should be noted.
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
> Please check and re-submit.
Thanks Rob. Will re-try after installing up-to-date.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-06 16:15   ` Rob Herring
@ 2020-11-06 16:47     ` Sowjanya Komatineni
  0 siblings, 0 replies; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06 16:47 UTC (permalink / raw)
  To: Rob Herring
  Cc: thierry.reding, jonathanh, devicetree, linux-ide, linux-tegra,
	linux-kernel


On 11/6/20 8:15 AM, Rob Herring wrote:
> On Thu, Nov 05, 2020 at 06:16:05PM -0800, Sowjanya Komatineni wrote:
>> This patch converts text based dt-binding document to YAML based
>> dt-binding document.
>>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>> ---
>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>
>> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>> new file mode 100644
>> index 0000000..ac20f6e
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>> @@ -0,0 +1,152 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Tegra AHCI SATA Controller
>> +
>> +maintainers:
>> +  - Thierry Reding <thierry.reding@gmail.com>
>> +  - Jonathan Hunter <jonathanh@nvidia.com>
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - nvidia,tegra124-ahci
>> +      - nvidia,tegra132-ahci
>> +      - nvidia,tegra210-ahci
>> +
>> +  reg:
>> +    minItems: 2
>> +    maxItems: 3
>> +    items:
>> +      - description: AHCI registers
>> +      - description: SATA configuration and IPFS registers
>> +      - description: SATA AUX registers
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  clock-names:
>> +    maxItems: 2
> Don't need maxItems, implied by the size of 'items'.
>
>> +    items:
>> +      - const: sata
>> +      - const: sata-oob
>> +
>> +  clocks:
>> +    maxItems: 2
>> +    description:
>> +      Must contain an entry for each entry in clock-names.
>> +      See ../clocks/clock-bindings.txt for details.
> Drop 'description'. Says nothing specific to this binding.
>
>> +
>> +  reset-names:
>> +    maxItems: 3
> Need to define what each reset is.
reset-names are specified as conditional below.
>
>> +
>> +  resets:
>> +    maxItems: 3
>> +    description:
>> +      Must contain an entry for each entry in reset-names.
>> +      See ../reset/reset.txt for details.
> Drop 'description'. Says nothing specific to this binding.
>
>> +
>> +  phy-names:
>> +    items:
>> +      - const: sata-0
>> +
>> +  phys:
>> +    maxItems: 1
>> +    description:
>> +      Must contain an entry for each entry in phy-names.
>> +      See ../phy/phy-bindings.txt for details.
> Drop 'description'. Says nothing specific to this binding.
>
>> +
>> +  hvdd-supply:
>> +    description: SATA HVDD regulator supply.
>> +
>> +  vddio-supply:
>> +    description: SATA VDDIO regulator supply.
>> +
>> +  avdd-supply:
>> +    description: SATA AVDD regulator supply.
>> +
>> +  target-5v-supply:
>> +    description: SATA 5V power regulator supply.
>> +
>> +  target-12v-supply:
>> +    description: SATA 12V power regulator supply.
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clock-names
>> +  - clocks
>> +  - reset-names
>> +  - resets
>> +
>> +allOf:
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nvidia,tegra124-ahci
>> +              - nvidia,tegra132-ahci
>> +    then:
>> +      properties:
>> +        reg:
>> +          maxItems: 2
>> +        reset-names:
>> +          minItems: 3
>> +          items:
>> +            - const: sata
>> +            - const: sata-oob
>> +            - const: sata-cold
>> +        resets:
>> +          minItems: 3
> This doesn't need to be conditional.

Reason for specifying reset-names as conditional is as items are ordered 
list, index: 0 - sata, 1 - sata-oob, and 2 - sata-cold

Tegra124 thru Tegra210 has all 3 resets but Tegra186 don't have sata-oob 
and using reset-names as sata, sata-cold will change index of sata-cold 
and I see dtbs_check shows error for sata-cold as index being wrong.

So added conditional reset-names to specify different order of these 
names for Tegra186 and prior.

Please suggest any other way of forcing order of these names separately.

Otherwise, removing conditional reset-names and specifying in main 
section also need to update all old dtbs to change order of the 
reset-names in device tree to be sata, sata-cold and sata-oob so same 
order will work for all SoC's.

>> +      required:
>> +        - phys
>> +        - phy-names
>> +        - hvdd-supply
>> +        - vddio-supply
>> +        - avdd-supply
>> +
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nvidia,tegra210-ahci
>> +    then:
>> +      properties:
>> +        reg:
>> +          minItems: 3
>> +        reset-names:
>> +          minItems: 3
>> +          items:
>> +            - const: sata
>> +            - const: sata-oob
>> +            - const: sata-cold
>> +        resets:
>> +          minItems: 3
>> +
>> +additionalProperties: true
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/clock/tegra210-car.h>
>> +    #include <dt-bindings/reset/tegra210-car.h>
>> +
>> +    sata@70020000 {
>> +            compatible = "nvidia,tegra210-ahci";
>> +            reg = <0x0 0x70027000 0x0 0x00002000>, /* AHCI */
>> +                  <0x0 0x70020000 0x0 0x00007000>, /* SATA */
>> +                  <0x0 0x70001100 0x0 0x00010000>; /* SATA AUX */
>> +            interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
>> +            clocks = <&tegra_car TEGRA210_CLK_SATA>,
>> +                     <&tegra_car TEGRA210_CLK_SATA_OOB>;
>> +            clock-names = "sata", "sata-oob";
>> +            resets = <&tegra_car 124>,
>> +                     <&tegra_car 123>,
>> +                     <&tegra_car 129>;
>> +            reset-names = "sata", "sata-oob", "sata-cold";
>> +    };
>> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt b/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>> deleted file mode 100644
>> index 12ab2f7..0000000
>> --- a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>> +++ /dev/null
>> @@ -1,44 +0,0 @@
>> -Tegra SoC SATA AHCI controller
>> -
>> -Required properties :
>> -- compatible : Must be one of:
>> -  - Tegra124 : "nvidia,tegra124-ahci"
>> -  - Tegra132 : "nvidia,tegra132-ahci", "nvidia,tegra124-ahci"
>> -  - Tegra210 : "nvidia,tegra210-ahci"
>> -- reg : Should contain 2 entries:
>> -  - AHCI register set (SATA BAR5)
>> -  - SATA register set
>> -- interrupts : Defines the interrupt used by SATA
>> -- clocks : Must contain an entry for each entry in clock-names.
>> -  See ../clocks/clock-bindings.txt for details.
>> -- clock-names : Must include the following entries:
>> -  - sata
>> -  - sata-oob
>> -- resets : Must contain an entry for each entry in reset-names.
>> -  See ../reset/reset.txt for details.
>> -- reset-names : Must include the following entries:
>> -  - sata
>> -  - sata-oob
>> -  - sata-cold
>> -- phys : Must contain an entry for each entry in phy-names.
>> -  See ../phy/phy-bindings.txt for details.
>> -- phy-names : Must include the following entries:
>> -  - For Tegra124 and Tegra132:
>> -    - sata-phy : XUSB PADCTL SATA PHY
>> -- For Tegra124 and Tegra132:
>> -  - hvdd-supply : Defines the SATA HVDD regulator
>> -  - vddio-supply : Defines the SATA VDDIO regulator
>> -  - avdd-supply : Defines the SATA AVDD regulator
>> -  - target-5v-supply : Defines the SATA 5V power regulator
>> -  - target-12v-supply : Defines the SATA 12V power regulator
>> -
>> -Optional properties:
>> -- reg :
>> -  - AUX register set
>> -- clock-names :
>> -  - cml1 :
>> -    cml1 clock should be defined here if the PHY driver
>> -    doesn't manage them. If it does, they should not be.
>> -- phy-names :
>> -  - For T210:
>> -    - sata-phy
>> -- 
>> 2.7.4
>>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-06 16:41     ` Sowjanya Komatineni
@ 2020-11-06 17:18       ` Sowjanya Komatineni
  2020-11-13  3:54         ` Sowjanya Komatineni
  0 siblings, 1 reply; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-06 17:18 UTC (permalink / raw)
  To: Rob Herring
  Cc: thierry.reding, linux-kernel, robh+dt, linux-tegra, linux-ide,
	devicetree, jonathanh


On 11/6/20 8:41 AM, Sowjanya Komatineni wrote:
>
> On 11/6/20 8:11 AM, Rob Herring wrote:
>> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
>>> This patch converts text based dt-binding document to YAML based
>>> dt-binding document.
>>>
>>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>>> ---
>>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 
>>> +++++++++++++++++++++
>>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>>   create mode 100644 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>>   delete mode 100644 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>>
>>
>> My bot found errors running 'make dt_binding_check' on your patch:
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> Error: 
>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 
>> syntax error
>> FATAL ERROR: Unable to parse input tree
>> make[1]: *** [scripts/Makefile.lib:342: 
>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] 
>> Error 1
>> make[1]: *** Waiting for unfinished jobs....
>> make: *** [Makefile:1364: dt_binding_check] Error 2
>>
>>
>> See https://patchwork.ozlabs.org/patch/1395390
>>
>> The base for the patch is generally the last rc1. Any dependencies
>> should be noted.
>>
>> If you already ran 'make dt_binding_check' and didn't see the above
>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>> date:
>>
>> pip3 install dtschema --upgrade
>>
>> Please check and re-submit.
> Thanks Rob. Will re-try after installing up-to-date.

Somehow running 'make dt_binding_check' gives below error.

I have yamllint newest version (1.2.1-1). Any specific version of 
yamllint is needed?

  LINT    Documentation/devicetree/bindings
invalid config: unknown option "max-spaces-inside-empty" for rule "braces"
xargs: /usr/bin/yamllint: exited with status 255; aborting
Documentation/devicetree/bindings/Makefile:59: recipe for target 
'Documentation/devicetree/bindings/processed-schema-examples.json' failed
make[1]: *** 
[Documentation/devicetree/bindings/processed-schema-examples.json] Error 124
Makefile:1362: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-06 17:18       ` Sowjanya Komatineni
@ 2020-11-13  3:54         ` Sowjanya Komatineni
  2020-11-13 13:59           ` Rob Herring
  0 siblings, 1 reply; 12+ messages in thread
From: Sowjanya Komatineni @ 2020-11-13  3:54 UTC (permalink / raw)
  To: Rob Herring
  Cc: thierry.reding, linux-kernel, robh+dt, linux-tegra, linux-ide,
	devicetree, jonathanh

Hi Rob,

Updated yamllint and dt-schema as well.

When I do make dt_binding_check, I see it failed as 
processed-schema-examples.json is not generated.
Any idea of what I may be missing?

Also it did not go thru bindings/ata path. Tried with DT_SCHEMA_FILES to 
tegra-ahci.yaml as well and I see same.
make dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml

LINT    Documentation/devicetree/bindings
./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:20:9: [warning] 
wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:30:9: [warning] 
wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:33:9: [warning] 
wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml:37:2: 
[error] syntax error: expected <block end>, but found '<scalar>' (syntax)
./Documentation/devicetree/bindings/soc/aspeed/xdma.yaml:10:2: [warning] 
wrong indentation: expected 2 but found 1 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:10:4: 
[warning] wrong indentation: expected 2 but found 3 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:18:7: 
[warning] wrong indentation: expected 4 but found 6 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:10:4: 
[warning] wrong indentation: expected 2 but found 3 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:15:7: 
[warning] wrong indentation: expected 4 but found 6 (indentation)
./Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml:25:10: 
[warning] wrong indentation: expected 10 but found 9 (indentation)
./Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml:52:9: 
[warning] wrong indentation: expected 6 but found 8 (indentation)
./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:32:13: 
[warning] wrong indentation: expected 14 but found 12 (indentation)
./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:35:9: 
[warning] wrong indentation: expected 10 but found 8 (indentation)
Documentation/devicetree/bindings/Makefile:59: recipe for target 
'Documentation/devicetree/bindings/processed-schema-examples.json' failed
make[1]: *** 
[Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
Makefile:1362: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2


When I do dtbs_check, I see 
Documentation/devicetree/bindings/processed-schema.json generated and 
also it passes for tegra-ahci.yaml

make ARCH=arm64 dtbs_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml

Regards,

Sowjanya


On 11/6/20 9:18 AM, Sowjanya Komatineni wrote:
>
> On 11/6/20 8:41 AM, Sowjanya Komatineni wrote:
>>
>> On 11/6/20 8:11 AM, Rob Herring wrote:
>>> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
>>>> This patch converts text based dt-binding document to YAML based
>>>> dt-binding document.
>>>>
>>>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>>>> ---
>>>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 
>>>> +++++++++++++++++++++
>>>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>>>   create mode 100644 
>>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>>>   delete mode 100644 
>>>> Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>>>
>>>
>>> My bot found errors running 'make dt_binding_check' on your patch:
>>>
>>> yamllint warnings/errors:
>>>
>>> dtschema/dtc warnings/errors:
>>> Error: 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 
>>> syntax error
>>> FATAL ERROR: Unable to parse input tree
>>> make[1]: *** [scripts/Makefile.lib:342: 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] 
>>> Error 1
>>> make[1]: *** Waiting for unfinished jobs....
>>> make: *** [Makefile:1364: dt_binding_check] Error 2
>>>
>>>
>>> See https://patchwork.ozlabs.org/patch/1395390
>>>
>>> The base for the patch is generally the last rc1. Any dependencies
>>> should be noted.
>>>
>>> If you already ran 'make dt_binding_check' and didn't see the above
>>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>>> date:
>>>
>>> pip3 install dtschema --upgrade
>>>
>>> Please check and re-submit.
>> Thanks Rob. Will re-try after installing up-to-date.
>
> Somehow running 'make dt_binding_check' gives below error.
>
> I have yamllint newest version (1.2.1-1). Any specific version of 
> yamllint is needed?
>
>  LINT    Documentation/devicetree/bindings
> invalid config: unknown option "max-spaces-inside-empty" for rule 
> "braces"
> xargs: /usr/bin/yamllint: exited with status 255; aborting
> Documentation/devicetree/bindings/Makefile:59: recipe for target 
> 'Documentation/devicetree/bindings/processed-schema-examples.json' failed
> make[1]: *** 
> [Documentation/devicetree/bindings/processed-schema-examples.json] 
> Error 124
> Makefile:1362: recipe for target 'dt_binding_check' failed
> make: *** [dt_binding_check] Error 2
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML
  2020-11-13  3:54         ` Sowjanya Komatineni
@ 2020-11-13 13:59           ` Rob Herring
  0 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2020-11-13 13:59 UTC (permalink / raw)
  To: Sowjanya Komatineni
  Cc: Thierry Reding, linux-kernel, linux-tegra,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	devicetree, Jon Hunter

On Thu, Nov 12, 2020 at 9:54 PM Sowjanya Komatineni
<skomatineni@nvidia.com> wrote:
>
> Hi Rob,
>
> Updated yamllint and dt-schema as well.
>
> When I do make dt_binding_check, I see it failed as
> processed-schema-examples.json is not generated.
> Any idea of what I may be missing?
>
> Also it did not go thru bindings/ata path. Tried with DT_SCHEMA_FILES to
> tegra-ahci.yaml as well and I see same.
> make dt_binding_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>
> LINT    Documentation/devicetree/bindings
> ./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:20:9: [warning]
> wrong indentation: expected 10 but found 8 (indentation)
> ./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:30:9: [warning]
> wrong indentation: expected 10 but found 8 (indentation)
> ./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:33:9: [warning]
> wrong indentation: expected 10 but found 8 (indentation)
> ./Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml:37:2:
> [error] syntax error: expected <block end>, but found '<scalar>' (syntax)

I believe this error only occurred on linux-next. linux-next is not a
base you should develop on (usually). rc2 is good. Unfortunately
someone broke rc3.

> ./Documentation/devicetree/bindings/soc/aspeed/xdma.yaml:10:2: [warning]
> wrong indentation: expected 2 but found 1 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:10:4:
> [warning] wrong indentation: expected 2 but found 3 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:18:7:
> [warning] wrong indentation: expected 4 but found 6 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:10:4:
> [warning] wrong indentation: expected 2 but found 3 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:15:7:
> [warning] wrong indentation: expected 4 but found 6 (indentation)
> ./Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml:25:10:
> [warning] wrong indentation: expected 10 but found 9 (indentation)
> ./Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml:52:9:
> [warning] wrong indentation: expected 6 but found 8 (indentation)
> ./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:32:13:
> [warning] wrong indentation: expected 14 but found 12 (indentation)
> ./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:35:9:
> [warning] wrong indentation: expected 10 but found 8 (indentation)
> Documentation/devicetree/bindings/Makefile:59: recipe for target
> 'Documentation/devicetree/bindings/processed-schema-examples.json' failed
> make[1]: ***
> [Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
> Makefile:1362: recipe for target 'dt_binding_check' failed
> make: *** [dt_binding_check] Error 2

Use 'make -k' if there are unrelated errors.

>
> When I do dtbs_check, I see
> Documentation/devicetree/bindings/processed-schema.json generated and
> also it passes for tegra-ahci.yaml

Then it should be good.

Rob

>
> make ARCH=arm64 dtbs_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>
> Regards,
>
> Sowjanya
>
>
> On 11/6/20 9:18 AM, Sowjanya Komatineni wrote:
> >
> > On 11/6/20 8:41 AM, Sowjanya Komatineni wrote:
> >>
> >> On 11/6/20 8:11 AM, Rob Herring wrote:
> >>> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
> >>>> This patch converts text based dt-binding document to YAML based
> >>>> dt-binding document.
> >>>>
> >>>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
> >>>> ---
> >>>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152
> >>>> +++++++++++++++++++++
> >>>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
> >>>>   2 files changed, 152 insertions(+), 44 deletions(-)
> >>>>   create mode 100644
> >>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
> >>>>   delete mode 100644
> >>>> Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> >>>>
> >>>
> >>> My bot found errors running 'make dt_binding_check' on your patch:
> >>>
> >>> yamllint warnings/errors:
> >>>
> >>> dtschema/dtc warnings/errors:
> >>> Error:
> >>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32
> >>> syntax error
> >>> FATAL ERROR: Unable to parse input tree
> >>> make[1]: *** [scripts/Makefile.lib:342:
> >>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml]
> >>> Error 1
> >>> make[1]: *** Waiting for unfinished jobs....
> >>> make: *** [Makefile:1364: dt_binding_check] Error 2
> >>>
> >>>
> >>> See https://patchwork.ozlabs.org/patch/1395390
> >>>
> >>> The base for the patch is generally the last rc1. Any dependencies
> >>> should be noted.
> >>>
> >>> If you already ran 'make dt_binding_check' and didn't see the above
> >>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> >>> date:
> >>>
> >>> pip3 install dtschema --upgrade
> >>>
> >>> Please check and re-submit.
> >> Thanks Rob. Will re-try after installing up-to-date.
> >
> > Somehow running 'make dt_binding_check' gives below error.
> >
> > I have yamllint newest version (1.2.1-1). Any specific version of
> > yamllint is needed?
> >
> >  LINT    Documentation/devicetree/bindings
> > invalid config: unknown option "max-spaces-inside-empty" for rule
> > "braces"
> > xargs: /usr/bin/yamllint: exited with status 255; aborting
> > Documentation/devicetree/bindings/Makefile:59: recipe for target
> > 'Documentation/devicetree/bindings/processed-schema-examples.json' failed
> > make[1]: ***
> > [Documentation/devicetree/bindings/processed-schema-examples.json]
> > Error 124
> > Makefile:1362: recipe for target 'dt_binding_check' failed
> > make: *** [dt_binding_check] Error 2
> >

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-11-13 13:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-06  2:16 [PATCH v1 0/4] Add AHCI support for Tegra186 Sowjanya Komatineni
2020-11-06  2:16 ` [PATCH v1 1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML Sowjanya Komatineni
2020-11-06 16:11   ` Rob Herring
2020-11-06 16:41     ` Sowjanya Komatineni
2020-11-06 17:18       ` Sowjanya Komatineni
2020-11-13  3:54         ` Sowjanya Komatineni
2020-11-13 13:59           ` Rob Herring
2020-11-06 16:15   ` Rob Herring
2020-11-06 16:47     ` Sowjanya Komatineni
2020-11-06  2:16 ` [PATCH v1 2/4] dt-binding: ata: tegra: Add dt-binding documentation for Tegra186 Sowjanya Komatineni
2020-11-06  2:16 ` [PATCH v1 3/4] arm64: tegra: Enable AHCI on Jetson TX2 Sowjanya Komatineni
2020-11-06  2:16 ` [PATCH v1 4/4] ata: ahci_tegra: Add AHCI support for Tegra186 Sowjanya Komatineni

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.