linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform
@ 2025-02-03 16:39 Michal Simek
  2025-02-03 16:39 ` [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants Michal Simek
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Michal Simek @ 2025-02-03 16:39 UTC (permalink / raw)
  To: linux-kernel, monstr, michal.simek, git
  Cc: Anand Ashok Dumbre, Andrew Lunn, Claudiu Beznea, Conor Dooley,
	Damien Le Moal, David S. Miller, Eric Dumazet, Greg Kroah-Hartman,
	Harini Katakam, Jakub Kicinski, Jonathan Cameron,
	Krzysztof Kozlowski, Lars-Peter Clausen, Mark Brown,
	Michael Tretter, Michael Turquette, Mubin Sayyed, Nicolas Ferre,
	Niklas Cassel, Paolo Abeni, Rob Herring, Shyam Pandey,
	Stephen Boyd, Vinod Koul,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM,
	moderated list:ARM/ZYNQ ARCHITECTURE,
	open list:COMMON CLK FRAMEWORK,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	open list:XILINX AMS DRIVER, open list:SPI SUBSYSTEM,
	open list:USB SUBSYSTEM, open list:NETWORKING DRIVERS

Hi,

Based on discussion done long time ago
https://lore.kernel.org/all/5353872c-56a3-98f9-7f22-ec1f6c2ccdc8@linaro.org/
it is better to deprecate firmware contants which are not used in any code
and it's only purpose is to use macros in dt files.

There is no reason to be the part of dt bindings but it should be kept
there with adding deprecated warning.

I want to see if this is the right way to go. If yes, I will also do the
same changes in other headers which contain only constans which are not
used in any code.

Thanks,
Michal


Michal Simek (2):
  arm64: zynqmp: Use DT header for firmware constants
  dt-bindings: xilinx: Deprecate header with firmware constants

 .../bindings/ata/ceva,ahci-1v84.yaml          |   4 +-
 .../dma/xilinx/xlnx,zynqmp-dma-1.0.yaml       |   3 +-
 .../bindings/iio/adc/xlnx,zynqmp-ams.yaml     |   3 +-
 .../devicetree/bindings/net/cdns,macb.yaml    |   7 +-
 .../bindings/spi/spi-zynqmp-qspi.yaml         |   3 +-
 .../devicetree/bindings/usb/dwc3-xilinx.yaml  |   3 +-
 arch/arm64/boot/dts/xilinx/xlnx-zynqmp-clk.h  | 126 ++++++++++++++++++
 .../arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi |   2 +-
 include/dt-bindings/clock/xlnx-zynqmp-clk.h   |   7 +
 9 files changed, 142 insertions(+), 16 deletions(-)
 create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-zynqmp-clk.h

-- 
2.43.0


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

* [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants
  2025-02-03 16:39 [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Michal Simek
@ 2025-02-03 16:39 ` Michal Simek
  2025-02-04 20:04   ` Jonathan Cameron
  2025-02-18 10:54   ` Vinod Koul
  2025-02-04 19:43 ` [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Conor Dooley
  2025-02-20 11:21 ` Michal Simek
  2 siblings, 2 replies; 7+ messages in thread
From: Michal Simek @ 2025-02-03 16:39 UTC (permalink / raw)
  To: linux-kernel, monstr, michal.simek, git
  Cc: Anand Ashok Dumbre, Andrew Lunn, Claudiu Beznea, Conor Dooley,
	Damien Le Moal, David S. Miller, Eric Dumazet, Greg Kroah-Hartman,
	Harini Katakam, Jakub Kicinski, Jonathan Cameron,
	Krzysztof Kozlowski, Lars-Peter Clausen, Mark Brown,
	Michael Tretter, Michael Turquette, Mubin Sayyed, Nicolas Ferre,
	Niklas Cassel, Paolo Abeni, Rob Herring, Shyam Pandey,
	Stephen Boyd, Vinod Koul,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM,
	moderated list:ARM/ZYNQ ARCHITECTURE,
	open list:COMMON CLK FRAMEWORK,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	open list:XILINX AMS DRIVER, open list:SPI SUBSYSTEM,
	open list:USB SUBSYSTEM, open list:NETWORKING DRIVERS

Firmware contants do not fit the purpose of bindings because they are not
independent IDs for abstractions. They are more or less just contants which
better to wire via header with DT which is using it.
That's why add deprecated message to dt binding header and also update
existing dt bindings not to use macros from the header  and replace them by
it's value. Actually value is not relevant because it is only example.

The similar changes have been done by commit 9d9292576810 ("dt-bindings:
pinctrl: samsung: deprecate header with register constants").

Signed-off-by: Michal Simek <michal.simek@amd.com>
---

 Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml  | 4 +---
 .../bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml           | 3 +--
 .../devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml       | 3 +--
 Documentation/devicetree/bindings/net/cdns,macb.yaml       | 7 +++----
 Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml | 3 +--
 Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml     | 3 +--
 include/dt-bindings/clock/xlnx-zynqmp-clk.h                | 7 +++++++
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml b/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml
index 9952e0ef7767..6ad78429dc74 100644
--- a/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml
+++ b/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml
@@ -163,11 +163,9 @@ additionalProperties: false
 
 examples:
   - |
-    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
     #include <dt-bindings/interrupt-controller/irq.h>
     #include <dt-bindings/power/xlnx-zynqmp-power.h>
     #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
-    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
     #include <dt-bindings/phy/phy.h>
 
     sata: ahci@fd0c0000 {
@@ -175,7 +173,7 @@ examples:
         reg = <0xfd0c0000 0x200>;
         interrupt-parent = <&gic>;
         interrupts = <0 133 IRQ_TYPE_LEVEL_HIGH>;
-        clocks = <&zynqmp_clk SATA_REF>;
+        clocks = <&zynqmp_clk 22>;
         ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
         ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
         ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
diff --git a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
index ac3198953b8e..b5399c65a731 100644
--- a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
+++ b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
@@ -75,7 +75,6 @@ additionalProperties: false
 
 examples:
   - |
-    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
 
     fpd_dma_chan1: dma-controller@fd500000 {
       compatible = "xlnx,zynqmp-dma-1.0";
@@ -84,7 +83,7 @@ examples:
       interrupts = <0 117 0x4>;
       #dma-cells = <1>;
       clock-names = "clk_main", "clk_apb";
-      clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
+      clocks = <&zynqmp_clk 19>, <&zynqmp_clk 31>;
       xlnx,bus-width = <128>;
       dma-coherent;
     };
diff --git a/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml b/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml
index 8cbad7e792b6..a403392fb263 100644
--- a/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml
@@ -193,7 +193,6 @@ additionalProperties: false
 
 examples:
   - |
-    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
 
     bus {
         #address-cells = <2>;
@@ -204,7 +203,7 @@ examples:
             interrupt-parent = <&gic>;
             interrupts = <0 56 4>;
             reg = <0x0 0xffa50000 0x0 0x800>;
-            clocks = <&zynqmp_clk AMS_REF>;
+            clocks = <&zynqmp_clk 70>;
             #address-cells = <1>;
             #size-cells = <1>;
             #io-channel-cells = <1>;
diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documentation/devicetree/bindings/net/cdns,macb.yaml
index 3c30dd23cd4e..8d69846b2e09 100644
--- a/Documentation/devicetree/bindings/net/cdns,macb.yaml
+++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml
@@ -197,7 +197,6 @@ examples:
     };
 
   - |
-    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
     #include <dt-bindings/power/xlnx-zynqmp-power.h>
     #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
     #include <dt-bindings/phy/phy.h>
@@ -210,9 +209,9 @@ examples:
                     interrupt-parent = <&gic>;
                     interrupts = <0 59 4>, <0 59 4>;
                     reg = <0x0 0xff0c0000 0x0 0x1000>;
-                    clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM1_REF>,
-                             <&zynqmp_clk GEM1_TX>, <&zynqmp_clk GEM1_RX>,
-                             <&zynqmp_clk GEM_TSU>;
+                    clocks = <&zynqmp_clk 31>, <&zynqmp_clk 105>,
+                             <&zynqmp_clk 51>, <&zynqmp_clk 50>,
+                             <&zynqmp_clk 44>;
                     clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
                     #address-cells = <1>;
                     #size-cells = <0>;
diff --git a/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml b/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
index 04d4d3b4916d..02cf1314367b 100644
--- a/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
+++ b/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
@@ -65,14 +65,13 @@ allOf:
 
 examples:
   - |
-    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
     soc {
       #address-cells = <2>;
       #size-cells = <2>;
 
       qspi: spi@ff0f0000 {
         compatible = "xlnx,zynqmp-qspi-1.0";
-        clocks = <&zynqmp_clk QSPI_REF>, <&zynqmp_clk LPD_LSBUS>;
+        clocks = <&zynqmp_clk 53>, <&zynqmp_clk 82>;
         clock-names = "ref_clk", "pclk";
         interrupts = <0 15 4>;
         interrupt-parent = <&gic>;
diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
index 00f87a558c7d..b5843f4d17d8 100644
--- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
+++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
@@ -101,7 +101,6 @@ examples:
     #include <dt-bindings/dma/xlnx-zynqmp-dpdma.h>
     #include <dt-bindings/power/xlnx-zynqmp-power.h>
     #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
-    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
     #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
     #include <dt-bindings/phy/phy.h>
     axi {
@@ -113,7 +112,7 @@ examples:
             #size-cells = <0x2>;
             compatible = "xlnx,zynqmp-dwc3";
             reg = <0x0 0xff9d0000 0x0 0x100>;
-            clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
+            clocks = <&zynqmp_clk 32>, <&zynqmp_clk 34>;
             clock-names = "bus_clk", "ref_clk";
             power-domains = <&zynqmp_firmware PD_USB_0>;
             resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
diff --git a/include/dt-bindings/clock/xlnx-zynqmp-clk.h b/include/dt-bindings/clock/xlnx-zynqmp-clk.h
index cdc4c0b9a374..f0f7ddd3dcbd 100644
--- a/include/dt-bindings/clock/xlnx-zynqmp-clk.h
+++ b/include/dt-bindings/clock/xlnx-zynqmp-clk.h
@@ -9,6 +9,13 @@
 #ifndef _DT_BINDINGS_CLK_ZYNQMP_H
 #define _DT_BINDINGS_CLK_ZYNQMP_H
 
+/*
+ * These bindings are deprecated, because they do not match the actual
+ * concept of bindings but rather contain pure firmware values.
+ * Instead include the header in the DTS source directory.
+ */
+#warning "These bindings are deprecated. Instead use the header in the DTS source directory."
+
 #define IOPLL			0
 #define RPLL			1
 #define APLL			2
-- 
2.43.0


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

* Re: [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform
  2025-02-03 16:39 [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Michal Simek
  2025-02-03 16:39 ` [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants Michal Simek
@ 2025-02-04 19:43 ` Conor Dooley
  2025-02-17 15:25   ` Michal Simek
  2025-02-20 11:21 ` Michal Simek
  2 siblings, 1 reply; 7+ messages in thread
From: Conor Dooley @ 2025-02-04 19:43 UTC (permalink / raw)
  To: Michal Simek
  Cc: linux-kernel, monstr, michal.simek, git, Anand Ashok Dumbre,
	Andrew Lunn, Claudiu Beznea, Conor Dooley, Damien Le Moal,
	David S. Miller, Eric Dumazet, Greg Kroah-Hartman, Harini Katakam,
	Jakub Kicinski, Jonathan Cameron, Krzysztof Kozlowski,
	Lars-Peter Clausen, Mark Brown, Michael Tretter,
	Michael Turquette, Mubin Sayyed, Nicolas Ferre, Niklas Cassel,
	Paolo Abeni, Rob Herring, Shyam Pandey, Stephen Boyd, Vinod Koul,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM,
	moderated list:ARM/ZYNQ ARCHITECTURE,
	open list:COMMON CLK FRAMEWORK,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	open list:XILINX AMS DRIVER, open list:SPI SUBSYSTEM,
	open list:USB SUBSYSTEM, open list:NETWORKING DRIVERS

[-- Attachment #1: Type: text/plain, Size: 725 bytes --]

On Mon, Feb 03, 2025 at 05:39:09PM +0100, Michal Simek wrote:
> Hi,
> 
> Based on discussion done long time ago
> https://lore.kernel.org/all/5353872c-56a3-98f9-7f22-ec1f6c2ccdc8@linaro.org/
> it is better to deprecate firmware contants which are not used in any code
> and it's only purpose is to use macros in dt files.
> 
> There is no reason to be the part of dt bindings but it should be kept
> there with adding deprecated warning.
> 
> I want to see if this is the right way to go. If yes, I will also do the
> same changes in other headers which contain only constans which are not
> used in any code.

Ye, I think this is a good approach to take.
Acked-by: Conor Dooley <conor.dooley@microchip.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

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

* Re: [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants
  2025-02-03 16:39 ` [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants Michal Simek
@ 2025-02-04 20:04   ` Jonathan Cameron
  2025-02-18 10:54   ` Vinod Koul
  1 sibling, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2025-02-04 20:04 UTC (permalink / raw)
  To: Michal Simek
  Cc: linux-kernel, monstr, michal.simek, git, Anand Ashok Dumbre,
	Andrew Lunn, Claudiu Beznea, Conor Dooley, Damien Le Moal,
	David S. Miller, Eric Dumazet, Greg Kroah-Hartman, Harini Katakam,
	Jakub Kicinski, Krzysztof Kozlowski, Lars-Peter Clausen,
	Mark Brown, Michael Tretter, Michael Turquette, Mubin Sayyed,
	Nicolas Ferre, Niklas Cassel, Paolo Abeni, Rob Herring,
	Shyam Pandey, Stephen Boyd, Vinod Koul,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM,
	moderated list:ARM/ZYNQ ARCHITECTURE,
	open list:COMMON CLK FRAMEWORK,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	open list:XILINX AMS DRIVER, open list:SPI SUBSYSTEM,
	open list:USB SUBSYSTEM, open list:NETWORKING DRIVERS

On Mon, 3 Feb 2025 17:39:11 +0100
Michal Simek <michal.simek@amd.com> wrote:

> Firmware contants do not fit the purpose of bindings because they are not
> independent IDs for abstractions. They are more or less just contants which
> better to wire via header with DT which is using it.
> That's why add deprecated message to dt binding header and also update
> existing dt bindings not to use macros from the header  and replace them by
> it's value. Actually value is not relevant because it is only example.
> 
> The similar changes have been done by commit 9d9292576810 ("dt-bindings:
> pinctrl: samsung: deprecate header with register constants").
> 
> Signed-off-by: Michal Simek <michal.simek@amd.com>
For IIO
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---
> 
>  Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml  | 4 +---
>  .../bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml           | 3 +--
>  .../devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml       | 3 +--
>  Documentation/devicetree/bindings/net/cdns,macb.yaml       | 7 +++----
>  Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml | 3 +--
>  Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml     | 3 +--
>  include/dt-bindings/clock/xlnx-zynqmp-clk.h                | 7 +++++++
>  7 files changed, 15 insertions(+), 15 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml b/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml
> index 9952e0ef7767..6ad78429dc74 100644
> --- a/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml
> +++ b/Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml
> @@ -163,11 +163,9 @@ additionalProperties: false
>  
>  examples:
>    - |
> -    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
>      #include <dt-bindings/interrupt-controller/irq.h>
>      #include <dt-bindings/power/xlnx-zynqmp-power.h>
>      #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
> -    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
>      #include <dt-bindings/phy/phy.h>
>  
>      sata: ahci@fd0c0000 {
> @@ -175,7 +173,7 @@ examples:
>          reg = <0xfd0c0000 0x200>;
>          interrupt-parent = <&gic>;
>          interrupts = <0 133 IRQ_TYPE_LEVEL_HIGH>;
> -        clocks = <&zynqmp_clk SATA_REF>;
> +        clocks = <&zynqmp_clk 22>;
>          ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
>          ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
>          ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
> diff --git a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
> index ac3198953b8e..b5399c65a731 100644
> --- a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
> +++ b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
> @@ -75,7 +75,6 @@ additionalProperties: false
>  
>  examples:
>    - |
> -    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
>  
>      fpd_dma_chan1: dma-controller@fd500000 {
>        compatible = "xlnx,zynqmp-dma-1.0";
> @@ -84,7 +83,7 @@ examples:
>        interrupts = <0 117 0x4>;
>        #dma-cells = <1>;
>        clock-names = "clk_main", "clk_apb";
> -      clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
> +      clocks = <&zynqmp_clk 19>, <&zynqmp_clk 31>;
>        xlnx,bus-width = <128>;
>        dma-coherent;
>      };
> diff --git a/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml b/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml
> index 8cbad7e792b6..a403392fb263 100644
> --- a/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/xlnx,zynqmp-ams.yaml
> @@ -193,7 +193,6 @@ additionalProperties: false
>  
>  examples:
>    - |
> -    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
>  
>      bus {
>          #address-cells = <2>;
> @@ -204,7 +203,7 @@ examples:
>              interrupt-parent = <&gic>;
>              interrupts = <0 56 4>;
>              reg = <0x0 0xffa50000 0x0 0x800>;
> -            clocks = <&zynqmp_clk AMS_REF>;
> +            clocks = <&zynqmp_clk 70>;
>              #address-cells = <1>;
>              #size-cells = <1>;
>              #io-channel-cells = <1>;
> diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documentation/devicetree/bindings/net/cdns,macb.yaml
> index 3c30dd23cd4e..8d69846b2e09 100644
> --- a/Documentation/devicetree/bindings/net/cdns,macb.yaml
> +++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml
> @@ -197,7 +197,6 @@ examples:
>      };
>  
>    - |
> -    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
>      #include <dt-bindings/power/xlnx-zynqmp-power.h>
>      #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
>      #include <dt-bindings/phy/phy.h>
> @@ -210,9 +209,9 @@ examples:
>                      interrupt-parent = <&gic>;
>                      interrupts = <0 59 4>, <0 59 4>;
>                      reg = <0x0 0xff0c0000 0x0 0x1000>;
> -                    clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM1_REF>,
> -                             <&zynqmp_clk GEM1_TX>, <&zynqmp_clk GEM1_RX>,
> -                             <&zynqmp_clk GEM_TSU>;
> +                    clocks = <&zynqmp_clk 31>, <&zynqmp_clk 105>,
> +                             <&zynqmp_clk 51>, <&zynqmp_clk 50>,
> +                             <&zynqmp_clk 44>;
>                      clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
>                      #address-cells = <1>;
>                      #size-cells = <0>;
> diff --git a/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml b/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
> index 04d4d3b4916d..02cf1314367b 100644
> --- a/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
> +++ b/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
> @@ -65,14 +65,13 @@ allOf:
>  
>  examples:
>    - |
> -    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
>      soc {
>        #address-cells = <2>;
>        #size-cells = <2>;
>  
>        qspi: spi@ff0f0000 {
>          compatible = "xlnx,zynqmp-qspi-1.0";
> -        clocks = <&zynqmp_clk QSPI_REF>, <&zynqmp_clk LPD_LSBUS>;
> +        clocks = <&zynqmp_clk 53>, <&zynqmp_clk 82>;
>          clock-names = "ref_clk", "pclk";
>          interrupts = <0 15 4>;
>          interrupt-parent = <&gic>;
> diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
> index 00f87a558c7d..b5843f4d17d8 100644
> --- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
> +++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
> @@ -101,7 +101,6 @@ examples:
>      #include <dt-bindings/dma/xlnx-zynqmp-dpdma.h>
>      #include <dt-bindings/power/xlnx-zynqmp-power.h>
>      #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
> -    #include <dt-bindings/clock/xlnx-zynqmp-clk.h>
>      #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
>      #include <dt-bindings/phy/phy.h>
>      axi {
> @@ -113,7 +112,7 @@ examples:
>              #size-cells = <0x2>;
>              compatible = "xlnx,zynqmp-dwc3";
>              reg = <0x0 0xff9d0000 0x0 0x100>;
> -            clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
> +            clocks = <&zynqmp_clk 32>, <&zynqmp_clk 34>;
>              clock-names = "bus_clk", "ref_clk";
>              power-domains = <&zynqmp_firmware PD_USB_0>;
>              resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
> diff --git a/include/dt-bindings/clock/xlnx-zynqmp-clk.h b/include/dt-bindings/clock/xlnx-zynqmp-clk.h
> index cdc4c0b9a374..f0f7ddd3dcbd 100644
> --- a/include/dt-bindings/clock/xlnx-zynqmp-clk.h
> +++ b/include/dt-bindings/clock/xlnx-zynqmp-clk.h
> @@ -9,6 +9,13 @@
>  #ifndef _DT_BINDINGS_CLK_ZYNQMP_H
>  #define _DT_BINDINGS_CLK_ZYNQMP_H
>  
> +/*
> + * These bindings are deprecated, because they do not match the actual
> + * concept of bindings but rather contain pure firmware values.
> + * Instead include the header in the DTS source directory.
> + */
> +#warning "These bindings are deprecated. Instead use the header in the DTS source directory."
> +
>  #define IOPLL			0
>  #define RPLL			1
>  #define APLL			2


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

* Re: [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform
  2025-02-04 19:43 ` [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Conor Dooley
@ 2025-02-17 15:25   ` Michal Simek
  0 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2025-02-17 15:25 UTC (permalink / raw)
  To: Conor Dooley
  Cc: linux-kernel, monstr, michal.simek, git, Anand Ashok Dumbre,
	Andrew Lunn, Claudiu Beznea, Conor Dooley, Damien Le Moal,
	David S. Miller, Eric Dumazet, Greg Kroah-Hartman, Harini Katakam,
	Jakub Kicinski, Jonathan Cameron, Krzysztof Kozlowski,
	Lars-Peter Clausen, Mark Brown, Michael Tretter,
	Michael Turquette, Mubin Sayyed, Nicolas Ferre, Niklas Cassel,
	Paolo Abeni, Rob Herring, Shyam Pandey, Stephen Boyd, Vinod Koul,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM,
	moderated list:ARM/ZYNQ ARCHITECTURE,
	open list:COMMON CLK FRAMEWORK,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	open list:XILINX AMS DRIVER, open list:SPI SUBSYSTEM,
	open list:USB SUBSYSTEM, open list:NETWORKING DRIVERS



On 2/4/25 20:43, Conor Dooley wrote:
> On Mon, Feb 03, 2025 at 05:39:09PM +0100, Michal Simek wrote:
>> Hi,
>>
>> Based on discussion done long time ago
>> https://lore.kernel.org/all/5353872c-56a3-98f9-7f22-ec1f6c2ccdc8@linaro.org/
>> it is better to deprecate firmware contants which are not used in any code
>> and it's only purpose is to use macros in dt files.
>>
>> There is no reason to be the part of dt bindings but it should be kept
>> there with adding deprecated warning.
>>
>> I want to see if this is the right way to go. If yes, I will also do the
>> same changes in other headers which contain only constans which are not
>> used in any code.
> 
> Ye, I think this is a good approach to take.
> Acked-by: Conor Dooley <conor.dooley@microchip.com>

Any other comment?

M

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

* Re: [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants
  2025-02-03 16:39 ` [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants Michal Simek
  2025-02-04 20:04   ` Jonathan Cameron
@ 2025-02-18 10:54   ` Vinod Koul
  1 sibling, 0 replies; 7+ messages in thread
From: Vinod Koul @ 2025-02-18 10:54 UTC (permalink / raw)
  To: Michal Simek
  Cc: linux-kernel, monstr, michal.simek, git, Anand Ashok Dumbre,
	Andrew Lunn, Claudiu Beznea, Conor Dooley, Damien Le Moal,
	David S. Miller, Eric Dumazet, Greg Kroah-Hartman, Harini Katakam,
	Jakub Kicinski, Jonathan Cameron, Krzysztof Kozlowski,
	Lars-Peter Clausen, Mark Brown, Michael Tretter,
	Michael Turquette, Mubin Sayyed, Nicolas Ferre, Niklas Cassel,
	Paolo Abeni, Rob Herring, Shyam Pandey, Stephen Boyd,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM,
	moderated list:ARM/ZYNQ ARCHITECTURE,
	open list:COMMON CLK FRAMEWORK,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	open list:XILINX AMS DRIVER, open list:SPI SUBSYSTEM,
	open list:USB SUBSYSTEM, open list:NETWORKING DRIVERS

On 03-02-25, 17:39, Michal Simek wrote:
> Firmware contants do not fit the purpose of bindings because they are not
> independent IDs for abstractions. They are more or less just contants which
> better to wire via header with DT which is using it.
> That's why add deprecated message to dt binding header and also update
> existing dt bindings not to use macros from the header  and replace them by
> it's value. Actually value is not relevant because it is only example.
> 
> The similar changes have been done by commit 9d9292576810 ("dt-bindings:
> pinctrl: samsung: deprecate header with register constants").
> 
> Signed-off-by: Michal Simek <michal.simek@amd.com>
> ---
> 
>  Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml  | 4 +---
>  .../bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml           | 3 +--

Acked-by: Vinod Koul <vkoul@kernel.org>

-- 
~Vinod

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

* Re: [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform
  2025-02-03 16:39 [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Michal Simek
  2025-02-03 16:39 ` [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants Michal Simek
  2025-02-04 19:43 ` [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Conor Dooley
@ 2025-02-20 11:21 ` Michal Simek
  2 siblings, 0 replies; 7+ messages in thread
From: Michal Simek @ 2025-02-20 11:21 UTC (permalink / raw)
  To: linux-kernel, monstr, michal.simek, git
  Cc: Anand Ashok Dumbre, Andrew Lunn, Claudiu Beznea, Conor Dooley,
	Damien Le Moal, David S. Miller, Eric Dumazet, Greg Kroah-Hartman,
	Harini Katakam, Jakub Kicinski, Jonathan Cameron,
	Krzysztof Kozlowski, Lars-Peter Clausen, Mark Brown,
	Michael Tretter, Michael Turquette, Mubin Sayyed, Nicolas Ferre,
	Niklas Cassel, Paolo Abeni, Rob Herring, Shyam Pandey,
	Stephen Boyd, Vinod Koul,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM,
	moderated list:ARM/ZYNQ ARCHITECTURE,
	open list:COMMON CLK FRAMEWORK,
	open list:LIBATA SUBSYSTEM (Serial and Parallel ATA drivers),
	open list:XILINX AMS DRIVER, open list:SPI SUBSYSTEM,
	open list:USB SUBSYSTEM, open list:NETWORKING DRIVERS



On 2/3/25 17:39, Michal Simek wrote:
> Hi,
> 
> Based on discussion done long time ago
> https://lore.kernel.org/all/5353872c-56a3-98f9-7f22-ec1f6c2ccdc8@linaro.org/
> it is better to deprecate firmware contants which are not used in any code
> and it's only purpose is to use macros in dt files.
> 
> There is no reason to be the part of dt bindings but it should be kept
> there with adding deprecated warning.
> 
> I want to see if this is the right way to go. If yes, I will also do the
> same changes in other headers which contain only constans which are not
> used in any code.
> 
> Thanks,
> Michal
> 
> 
> Michal Simek (2):
>    arm64: zynqmp: Use DT header for firmware constants
>    dt-bindings: xilinx: Deprecate header with firmware constants
> 
>   .../bindings/ata/ceva,ahci-1v84.yaml          |   4 +-
>   .../dma/xilinx/xlnx,zynqmp-dma-1.0.yaml       |   3 +-
>   .../bindings/iio/adc/xlnx,zynqmp-ams.yaml     |   3 +-
>   .../devicetree/bindings/net/cdns,macb.yaml    |   7 +-
>   .../bindings/spi/spi-zynqmp-qspi.yaml         |   3 +-
>   .../devicetree/bindings/usb/dwc3-xilinx.yaml  |   3 +-
>   arch/arm64/boot/dts/xilinx/xlnx-zynqmp-clk.h  | 126 ++++++++++++++++++
>   .../arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi |   2 +-
>   include/dt-bindings/clock/xlnx-zynqmp-clk.h   |   7 +
>   9 files changed, 142 insertions(+), 16 deletions(-)
>   create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-zynqmp-clk.h
> 

Applied.
M

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

end of thread, other threads:[~2025-02-20 11:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-03 16:39 [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Michal Simek
2025-02-03 16:39 ` [PATCH 2/2] dt-bindings: xilinx: Deprecate header with firmware constants Michal Simek
2025-02-04 20:04   ` Jonathan Cameron
2025-02-18 10:54   ` Vinod Koul
2025-02-04 19:43 ` [PATCH 0/2] arm64: zynqmp: Move firmware constants from binding to platform Conor Dooley
2025-02-17 15:25   ` Michal Simek
2025-02-20 11:21 ` Michal Simek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).