devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nicolas Ferre <nicolas.ferre@microchip.com>
To: Alexander Dahl <ada@thorsis.com>, <devicetree@vger.kernel.org>,
	"Claudiu Beznea" <claudiu.beznea@tuxon.dev>
Cc: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>,
	Manikandan M <Manikandan.M@microchip.com>,
	Hari Prasath <Hari.PrasathGE@microchip.com>,
	Durai Manickam <Durai.ManickamKR@microchip.com>
Subject: Re: [PATCH] ARM: dts: microchip: sam9x60: Move i2c address/size to dtsi
Date: Mon, 8 Jul 2024 15:04:49 +0200	[thread overview]
Message-ID: <01ba4ebd-a4cf-4e9d-bf2e-b7f9afa5417c@microchip.com> (raw)
In-Reply-To: <20240528153109.439407-1-ada@thorsis.com>

Hi Alexander,

On 28/05/2024 at 17:31, Alexander Dahl wrote:
> These properties are common for all i2c subnodes, and marked as
> 'required' in atmel/microchip i2c bindings.

Yes, indeed.

>  Allows to add i2c device
> nodes (like an rtc for example) in other .dts files including
> sam9x60.dtsi without requiring to repeat these properties for each i2c
> device again and again.
> 
> Found on a custom board after adding this in .dts:
> 
>      &flx5 {
>              atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
>              status = "okay";
> 
>              i2c5: i2c@600 {
>                      pinctrl-0 = <&pinctrl_flx5_default>;
>                      status = "okay";
> 
>                      pcf8523: rtc@68 {
>                              compatible = "nxp,pcf8523";
>                              reg = <0x68>;
>                      };
>              };
>      };
> 
> … which created a warning like this:
> 
>      […]:236.4-17: Warning (reg_format): /ahb/apb/flexcom@f0004000/i2c@600/rtc@68:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
>      […]: Warning (pci_device_reg): Failed prerequisite 'reg_format'
>      […]: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
>      […]: Warning (simple_bus_reg): Failed prerequisite 'reg_format'
>      […]/linux-6.6.25/arch/arm/boot/dts/microchip/sam9x60.dtsi:283.19-299.7: Warning (i2c_bus_bridge): /ahb/apb/flexcom@f0004000/i2c@600: incorrect #address-cells for I2C bus also defined at […]:228.16-238.4
>      […]/linux-6.6.25/arch/arm/boot/dts/microchip/sam9x60.dtsi:283.19-299.7: Warning (i2c_bus_bridge): /ahb/apb/flexcom@f0004000/i2c@600: incorrect #size-cells for I2C bus also defined at […]:228.16-238.4
>      […]: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
>      […]: Warning (i2c_bus_reg): Failed prerequisite 'i2c_bus_bridge'
>      […]: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
>      […]:234.19-237.5: Warning (avoid_default_addr_size): /ahb/apb/flexcom@f0004000/i2c@600/rtc@68: Relying on default #address-cells value
>      […]:234.19-237.5: Warning (avoid_default_addr_size): /ahb/apb/flexcom@f0004000/i2c@600/rtc@68: Relying on default #size-cells value
>      […]: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size'
>      […]: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'
> 
> This probably should have been done with commit 84f23f3284d5 ("ARM: dts:
> at91: sam9x60: move flexcom definitions") already, where those

Yes, and I think it was mentioned by Claudiu back then.

> address-cells and size-cells properties were left in the board .dts
> files instead of moving them to the dtsi.

I agree with the move, plus you addressed both of the current mainline 
boards:
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>

Thanks Alexander, best regards,
   Nicolas

> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>   .../dts/microchip/at91-sam9x60_curiosity.dts  |  2 --
>   .../arm/boot/dts/microchip/at91-sam9x60ek.dts |  4 ---
>   arch/arm/boot/dts/microchip/sam9x60.dtsi      | 26 +++++++++++++++++++
>   3 files changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/microchip/at91-sam9x60_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sam9x60_curiosity.dts
> index c6fbdd29019f..b9ffd9e5faac 100644
> --- a/arch/arm/boot/dts/microchip/at91-sam9x60_curiosity.dts
> +++ b/arch/arm/boot/dts/microchip/at91-sam9x60_curiosity.dts
> @@ -198,8 +198,6 @@ i2c0: i2c@600 {
>                  dmas = <0>, <0>;
>                  pinctrl-names = "default";
>                  pinctrl-0 = <&pinctrl_flx0_default>;
> -               #address-cells = <1>;
> -               #size-cells = <0>;
>                  i2c-analog-filter;
>                  i2c-digital-filter;
>                  i2c-digital-filter-width-ns = <35>;
> diff --git a/arch/arm/boot/dts/microchip/at91-sam9x60ek.dts b/arch/arm/boot/dts/microchip/at91-sam9x60ek.dts
> index f3cbb675cea4..3b38707d736e 100644
> --- a/arch/arm/boot/dts/microchip/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/microchip/at91-sam9x60ek.dts
> @@ -207,8 +207,6 @@ &flx0 {
>          status = "okay";
> 
>          i2c0: i2c@600 {
> -               #address-cells = <1>;
> -               #size-cells = <0>;
>                  dmas = <0>, <0>;
>                  pinctrl-names = "default";
>                  pinctrl-0 = <&pinctrl_flx0_default>;
> @@ -254,8 +252,6 @@ &flx6 {
>          status = "okay";
> 
>          i2c6: i2c@600 {
> -               #address-cells = <1>;
> -               #size-cells = <0>;
>                  dmas = <0>, <0>;
>                  pinctrl-names = "default";
>                  pinctrl-0 = <&pinctrl_flx6_default>;
> diff --git a/arch/arm/boot/dts/microchip/sam9x60.dtsi b/arch/arm/boot/dts/microchip/sam9x60.dtsi
> index 291540e5d81e..551b46894f47 100644
> --- a/arch/arm/boot/dts/microchip/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/microchip/sam9x60.dtsi
> @@ -215,6 +215,8 @@ i2c4: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -284,6 +286,8 @@ i2c5: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -394,6 +398,8 @@ i2c11: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -443,6 +449,8 @@ i2c12: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -600,6 +608,8 @@ i2c6: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -649,6 +659,8 @@ i2c7: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -698,6 +710,8 @@ i2c8: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -766,6 +780,8 @@ i2c0: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -834,6 +850,8 @@ i2c1: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -902,6 +920,8 @@ i2c2: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -970,6 +990,8 @@ i2c3: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -1074,6 +1096,8 @@ i2c9: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> @@ -1123,6 +1147,8 @@ i2c10: i2c@600 {
>                                          compatible = "microchip,sam9x60-i2c";
>                                          reg = <0x600 0x200>;
>                                          interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +                                       #address-cells = <1>;
> +                                       #size-cells = <0>;
>                                          clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
>                                          dmas = <&dma0
>                                                  (AT91_XDMAC_DT_MEM_IF(0) |
> 
> base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
> --
> 2.39.2
> 


  parent reply	other threads:[~2024-07-08 13:05 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-28 15:31 [PATCH] ARM: dts: microchip: sam9x60: Move i2c address/size to dtsi Alexander Dahl
2024-07-05  6:19 ` Alexander Dahl
2024-07-08  8:20   ` Mihai.Sain
2024-07-08 13:15   ` Nicolas Ferre
2024-07-08 16:23   ` claudiu beznea
2024-07-09 10:41     ` Alexander Dahl
2024-07-09 10:50       ` Conor Dooley
2024-07-09 14:40       ` Krzysztof Kozlowski
2024-07-08 13:04 ` Nicolas Ferre [this message]
2024-07-08 16:20 ` claudiu beznea
2024-08-09  6:15 ` claudiu beznea

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=01ba4ebd-a4cf-4e9d-bf2e-b7f9afa5417c@microchip.com \
    --to=nicolas.ferre@microchip.com \
    --cc=Durai.ManickamKR@microchip.com \
    --cc=Hari.PrasathGE@microchip.com \
    --cc=Manikandan.M@microchip.com \
    --cc=ada@thorsis.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    /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 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).