All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
@ 2021-10-27 19:37 ` Florian Fainelli
  0 siblings, 0 replies; 8+ messages in thread
From: Florian Fainelli @ 2021-10-27 19:37 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: chunkeey, mnhagan88, Florian Fainelli, Hauke Mehrtens,
	Rafał Miłecki,
	maintainer:BROADCOM BCM5301X ARM ARCHITECTURE, Rob Herring,
	Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

The I2C interrupt controller line is off by 32 because the datasheet
describes interrupt inputs into the GIC which are for Shared Peripheral
Interrupts and are starting at offset 32. The ARM GIC binding expects
the SPI interrupts to be numbered from 0 relative to the SPI base.

Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/boot/dts/bcm5301x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index f92089290ccd..ec5de636796e 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -408,7 +408,7 @@ uart2: serial@18008000 {
 	i2c0: i2c@18009000 {
 		compatible = "brcm,iproc-i2c";
 		reg = <0x18009000 0x50>;
-		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
+		interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		clock-frequency = <100000>;
-- 
2.25.1


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

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

* [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
@ 2021-10-27 19:37 ` Florian Fainelli
  0 siblings, 0 replies; 8+ messages in thread
From: Florian Fainelli @ 2021-10-27 19:37 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: chunkeey, mnhagan88, Florian Fainelli, Hauke Mehrtens,
	Rafał Miłecki,
	maintainer:BROADCOM BCM5301X ARM ARCHITECTURE, Rob Herring,
	Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

The I2C interrupt controller line is off by 32 because the datasheet
describes interrupt inputs into the GIC which are for Shared Peripheral
Interrupts and are starting at offset 32. The ARM GIC binding expects
the SPI interrupts to be numbered from 0 relative to the SPI base.

Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/boot/dts/bcm5301x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index f92089290ccd..ec5de636796e 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -408,7 +408,7 @@ uart2: serial@18008000 {
 	i2c0: i2c@18009000 {
 		compatible = "brcm,iproc-i2c";
 		reg = <0x18009000 0x50>;
-		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
+		interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		clock-frequency = <100000>;
-- 
2.25.1


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

* Re: [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
  2021-10-27 19:37 ` Florian Fainelli
@ 2021-10-27 20:28   ` Rafał Miłecki
  -1 siblings, 0 replies; 8+ messages in thread
From: Rafał Miłecki @ 2021-10-27 20:28 UTC (permalink / raw)
  To: Florian Fainelli, linux-arm-kernel
  Cc: chunkeey, mnhagan88, Hauke Mehrtens,
	maintainer:BROADCOM BCM5301X ARM ARCHITECTURE, Rob Herring,
	Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On 27.10.2021 21:37, Florian Fainelli wrote:
> The I2C interrupt controller line is off by 32 because the datasheet
> describes interrupt inputs into the GIC which are for Shared Peripheral
> Interrupts and are starting at offset 32. The ARM GIC binding expects
> the SPI interrupts to be numbered from 0 relative to the SPI base.
> 
> Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Thanks for fixing that. I don't have any device utilzing I2C and so
never notice that issue.

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

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

* Re: [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
@ 2021-10-27 20:28   ` Rafał Miłecki
  0 siblings, 0 replies; 8+ messages in thread
From: Rafał Miłecki @ 2021-10-27 20:28 UTC (permalink / raw)
  To: Florian Fainelli, linux-arm-kernel
  Cc: chunkeey, mnhagan88, Hauke Mehrtens,
	maintainer:BROADCOM BCM5301X ARM ARCHITECTURE, Rob Herring,
	Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On 27.10.2021 21:37, Florian Fainelli wrote:
> The I2C interrupt controller line is off by 32 because the datasheet
> describes interrupt inputs into the GIC which are for Shared Peripheral
> Interrupts and are starting at offset 32. The ARM GIC binding expects
> the SPI interrupts to be numbered from 0 relative to the SPI base.
> 
> Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Thanks for fixing that. I don't have any device utilzing I2C and so
never notice that issue.

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

* Re: [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
  2021-10-27 19:37 ` Florian Fainelli
@ 2021-10-27 20:32   ` Christian Lamparter
  -1 siblings, 0 replies; 8+ messages in thread
From: Christian Lamparter @ 2021-10-27 20:32 UTC (permalink / raw)
  To: Florian Fainelli, linux-arm-kernel
  Cc: mnhagan88, Hauke Mehrtens, Rafał Miłecki,
	maintainer:BROADCOM BCM5301X ARM ARCHITECTURE, Rob Herring,
	Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On 27/10/2021 21:37, Florian Fainelli wrote:
> The I2C interrupt controller line is off by 32 because the datasheet
> describes interrupt inputs into the GIC which are for Shared Peripheral
> Interrupts and are starting at offset 32. The ARM GIC binding expects
> the SPI interrupts to be numbered from 0 relative to the SPI base.
 >
> Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Thank you! This fixed the MR32 iproc-i2c issue.
It's working now (will post the patch for the MR32 tomorrow):

# cat /proc/interrupts
            CPU0       CPU1
  24:          1          0     GIC-0  27 Edge      gt
  25:     110418     108252     GIC-0  29 Edge      twd
  26:        476          0     GIC-0 117 Level     gpio, ttyS0
  31:        128          0     GIC-0 121 Level     18009000.i2c <--- YES!
  32:      49477          0     GIC-0 100 Level     brcmnand
  33:          0          0     GIC-0 109 Level     mspi_done
  34:          0          0     GIC-0 110 Level     mspi_halted
  35:          0          0     GIC-0 104 Level     spi_lr_fullness_reached
  36:          0          0     GIC-0 105 Level     spi_lr_session_aborted
  37:          0          0     GIC-0 106 Level     spi_lr_impatient
  38:          0          0     GIC-0 107 Level     spi_lr_session_done
  40:       7227          0     GIC-0 179 Level     eth2
  51:          0          0  BCMA-GPIO  21 Edge      keys

and the attached AT24 + PoE-Power monitor can be probed + read as before.

[   12.042576] at24 0-0050: 8192 byte 24c64 EEPROM, read-only
...
[   12.077671] ina2xx 0-0045: power monitor ina219 (Rshunt = 60000 uOhm)

Tested-by: Christian Lamparter <chunkeey@gmail.com>


Regards
Christian

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

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

* Re: [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
@ 2021-10-27 20:32   ` Christian Lamparter
  0 siblings, 0 replies; 8+ messages in thread
From: Christian Lamparter @ 2021-10-27 20:32 UTC (permalink / raw)
  To: Florian Fainelli, linux-arm-kernel
  Cc: mnhagan88, Hauke Mehrtens, Rafał Miłecki,
	maintainer:BROADCOM BCM5301X ARM ARCHITECTURE, Rob Herring,
	Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On 27/10/2021 21:37, Florian Fainelli wrote:
> The I2C interrupt controller line is off by 32 because the datasheet
> describes interrupt inputs into the GIC which are for Shared Peripheral
> Interrupts and are starting at offset 32. The ARM GIC binding expects
> the SPI interrupts to be numbered from 0 relative to the SPI base.
 >
> Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Thank you! This fixed the MR32 iproc-i2c issue.
It's working now (will post the patch for the MR32 tomorrow):

# cat /proc/interrupts
            CPU0       CPU1
  24:          1          0     GIC-0  27 Edge      gt
  25:     110418     108252     GIC-0  29 Edge      twd
  26:        476          0     GIC-0 117 Level     gpio, ttyS0
  31:        128          0     GIC-0 121 Level     18009000.i2c <--- YES!
  32:      49477          0     GIC-0 100 Level     brcmnand
  33:          0          0     GIC-0 109 Level     mspi_done
  34:          0          0     GIC-0 110 Level     mspi_halted
  35:          0          0     GIC-0 104 Level     spi_lr_fullness_reached
  36:          0          0     GIC-0 105 Level     spi_lr_session_aborted
  37:          0          0     GIC-0 106 Level     spi_lr_impatient
  38:          0          0     GIC-0 107 Level     spi_lr_session_done
  40:       7227          0     GIC-0 179 Level     eth2
  51:          0          0  BCMA-GPIO  21 Edge      keys

and the attached AT24 + PoE-Power monitor can be probed + read as before.

[   12.042576] at24 0-0050: 8192 byte 24c64 EEPROM, read-only
...
[   12.077671] ina2xx 0-0045: power monitor ina219 (Rshunt = 60000 uOhm)

Tested-by: Christian Lamparter <chunkeey@gmail.com>


Regards
Christian

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

* Re: [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
  2021-10-27 19:37 ` Florian Fainelli
@ 2021-11-15 17:31   ` Florian Fainelli
  -1 siblings, 0 replies; 8+ messages in thread
From: Florian Fainelli @ 2021-11-15 17:31 UTC (permalink / raw)
  To: bcm-kernel-feedback-list, linux-arm-kernel
  Cc: chunkeey, mnhagan88, Hauke Mehrtens, Rafał Miłecki,
	Rob Herring, Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On Wed, 27 Oct 2021 12:37:29 -0700, Florian Fainelli <f.fainelli@gmail.com> wrote:
> The I2C interrupt controller line is off by 32 because the datasheet
> describes interrupt inputs into the GIC which are for Shared Peripheral
> Interrupts and are starting at offset 32. The ARM GIC binding expects
> the SPI interrupts to be numbered from 0 relative to the SPI base.
> 
> Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---

Applied to https://github.com/Broadcom/stblinux/commits/devicetree/fixes, thanks!
--
Florian

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

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

* Re: [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt
@ 2021-11-15 17:31   ` Florian Fainelli
  0 siblings, 0 replies; 8+ messages in thread
From: Florian Fainelli @ 2021-11-15 17:31 UTC (permalink / raw)
  To: bcm-kernel-feedback-list, linux-arm-kernel
  Cc: chunkeey, mnhagan88, Hauke Mehrtens, Rafał Miłecki,
	Rob Herring, Jon Mason,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On Wed, 27 Oct 2021 12:37:29 -0700, Florian Fainelli <f.fainelli@gmail.com> wrote:
> The I2C interrupt controller line is off by 32 because the datasheet
> describes interrupt inputs into the GIC which are for Shared Peripheral
> Interrupts and are starting at offset 32. The ARM GIC binding expects
> the SPI interrupts to be numbered from 0 relative to the SPI base.
> 
> Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---

Applied to https://github.com/Broadcom/stblinux/commits/devicetree/fixes, thanks!
--
Florian

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

end of thread, other threads:[~2021-11-15 18:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-27 19:37 [PATCH] ARM: dts: BCM5301X: Fix I2C controller interrupt Florian Fainelli
2021-10-27 19:37 ` Florian Fainelli
2021-10-27 20:28 ` Rafał Miłecki
2021-10-27 20:28   ` Rafał Miłecki
2021-10-27 20:32 ` Christian Lamparter
2021-10-27 20:32   ` Christian Lamparter
2021-11-15 17:31 ` Florian Fainelli
2021-11-15 17:31   ` Florian Fainelli

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.