mbox series

[v2,0/2] i2c: Add support for Qualcomm Generic Interface (GENI) I2C controller

Message ID 20240422-topic-sm8x50-i2c-v2-0-f9ad61c33b07@linaro.org
Headers show
Series i2c: Add support for Qualcomm Generic Interface (GENI) I2C controller | expand

Message

Neil Armstrong April 22, 2024, 9:33 a.m. UTC
Add Support for the Qualcomm Generic Interface (GENI) I2C interface
found on newer Qualcomm SoCs.

The Generic Interface (GENI) is a firmware based Qualcomm Universal
Peripherals (QUP) Serial Engine (SE) Wrapper which can support multiple
bus protocols depending on the firmware type loaded at early boot time
based on system configuration.

It also supports the "I2C Master Hub" which is a single function Wrapper
that only FIFO mode I2C.

It replaces the fixed-function QUP Wrapper found on older SoCs.

The geni-se.h containing the generic GENI Serial Engine registers defines
is imported from Linux.

Only FIFO mode is implemented, neither SE DMA nor GPI DMA are implemented.

Finally enable the driver in the default Qualcomm defconfig.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Changes in v2:
- Fixed commit msg, removed useless debug, switched to dev_err() in probe
- Fixed some possible issues & typos and W=1 build warning
- Link to v1: https://lore.kernel.org/r/20240419-topic-sm8x50-i2c-v1-0-67651e27f23a@linaro.org

---
Neil Armstrong (2):
      i2c: Add support for Qualcomm Generic Interface (GENI) I2C controller
      configs: qcom_defconfig: enable GENI I2C Driver

 configs/qcom_defconfig     |   1 +
 drivers/i2c/Kconfig        |  10 +
 drivers/i2c/Makefile       |   1 +
 drivers/i2c/geni_i2c.c     | 575 +++++++++++++++++++++++++++++++++++++++++++++
 include/soc/qcom/geni-se.h | 265 +++++++++++++++++++++
 5 files changed, 852 insertions(+)
---
base-commit: b2511143fba4c0631446c968fb4c0d962b01d850
change-id: 20240419-topic-sm8x50-i2c-b51e576d5f57

Best regards,

Comments

Caleb Connolly April 23, 2024, 11:43 a.m. UTC | #1
On Mon, 22 Apr 2024 11:33:51 +0200, Neil Armstrong wrote:
> Add Support for the Qualcomm Generic Interface (GENI) I2C interface
> found on newer Qualcomm SoCs.
> 
> The Generic Interface (GENI) is a firmware based Qualcomm Universal
> Peripherals (QUP) Serial Engine (SE) Wrapper which can support multiple
> bus protocols depending on the firmware type loaded at early boot time
> based on system configuration.
> 
> [...]

Applied, thanks!

[1/2] i2c: Add support for Qualcomm Generic Interface (GENI) I2C controller
      commit: 75db9ede12d06693a3ced8c901b74065a1922a23
[2/2] configs: qcom_defconfig: enable GENI I2C Driver
      commit: ad12acd7a8f5aeea5816d5c2fc37c205c403eee0

Best regards,
Heiko Schocher April 25, 2024, 4:28 a.m. UTC | #2
Hello Caleb,

On 23.04.24 13:43, Caleb Connolly wrote:
> 
> On Mon, 22 Apr 2024 11:33:51 +0200, Neil Armstrong wrote:
>> Add Support for the Qualcomm Generic Interface (GENI) I2C interface
>> found on newer Qualcomm SoCs.
>>
>> The Generic Interface (GENI) is a firmware based Qualcomm Universal
>> Peripherals (QUP) Serial Engine (SE) Wrapper which can support multiple
>> bus protocols depending on the firmware type loaded at early boot time
>> based on system configuration.
>>
>> [...]
> 
> Applied, thanks!

Hmm.. where do you have them applied?

At least you should wait for an Acked-by from me! Especially in xz exploit
times, we really should give custodians some time...

v2 was posted 22.04.2024 11:33 and you applied it one day after!
(And yes, I was on holiday...)

But okay, v2 patchseries looks good to me...

> 
> [1/2] i2c: Add support for Qualcomm Generic Interface (GENI) I2C controller
>        commit: 75db9ede12d06693a3ced8c901b74065a1922a23
> [2/2] configs: qcom_defconfig: enable GENI I2C Driver
>        commit: ad12acd7a8f5aeea5816d5c2fc37c205c403eee0
> 
> Best regards,
> 

bye,
Heiko
Caleb Connolly April 25, 2024, 12:44 p.m. UTC | #3
Hi Heiko,

On 25/04/2024 06:28, Heiko Schocher wrote:
> Hello Caleb,
> 
> On 23.04.24 13:43, Caleb Connolly wrote:
>>
>> On Mon, 22 Apr 2024 11:33:51 +0200, Neil Armstrong wrote:
>>> Add Support for the Qualcomm Generic Interface (GENI) I2C interface
>>> found on newer Qualcomm SoCs.
>>>
>>> The Generic Interface (GENI) is a firmware based Qualcomm Universal
>>> Peripherals (QUP) Serial Engine (SE) Wrapper which can support multiple
>>> bus protocols depending on the firmware type loaded at early boot time
>>> based on system configuration.
>>>
>>> [...]
>>
>> Applied, thanks!
> 
> Hmm.. where do you have them applied?

That would be 
https://source.denx.de/u-boot/custodians/u-boot-snapdragon/-/commits/qcom-main/?ref_type=HEADS

I'll be sure to include a link next time.
> 
> At least you should wait for an Acked-by from me! Especially in xz exploit
> times, we really should give custodians some time...

My apologies, I got a bit of tunnel vision with all the Qualcomm patches 
we have flying around and totally neglected to find out how you prefer 
to handle new drivers in i2c.

I'm happy for patches to go through your tree if you'd prefer.
> 
> v2 was posted 22.04.2024 11:33 and you applied it one day after!
> (And yes, I was on holiday...)

Even so, it would have been fine to wait a few more days for your ack 
and/or let you pick this up.
> 
> But okay, v2 patchseries looks good to me...

Thanks,
> 
>>
>> [1/2] i2c: Add support for Qualcomm Generic Interface (GENI) I2C 
>> controller
>>        commit: 75db9ede12d06693a3ced8c901b74065a1922a23
>> [2/2] configs: qcom_defconfig: enable GENI I2C Driver
>>        commit: ad12acd7a8f5aeea5816d5c2fc37c205c403eee0
>>
>> Best regards,
>>
> 
> bye,
> Heiko
Heiko Schocher April 25, 2024, 12:54 p.m. UTC | #4
Hello Caleb,

On 25.04.24 14:44, Caleb Connolly wrote:
> Hi Heiko,
> 
> On 25/04/2024 06:28, Heiko Schocher wrote:
>> Hello Caleb,
>>
>> On 23.04.24 13:43, Caleb Connolly wrote:
>>>
>>> On Mon, 22 Apr 2024 11:33:51 +0200, Neil Armstrong wrote:
>>>> Add Support for the Qualcomm Generic Interface (GENI) I2C interface
>>>> found on newer Qualcomm SoCs.
>>>>
>>>> The Generic Interface (GENI) is a firmware based Qualcomm Universal
>>>> Peripherals (QUP) Serial Engine (SE) Wrapper which can support multiple
>>>> bus protocols depending on the firmware type loaded at early boot time
>>>> based on system configuration.
>>>>
>>>> [...]
>>>
>>> Applied, thanks!
>>
>> Hmm.. where do you have them applied?
> 
> That would be 
> https://source.denx.de/u-boot/custodians/u-boot-snapdragon/-/commits/qcom-main/?ref_type=HEADS

Ah, thanks!

> I'll be sure to include a link next time.
>>
>> At least you should wait for an Acked-by from me! Especially in xz exploit
>> times, we really should give custodians some time...
> 
> My apologies, I got a bit of tunnel vision with all the Qualcomm patches we have flying around and 
> totally neglected to find out how you prefer to handle new drivers in i2c.
> 
> I'm happy for patches to go through your tree if you'd prefer.

It is fine for me, when you pick it up.

>>
>> v2 was posted 22.04.2024 11:33 and you applied it one day after!
>> (And yes, I was on holiday...)
> 
> Even so, it would have been fine to wait a few more days for your ack and/or let you pick this up.

Yep, no problem (as patch looks good for me)! Next time simply wait
for an Ack (or trigger me)

;-)

>>
>> But okay, v2 patchseries looks good to me...
> 
> Thanks,

bye,
Heiko

>>
>>>
>>> [1/2] i2c: Add support for Qualcomm Generic Interface (GENI) I2C controller
>>>        commit: 75db9ede12d06693a3ced8c901b74065a1922a23
>>> [2/2] configs: qcom_defconfig: enable GENI I2C Driver
>>>        commit: ad12acd7a8f5aeea5816d5c2fc37c205c403eee0
>>>
>>> Best regards,
>>>
>>
>> bye,
>> Heiko
>