All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Liang Yang <liang.yang@amlogic.com>
Cc: <linux-mtd@lists.infradead.org>, Rob Herring <robh+dt@kernel.org>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Jianxin Pan <jianxin.pan@amlogic.com>,
	Victor Wan <victor.wan@amlogic.com>,
	XianWei Zhao <xianwei.zhao@amlogic.com>,
	Kelvin Zhang <kelvin.zhang@amlogic.com>,
	BiChao Zheng <bichao.zheng@amlogic.com>,
	YongHui Yu <yonghui.yu@amlogic.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 2/2] dt-bindings: nand: meson: refine Amlogic NAND controller driver
Date: Wed, 20 Apr 2022 09:41:07 +0200	[thread overview]
Message-ID: <20220420094107.4799f15a@xps13> (raw)
In-Reply-To: <20220402074921.13316-3-liang.yang@amlogic.com>

Hi Liang,

liang.yang@amlogic.com wrote on Sat, 2 Apr 2022 15:49:20 +0800:

> convert txt to yaml and refine the meson NFC clock document.

We generally prefer to split this into two changes (yaml conversion
then modifications). You need to be very explicit on the changes you
bring to this file afterward. Also you may s/refine/fix/ in your title
if this really is a correction of something that does not work at all as
you suggest.

Please mention that due to the other series about the clock changes
never being accepted the current binding was never valid/working
(again, I'm not sure it's the case on all Amlogic SoCs, so please be
very careful about that).

And please use a Link: tag to point to the discussion with Neil and
Jerome on your MMC/NAND subclock final discussion.

> Signed-off-by: Liang Yang <liang.yang@amlogic.com>
> ---
>  .../bindings/mtd/amlogic,meson-nand.txt       | 60 --------------
>  .../bindings/mtd/amlogic,meson-nand.yaml      | 80 +++++++++++++++++++
>  2 files changed, 80 insertions(+), 60 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> deleted file mode 100644
> index 5794ab1147c1..000000000000
> --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs
> -
> -This file documents the properties in addition to those available in
> -the MTD NAND bindings.
> -
> -Required properties:
> -- compatible : contains one of:
> -  - "amlogic,meson-gxl-nfc"
> -  - "amlogic,meson-axg-nfc"
> -- clocks     :
> -	A list of phandle + clock-specifier pairs for the clocks listed
> -	in clock-names.
> -
> -- clock-names: Should contain the following:
> -	"core" - NFC module gate clock
> -	"device" - device clock from eMMC sub clock controller
> -	"rx" - rx clock phase
> -	"tx" - tx clock phase
> -
> -- amlogic,mmc-syscon	: Required for NAND clocks, it's shared with SD/eMMC
> -				controller port C
> -
> -Optional children nodes:
> -Children nodes represent the available nand chips.
> -
> -Other properties:
> -see Documentation/devicetree/bindings/mtd/nand-controller.yaml for generic bindings.
> -
> -Example demonstrate on AXG SoC:
> -
> -	sd_emmc_c_clkc: mmc@7000 {
> -		compatible = "amlogic,meson-axg-mmc-clkc", "syscon";
> -		reg = <0x0 0x7000 0x0 0x800>;
> -	};
> -
> -	nand-controller@7800 {
> -		compatible = "amlogic,meson-axg-nfc";
> -		reg = <0x0 0x7800 0x0 0x100>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> -
> -		clocks = <&clkc CLKID_SD_EMMC_C>,
> -			<&sd_emmc_c_clkc CLKID_MMC_DIV>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_RX>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_TX>;
> -		clock-names = "core", "device", "rx", "tx";
> -		amlogic,mmc-syscon = <&sd_emmc_c_clkc>;
> -
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&nand_pins>;
> -
> -		nand@0 {
> -			reg = <0>;
> -			#address-cells = <1>;
> -			#size-cells = <1>;
> -
> -			nand-on-flash-bbt;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> new file mode 100644
> index 000000000000..965a2dd20645
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> @@ -0,0 +1,80 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs

Maybe you need to inherit from nand-controller.yaml.

> +
> +maintainers:
> +  - liang.yang@amlogic.com
> +
> +properties:
> +  compatible:
> +    enum:
> +      - "amlogic,meson-gxl-nfc"
> +      - "amlogic,meson-axg-nfc"
> +
> +  reg:
> +    maxItems: 2
> +
> +  '#address-cells':
> +    const: 1

Not sure this property is needed.

> +
> +  '#size-cells':
> +    const: 0

Ditto. Plus, this one looks wrong anyway.

> +
> +  reg-names:
> +    items:
> +      - const: nfc
> +      - const: emmc

Why do you need the emmc register map? Do you really need to perform a
register access there?

> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: core
> +      - const: device
> +
> +  "#clock-cells":
> +    const: 1

?

> +
> +required:
> +  - compatible
> +  - reg
> +  - '#address-cells'
> +  - '#size-cells'
> +  - reg-names
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: false

I will let Rob check that but I think what you need is

unevaluatedProperties: false

> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/axg-clkc.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    apb {
> +      #address-cells = <2>;
> +      #size-cells = <2>;

Not sure you need this upper node in the example.

> +      nand-controller@7800 {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        compatible = "amlogic,meson-axg-nfc";
> +        reg = <0x0 0x7800 0x0 0x100>,
> +              <0x0 0x7000 0x0 0x800>;
> +        reg-names = "nfc", "emmc";
> +
> +        interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> +        clocks = <&clkc CLKID_SD_EMMC_C>,
> +                 <&clkc CLKID_FCLK_DIV2>;
> +        clock-names = "core", "device";
> +
> +      };
> +    };
> +...


Thanks,
Miquèl

WARNING: multiple messages have this Message-ID
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Liang Yang <liang.yang@amlogic.com>
Cc: <linux-mtd@lists.infradead.org>, Rob Herring <robh+dt@kernel.org>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Jianxin Pan <jianxin.pan@amlogic.com>,
	Victor Wan <victor.wan@amlogic.com>,
	XianWei Zhao <xianwei.zhao@amlogic.com>,
	Kelvin Zhang <kelvin.zhang@amlogic.com>,
	BiChao Zheng <bichao.zheng@amlogic.com>,
	YongHui Yu <yonghui.yu@amlogic.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 2/2] dt-bindings: nand: meson: refine Amlogic NAND controller driver
Date: Wed, 20 Apr 2022 09:41:07 +0200	[thread overview]
Message-ID: <20220420094107.4799f15a@xps13> (raw)
In-Reply-To: <20220402074921.13316-3-liang.yang@amlogic.com>

Hi Liang,

liang.yang@amlogic.com wrote on Sat, 2 Apr 2022 15:49:20 +0800:

> convert txt to yaml and refine the meson NFC clock document.

We generally prefer to split this into two changes (yaml conversion
then modifications). You need to be very explicit on the changes you
bring to this file afterward. Also you may s/refine/fix/ in your title
if this really is a correction of something that does not work at all as
you suggest.

Please mention that due to the other series about the clock changes
never being accepted the current binding was never valid/working
(again, I'm not sure it's the case on all Amlogic SoCs, so please be
very careful about that).

And please use a Link: tag to point to the discussion with Neil and
Jerome on your MMC/NAND subclock final discussion.

> Signed-off-by: Liang Yang <liang.yang@amlogic.com>
> ---
>  .../bindings/mtd/amlogic,meson-nand.txt       | 60 --------------
>  .../bindings/mtd/amlogic,meson-nand.yaml      | 80 +++++++++++++++++++
>  2 files changed, 80 insertions(+), 60 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> deleted file mode 100644
> index 5794ab1147c1..000000000000
> --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs
> -
> -This file documents the properties in addition to those available in
> -the MTD NAND bindings.
> -
> -Required properties:
> -- compatible : contains one of:
> -  - "amlogic,meson-gxl-nfc"
> -  - "amlogic,meson-axg-nfc"
> -- clocks     :
> -	A list of phandle + clock-specifier pairs for the clocks listed
> -	in clock-names.
> -
> -- clock-names: Should contain the following:
> -	"core" - NFC module gate clock
> -	"device" - device clock from eMMC sub clock controller
> -	"rx" - rx clock phase
> -	"tx" - tx clock phase
> -
> -- amlogic,mmc-syscon	: Required for NAND clocks, it's shared with SD/eMMC
> -				controller port C
> -
> -Optional children nodes:
> -Children nodes represent the available nand chips.
> -
> -Other properties:
> -see Documentation/devicetree/bindings/mtd/nand-controller.yaml for generic bindings.
> -
> -Example demonstrate on AXG SoC:
> -
> -	sd_emmc_c_clkc: mmc@7000 {
> -		compatible = "amlogic,meson-axg-mmc-clkc", "syscon";
> -		reg = <0x0 0x7000 0x0 0x800>;
> -	};
> -
> -	nand-controller@7800 {
> -		compatible = "amlogic,meson-axg-nfc";
> -		reg = <0x0 0x7800 0x0 0x100>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> -
> -		clocks = <&clkc CLKID_SD_EMMC_C>,
> -			<&sd_emmc_c_clkc CLKID_MMC_DIV>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_RX>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_TX>;
> -		clock-names = "core", "device", "rx", "tx";
> -		amlogic,mmc-syscon = <&sd_emmc_c_clkc>;
> -
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&nand_pins>;
> -
> -		nand@0 {
> -			reg = <0>;
> -			#address-cells = <1>;
> -			#size-cells = <1>;
> -
> -			nand-on-flash-bbt;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> new file mode 100644
> index 000000000000..965a2dd20645
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> @@ -0,0 +1,80 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs

Maybe you need to inherit from nand-controller.yaml.

> +
> +maintainers:
> +  - liang.yang@amlogic.com
> +
> +properties:
> +  compatible:
> +    enum:
> +      - "amlogic,meson-gxl-nfc"
> +      - "amlogic,meson-axg-nfc"
> +
> +  reg:
> +    maxItems: 2
> +
> +  '#address-cells':
> +    const: 1

Not sure this property is needed.

> +
> +  '#size-cells':
> +    const: 0

Ditto. Plus, this one looks wrong anyway.

> +
> +  reg-names:
> +    items:
> +      - const: nfc
> +      - const: emmc

Why do you need the emmc register map? Do you really need to perform a
register access there?

> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: core
> +      - const: device
> +
> +  "#clock-cells":
> +    const: 1

?

> +
> +required:
> +  - compatible
> +  - reg
> +  - '#address-cells'
> +  - '#size-cells'
> +  - reg-names
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: false

I will let Rob check that but I think what you need is

unevaluatedProperties: false

> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/axg-clkc.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    apb {
> +      #address-cells = <2>;
> +      #size-cells = <2>;

Not sure you need this upper node in the example.

> +      nand-controller@7800 {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        compatible = "amlogic,meson-axg-nfc";
> +        reg = <0x0 0x7800 0x0 0x100>,
> +              <0x0 0x7000 0x0 0x800>;
> +        reg-names = "nfc", "emmc";
> +
> +        interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> +        clocks = <&clkc CLKID_SD_EMMC_C>,
> +                 <&clkc CLKID_FCLK_DIV2>;
> +        clock-names = "core", "device";
> +
> +      };
> +    };
> +...


Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Liang Yang <liang.yang@amlogic.com>
Cc: <linux-mtd@lists.infradead.org>, Rob Herring <robh+dt@kernel.org>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Jianxin Pan <jianxin.pan@amlogic.com>,
	Victor Wan <victor.wan@amlogic.com>,
	XianWei Zhao <xianwei.zhao@amlogic.com>,
	Kelvin Zhang <kelvin.zhang@amlogic.com>,
	BiChao Zheng <bichao.zheng@amlogic.com>,
	YongHui Yu <yonghui.yu@amlogic.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 2/2] dt-bindings: nand: meson: refine Amlogic NAND controller driver
Date: Wed, 20 Apr 2022 09:41:07 +0200	[thread overview]
Message-ID: <20220420094107.4799f15a@xps13> (raw)
In-Reply-To: <20220402074921.13316-3-liang.yang@amlogic.com>

Hi Liang,

liang.yang@amlogic.com wrote on Sat, 2 Apr 2022 15:49:20 +0800:

> convert txt to yaml and refine the meson NFC clock document.

We generally prefer to split this into two changes (yaml conversion
then modifications). You need to be very explicit on the changes you
bring to this file afterward. Also you may s/refine/fix/ in your title
if this really is a correction of something that does not work at all as
you suggest.

Please mention that due to the other series about the clock changes
never being accepted the current binding was never valid/working
(again, I'm not sure it's the case on all Amlogic SoCs, so please be
very careful about that).

And please use a Link: tag to point to the discussion with Neil and
Jerome on your MMC/NAND subclock final discussion.

> Signed-off-by: Liang Yang <liang.yang@amlogic.com>
> ---
>  .../bindings/mtd/amlogic,meson-nand.txt       | 60 --------------
>  .../bindings/mtd/amlogic,meson-nand.yaml      | 80 +++++++++++++++++++
>  2 files changed, 80 insertions(+), 60 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> deleted file mode 100644
> index 5794ab1147c1..000000000000
> --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs
> -
> -This file documents the properties in addition to those available in
> -the MTD NAND bindings.
> -
> -Required properties:
> -- compatible : contains one of:
> -  - "amlogic,meson-gxl-nfc"
> -  - "amlogic,meson-axg-nfc"
> -- clocks     :
> -	A list of phandle + clock-specifier pairs for the clocks listed
> -	in clock-names.
> -
> -- clock-names: Should contain the following:
> -	"core" - NFC module gate clock
> -	"device" - device clock from eMMC sub clock controller
> -	"rx" - rx clock phase
> -	"tx" - tx clock phase
> -
> -- amlogic,mmc-syscon	: Required for NAND clocks, it's shared with SD/eMMC
> -				controller port C
> -
> -Optional children nodes:
> -Children nodes represent the available nand chips.
> -
> -Other properties:
> -see Documentation/devicetree/bindings/mtd/nand-controller.yaml for generic bindings.
> -
> -Example demonstrate on AXG SoC:
> -
> -	sd_emmc_c_clkc: mmc@7000 {
> -		compatible = "amlogic,meson-axg-mmc-clkc", "syscon";
> -		reg = <0x0 0x7000 0x0 0x800>;
> -	};
> -
> -	nand-controller@7800 {
> -		compatible = "amlogic,meson-axg-nfc";
> -		reg = <0x0 0x7800 0x0 0x100>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> -
> -		clocks = <&clkc CLKID_SD_EMMC_C>,
> -			<&sd_emmc_c_clkc CLKID_MMC_DIV>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_RX>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_TX>;
> -		clock-names = "core", "device", "rx", "tx";
> -		amlogic,mmc-syscon = <&sd_emmc_c_clkc>;
> -
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&nand_pins>;
> -
> -		nand@0 {
> -			reg = <0>;
> -			#address-cells = <1>;
> -			#size-cells = <1>;
> -
> -			nand-on-flash-bbt;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> new file mode 100644
> index 000000000000..965a2dd20645
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> @@ -0,0 +1,80 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs

Maybe you need to inherit from nand-controller.yaml.

> +
> +maintainers:
> +  - liang.yang@amlogic.com
> +
> +properties:
> +  compatible:
> +    enum:
> +      - "amlogic,meson-gxl-nfc"
> +      - "amlogic,meson-axg-nfc"
> +
> +  reg:
> +    maxItems: 2
> +
> +  '#address-cells':
> +    const: 1

Not sure this property is needed.

> +
> +  '#size-cells':
> +    const: 0

Ditto. Plus, this one looks wrong anyway.

> +
> +  reg-names:
> +    items:
> +      - const: nfc
> +      - const: emmc

Why do you need the emmc register map? Do you really need to perform a
register access there?

> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: core
> +      - const: device
> +
> +  "#clock-cells":
> +    const: 1

?

> +
> +required:
> +  - compatible
> +  - reg
> +  - '#address-cells'
> +  - '#size-cells'
> +  - reg-names
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: false

I will let Rob check that but I think what you need is

unevaluatedProperties: false

> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/axg-clkc.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    apb {
> +      #address-cells = <2>;
> +      #size-cells = <2>;

Not sure you need this upper node in the example.

> +      nand-controller@7800 {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        compatible = "amlogic,meson-axg-nfc";
> +        reg = <0x0 0x7800 0x0 0x100>,
> +              <0x0 0x7000 0x0 0x800>;
> +        reg-names = "nfc", "emmc";
> +
> +        interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> +        clocks = <&clkc CLKID_SD_EMMC_C>,
> +                 <&clkc CLKID_FCLK_DIV2>;
> +        clock-names = "core", "device";
> +
> +      };
> +    };
> +...


Thanks,
Miquèl

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

WARNING: multiple messages have this Message-ID
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Liang Yang <liang.yang@amlogic.com>
Cc: <linux-mtd@lists.infradead.org>, Rob Herring <robh+dt@kernel.org>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Jianxin Pan <jianxin.pan@amlogic.com>,
	Victor Wan <victor.wan@amlogic.com>,
	XianWei Zhao <xianwei.zhao@amlogic.com>,
	Kelvin Zhang <kelvin.zhang@amlogic.com>,
	BiChao Zheng <bichao.zheng@amlogic.com>,
	YongHui Yu <yonghui.yu@amlogic.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 2/2] dt-bindings: nand: meson: refine Amlogic NAND controller driver
Date: Wed, 20 Apr 2022 09:41:07 +0200	[thread overview]
Message-ID: <20220420094107.4799f15a@xps13> (raw)
In-Reply-To: <20220402074921.13316-3-liang.yang@amlogic.com>

Hi Liang,

liang.yang@amlogic.com wrote on Sat, 2 Apr 2022 15:49:20 +0800:

> convert txt to yaml and refine the meson NFC clock document.

We generally prefer to split this into two changes (yaml conversion
then modifications). You need to be very explicit on the changes you
bring to this file afterward. Also you may s/refine/fix/ in your title
if this really is a correction of something that does not work at all as
you suggest.

Please mention that due to the other series about the clock changes
never being accepted the current binding was never valid/working
(again, I'm not sure it's the case on all Amlogic SoCs, so please be
very careful about that).

And please use a Link: tag to point to the discussion with Neil and
Jerome on your MMC/NAND subclock final discussion.

> Signed-off-by: Liang Yang <liang.yang@amlogic.com>
> ---
>  .../bindings/mtd/amlogic,meson-nand.txt       | 60 --------------
>  .../bindings/mtd/amlogic,meson-nand.yaml      | 80 +++++++++++++++++++
>  2 files changed, 80 insertions(+), 60 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> deleted file mode 100644
> index 5794ab1147c1..000000000000
> --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs
> -
> -This file documents the properties in addition to those available in
> -the MTD NAND bindings.
> -
> -Required properties:
> -- compatible : contains one of:
> -  - "amlogic,meson-gxl-nfc"
> -  - "amlogic,meson-axg-nfc"
> -- clocks     :
> -	A list of phandle + clock-specifier pairs for the clocks listed
> -	in clock-names.
> -
> -- clock-names: Should contain the following:
> -	"core" - NFC module gate clock
> -	"device" - device clock from eMMC sub clock controller
> -	"rx" - rx clock phase
> -	"tx" - tx clock phase
> -
> -- amlogic,mmc-syscon	: Required for NAND clocks, it's shared with SD/eMMC
> -				controller port C
> -
> -Optional children nodes:
> -Children nodes represent the available nand chips.
> -
> -Other properties:
> -see Documentation/devicetree/bindings/mtd/nand-controller.yaml for generic bindings.
> -
> -Example demonstrate on AXG SoC:
> -
> -	sd_emmc_c_clkc: mmc@7000 {
> -		compatible = "amlogic,meson-axg-mmc-clkc", "syscon";
> -		reg = <0x0 0x7000 0x0 0x800>;
> -	};
> -
> -	nand-controller@7800 {
> -		compatible = "amlogic,meson-axg-nfc";
> -		reg = <0x0 0x7800 0x0 0x100>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> -
> -		clocks = <&clkc CLKID_SD_EMMC_C>,
> -			<&sd_emmc_c_clkc CLKID_MMC_DIV>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_RX>,
> -			<&sd_emmc_c_clkc CLKID_MMC_PHASE_TX>;
> -		clock-names = "core", "device", "rx", "tx";
> -		amlogic,mmc-syscon = <&sd_emmc_c_clkc>;
> -
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&nand_pins>;
> -
> -		nand@0 {
> -			reg = <0>;
> -			#address-cells = <1>;
> -			#size-cells = <1>;
> -
> -			nand-on-flash-bbt;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> new file mode 100644
> index 000000000000..965a2dd20645
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
> @@ -0,0 +1,80 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs

Maybe you need to inherit from nand-controller.yaml.

> +
> +maintainers:
> +  - liang.yang@amlogic.com
> +
> +properties:
> +  compatible:
> +    enum:
> +      - "amlogic,meson-gxl-nfc"
> +      - "amlogic,meson-axg-nfc"
> +
> +  reg:
> +    maxItems: 2
> +
> +  '#address-cells':
> +    const: 1

Not sure this property is needed.

> +
> +  '#size-cells':
> +    const: 0

Ditto. Plus, this one looks wrong anyway.

> +
> +  reg-names:
> +    items:
> +      - const: nfc
> +      - const: emmc

Why do you need the emmc register map? Do you really need to perform a
register access there?

> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: core
> +      - const: device
> +
> +  "#clock-cells":
> +    const: 1

?

> +
> +required:
> +  - compatible
> +  - reg
> +  - '#address-cells'
> +  - '#size-cells'
> +  - reg-names
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: false

I will let Rob check that but I think what you need is

unevaluatedProperties: false

> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/axg-clkc.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    apb {
> +      #address-cells = <2>;
> +      #size-cells = <2>;

Not sure you need this upper node in the example.

> +      nand-controller@7800 {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        compatible = "amlogic,meson-axg-nfc";
> +        reg = <0x0 0x7800 0x0 0x100>,
> +              <0x0 0x7000 0x0 0x800>;
> +        reg-names = "nfc", "emmc";
> +
> +        interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
> +        clocks = <&clkc CLKID_SD_EMMC_C>,
> +                 <&clkc CLKID_FCLK_DIV2>;
> +        clock-names = "core", "device";
> +
> +      };
> +    };
> +...


Thanks,
Miquèl

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-04-20  7:41 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-02  7:49 [PATCH v4 0/2] refine the NFC clock framework Liang Yang
2022-04-02  7:49 ` Liang Yang
2022-04-02  7:49 ` Liang Yang
2022-04-02  7:49 ` Liang Yang
2022-04-02  7:49 ` [PATCH v4 1/2] mtd: rawnand: meson: discard the common MMC sub " Liang Yang
2022-04-02  7:49   ` Liang Yang
2022-04-02  7:49   ` Liang Yang
2022-04-02  7:49   ` Liang Yang
2022-04-04  8:30   ` Miquel Raynal
2022-04-04  8:30     ` Miquel Raynal
2022-04-04  8:30     ` Miquel Raynal
2022-04-04  8:30     ` Miquel Raynal
2022-04-11  2:40     ` Liang Yang
2022-04-11  2:40       ` Liang Yang
2022-04-11  2:40       ` Liang Yang
2022-04-11  2:40       ` Liang Yang
2022-04-11  7:00       ` Miquel Raynal
2022-04-11  7:00         ` Miquel Raynal
2022-04-11  7:00         ` Miquel Raynal
2022-04-11  7:00         ` Miquel Raynal
2022-04-11  9:03         ` Liang Yang
2022-04-11  9:03           ` Liang Yang
2022-04-11  9:03           ` Liang Yang
2022-04-11  9:03           ` Liang Yang
2022-04-18  3:40       ` Liang Yang
2022-04-18  3:40         ` Liang Yang
2022-04-18  3:40         ` Liang Yang
2022-04-18  3:40         ` Liang Yang
2022-04-19  8:26         ` Miquel Raynal
2022-04-19  8:26           ` Miquel Raynal
2022-04-19  8:26           ` Miquel Raynal
2022-04-19  8:26           ` Miquel Raynal
2022-04-19  9:17           ` Liang Yang
2022-04-19  9:17             ` Liang Yang
2022-04-19  9:17             ` Liang Yang
2022-04-19  9:17             ` Liang Yang
2022-04-19 15:25             ` Miquel Raynal
2022-04-19 15:25               ` Miquel Raynal
2022-04-19 15:25               ` Miquel Raynal
2022-04-19 15:25               ` Miquel Raynal
2022-04-20  5:44               ` Liang Yang
2022-04-20  5:44                 ` Liang Yang
2022-04-20  5:44                 ` Liang Yang
2022-04-20  5:44                 ` Liang Yang
2022-04-20  7:29                 ` Miquel Raynal
2022-04-20  7:29                   ` Miquel Raynal
2022-04-20  7:29                   ` Miquel Raynal
2022-04-20  7:29                   ` Miquel Raynal
2022-04-20  8:19                   ` Liang Yang
2022-04-20  8:19                     ` Liang Yang
2022-04-20  8:19                     ` Liang Yang
2022-04-20  8:19                     ` Liang Yang
2022-04-04 12:40   ` Neil Armstrong
2022-04-04 12:40     ` Neil Armstrong
2022-04-04 12:40     ` Neil Armstrong
2022-04-04 12:40     ` Neil Armstrong
2022-04-11  2:44     ` Liang Yang
2022-04-11  2:44       ` Liang Yang
2022-04-11  2:44       ` Liang Yang
2022-04-11  2:44       ` Liang Yang
2022-04-04 14:26   ` kernel test robot
2022-04-04 14:26     ` kernel test robot
2022-04-04 14:26     ` kernel test robot
2022-04-04 14:26     ` kernel test robot
2022-04-05 11:48   ` kernel test robot
2022-04-05 11:48     ` kernel test robot
2022-04-05 11:48     ` kernel test robot
2022-04-05 11:48     ` kernel test robot
2022-04-02  7:49 ` [PATCH v4 2/2] dt-bindings: nand: meson: refine Amlogic NAND controller driver Liang Yang
2022-04-02  7:49   ` Liang Yang
2022-04-02  7:49   ` Liang Yang
2022-04-02  7:49   ` Liang Yang
2022-04-20  7:41   ` Miquel Raynal [this message]
2022-04-20  7:41     ` Miquel Raynal
2022-04-20  7:41     ` Miquel Raynal
2022-04-20  7:41     ` Miquel Raynal
2022-04-20 11:55     ` Liang Yang
2022-04-20 11:55       ` Liang Yang
2022-04-20 11:55       ` Liang Yang
2022-04-20 11:55       ` Liang Yang
2022-04-20 12:16       ` Miquel Raynal
2022-04-20 12:16         ` Miquel Raynal
2022-04-20 12:16         ` Miquel Raynal
2022-04-20 12:16         ` Miquel Raynal
2022-04-20 12:35         ` Liang Yang
2022-04-20 12:35           ` Liang Yang
2022-04-20 12:35           ` Liang Yang
2022-04-20 12:35           ` Liang Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220420094107.4799f15a@xps13 \
    --to=miquel.raynal@bootlin.com \
    --cc=bichao.zheng@amlogic.com \
    --cc=jbrunet@baylibre.com \
    --cc=jianxin.pan@amlogic.com \
    --cc=kelvin.zhang@amlogic.com \
    --cc=khilman@baylibre.com \
    --cc=liang.yang@amlogic.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=narmstrong@baylibre.com \
    --cc=richard@nod.at \
    --cc=robh+dt@kernel.org \
    --cc=victor.wan@amlogic.com \
    --cc=vigneshr@ti.com \
    --cc=xianwei.zhao@amlogic.com \
    --cc=yonghui.yu@amlogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.