mbox series

[v2,0/4] usb: typec: ucsi: add support for stm32g0

Message ID 20220711114831.25205-1-fabrice.gasnier@foss.st.com
Headers show
Series usb: typec: ucsi: add support for stm32g0 | expand

Message

Fabrice Gasnier July 11, 2022, 11:48 a.m. UTC
STM32G0 provides an integrated USB Type-C and power delivery interface [1].
It can be programmed with a firmware [2] to act as a PPM. Currently it
implements UCSI protocol over I2C interface. A GPIO is used as an interrupt
line.

This series adds a driver to support it, including:
- dt-bindings documentation
- optional STM32G0 firmware control and update, over a secondary I2C address
- power management

[1] https://wiki.st.com/stm32mcu/wiki/Introduction_to_USB_Power_Delivery_with_STM32
[2] https://github.com/STMicroelectronics/x-cube-ucsi

Changes in v2:
- Krzysztof's review comments on dt-bindings: update commit message, use ports,
  use unevaluatedProperties: false for usb-connector schema, define maxItems
  for power-domains, adopt generic node names, remove quotes.
- Christophe's comments on driver:
  use kmalloc instead of kzalloc
  Use-after-free of buf: directly print the offset

Fabrice Gasnier (4):
  dt-bindings: usb: typec: add bindings for stm32g0 controller
  usb: typec: ucsi: stm32g0: add support for stm32g0 i2c controller
  usb: typec: ucsi: stm32g0: add bootloader support
  usb: typec: ucsi: stm32g0: add support for power management

 .../bindings/usb/st,typec-stm32g0.yaml        |  90 ++
 drivers/usb/typec/ucsi/Kconfig                |  10 +
 drivers/usb/typec/ucsi/Makefile               |   1 +
 drivers/usb/typec/ucsi/ucsi_stm32g0.c         | 777 ++++++++++++++++++
 4 files changed, 878 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/usb/st,typec-stm32g0.yaml
 create mode 100644 drivers/usb/typec/ucsi/ucsi_stm32g0.c

Comments

Fabrice Gasnier July 11, 2022, 12:03 p.m. UTC | #1
Hi all,

I just resent the full series as I got some issues with my mailer.
Sorry for the noise, please drop this one.

Best Regards,
Fabrice

On 7/11/22 13:48, Fabrice Gasnier wrote:
> STM32G0 provides an integrated USB Type-C and power delivery interface [1].
> It can be programmed with a firmware [2] to act as a PPM. Currently it
> implements UCSI protocol over I2C interface. A GPIO is used as an interrupt
> line.
> 
> This series adds a driver to support it, including:
> - dt-bindings documentation
> - optional STM32G0 firmware control and update, over a secondary I2C address
> - power management
> 
> [1] https://wiki.st.com/stm32mcu/wiki/Introduction_to_USB_Power_Delivery_with_STM32
> [2] https://github.com/STMicroelectronics/x-cube-ucsi
> 
> Changes in v2:
> - Krzysztof's review comments on dt-bindings: update commit message, use ports,
>   use unevaluatedProperties: false for usb-connector schema, define maxItems
>   for power-domains, adopt generic node names, remove quotes.
> - Christophe's comments on driver:
>   use kmalloc instead of kzalloc
>   Use-after-free of buf: directly print the offset
> 
> Fabrice Gasnier (4):
>   dt-bindings: usb: typec: add bindings for stm32g0 controller
>   usb: typec: ucsi: stm32g0: add support for stm32g0 i2c controller
>   usb: typec: ucsi: stm32g0: add bootloader support
>   usb: typec: ucsi: stm32g0: add support for power management
> 
>  .../bindings/usb/st,typec-stm32g0.yaml        |  90 ++
>  drivers/usb/typec/ucsi/Kconfig                |  10 +
>  drivers/usb/typec/ucsi/Makefile               |   1 +
>  drivers/usb/typec/ucsi/ucsi_stm32g0.c         | 777 ++++++++++++++++++
>  4 files changed, 878 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/usb/st,typec-stm32g0.yaml
>  create mode 100644 drivers/usb/typec/ucsi/ucsi_stm32g0.c
>