mbox series

[v4,0/5] STUSB1600 support on STM32MP15xx-DKx

Message ID 20201106091854.14958-1-amelie.delaunay@st.com
Headers show
Series STUSB1600 support on STM32MP15xx-DKx | expand

Message

Amelie DELAUNAY Nov. 6, 2020, 9:18 a.m. UTC
This series adds missing bindings for Type-C typec-power-opmode property
and STUSB160x Type-C port controllers [1].
STUSB160x driver requires to get power operation mode via device tree,
that's why this series also adds the optional DT property
typec-power-opmode for usb-c-connector to select the power operation mode
capability.
Tested on stm32mp157c-dk2 [2], which has a Type-C connector managed by
STUSB1600, and connected to USB OTG controller. 

[1] https://www.st.com/en/interfaces-and-transceivers/usb-type-c-and-power-delivery-controllers.html
[2] https://www.st.com/en/evaluation-tools/stm32mp157c-dk2.html

Amelie Delaunay (4):
  dt-bindings: connector: add power-opmode optional property to
    usb-connector
  dt-bindings: usb: Add DT bindings for STUSB160x Type-C controller
  usb: typec: stusb160x: fix power-opmode property with
    typec-power-opmode
  ARM: dts: stm32: add STUSB1600 Type-C using I2C4 on stm32mp15xx-dkx
  ARM: multi_v7_defconfig: enable STUSB160X Type-C port controller
    support

---
Changes in v4:
- power-opmode DT property renamed to typec-power-opmode and mutually
  exclusive condition with new-source-frs-typec-current added
- Due to DT property renaming, patch 3/5 is added to update stusb160x
  driver.
---
 .../bindings/connector/usb-connector.yaml     | 24 ++++++
 .../devicetree/bindings/usb/st,stusb160x.yaml | 85 +++++++++++++++++++
 arch/arm/boot/dts/stm32mp15-pinctrl.dtsi      |  7 ++
 arch/arm/boot/dts/stm32mp15xx-dkx.dtsi        | 30 +++++++
 arch/arm/configs/multi_v7_defconfig           |  2 +
 drivers/usb/typec/stusb160x.c                 |  2 +-
 6 files changed, 149 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/usb/st,stusb160x.yaml

Comments

Heikki Krogerus Nov. 6, 2020, 10:51 a.m. UTC | #1
On Fri, Nov 06, 2020 at 10:18:52AM +0100, Amelie Delaunay wrote:
> Device tree property is named typec-power-opmode, not power-opmode.
> 
> Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family")
> Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
>  drivers/usb/typec/stusb160x.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/typec/stusb160x.c b/drivers/usb/typec/stusb160x.c
> index 2a618f02f4f1..d21750bbbb44 100644
> --- a/drivers/usb/typec/stusb160x.c
> +++ b/drivers/usb/typec/stusb160x.c
> @@ -562,7 +562,7 @@ static int stusb160x_get_fw_caps(struct stusb160x *chip,
>  	 * Supported power operation mode can be configured through device tree
>  	 * else it is read from chip registers in stusb160x_get_caps.
>  	 */
> -	ret = fwnode_property_read_string(fwnode, "power-opmode", &cap_str);
> +	ret = fwnode_property_read_string(fwnode, "typec-power-opmode", &cap_str);
>  	if (!ret) {
>  		ret = typec_find_pwr_opmode(cap_str);
>  		/* Power delivery not yet supported */
> -- 
> 2.17.1

thanks,
Rob Herring Nov. 6, 2020, 4:17 p.m. UTC | #2
On Fri, 06 Nov 2020 10:18:51 +0100, Amelie Delaunay wrote:
> Add binding documentation for the STMicroelectronics STUSB160x Type-C port

> controller.

> 

> Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>

> ---

>  .../devicetree/bindings/usb/st,stusb160x.yaml | 85 +++++++++++++++++++

>  1 file changed, 85 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/usb/st,stusb160x.yaml

> 



My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/st,stusb160x.yaml: 'additionalProperties' is a required property
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/st,stusb160x.yaml: ignoring, error in schema: 
warning: no schema found in file: ./Documentation/devicetree/bindings/usb/st,stusb160x.yaml


See https://patchwork.ozlabs.org/patch/1395559

The base for the patch is generally the last rc1. Any dependencies
should be noted.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Amelie DELAUNAY Nov. 6, 2020, 5:01 p.m. UTC | #3
On 11/6/20 5:17 PM, Rob Herring wrote:
> On Fri, 06 Nov 2020 10:18:51 +0100, Amelie Delaunay wrote:
>> Add binding documentation for the STMicroelectronics STUSB160x Type-C port
>> controller.
>>
>> Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>
>> ---
>>   .../devicetree/bindings/usb/st,stusb160x.yaml | 85 +++++++++++++++++++
>>   1 file changed, 85 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/usb/st,stusb160x.yaml
>>
> 
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/st,stusb160x.yaml: 'additionalProperties' is a required property
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/st,stusb160x.yaml: ignoring, error in schema:
> warning: no schema found in file: ./Documentation/devicetree/bindings/usb/st,stusb160x.yaml
> 
> 
> See https://patchwork.ozlabs.org/patch/1395559
> 
> The base for the patch is generally the last rc1. Any dependencies
> should be noted.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit.
> 
I already ran 'make dt_binding_check' but st-schema was not up to date, 
despite a not so old upgrade.
I note for next time to do the upgrade autotically before the 'make 
dt_binding_check'.

New version submitted.

Thanks,
Amelie