Hi Rob, Thanks for the review.
2016-01-29 3:35 GMT+01:00 Rob Herring <r...@kernel.org>: > On Tue, Jan 26, 2016 at 10:12:20AM +0100, Enric Balletbo i Serra wrote: >> The UCS1002-2 provides a USB port power switch for precise control of up >> to 2.5 amperes continuous current. >> >> You can add support to your board with current binding. >> >> Example: >> >> ucs1002: ucs1002@57 { >> compatible = "microchip,ucs1002"; >> reg = <0x57>; >> microchip,pin-ignore; >> }; >> >> Signed-off-by: Enric Balletbo i Serra <enric.balle...@collabora.com> >> --- >> .../devicetree/bindings/power/ucs1002.txt | 47 >> ++++++++++++++++++++++ >> 1 file changed, 47 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/power/ucs1002.txt >> >> diff --git a/Documentation/devicetree/bindings/power/ucs1002.txt >> b/Documentation/devicetree/bindings/power/ucs1002.txt >> new file mode 100644 >> index 0000000..1b89f0a >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/power/ucs1002.txt >> @@ -0,0 +1,47 @@ >> +UCS1002-2 Programmable USB Port Power Controller with Charger Emulation >> bindings >> + >> +Required properties: >> +- compatible: "microchip,ucs1002" >> +- reg: integer, the I2C address of the device. >> + >> +Required properties (if pin-ignore functionality is not set): >> +- em-gpios: which GPIO to use for EM_EN pin. >> +- pwr-gpios: which GPIO to use for PWR_EN pin. >> +- m1-gpios: which GPIO to use for M1 pin. >> +- m2-gpios: which GPIO to use for M2 pin. >> + >> +Optional properties: >> +- interrupt-parent: the phandle of the interrupt controller that services >> + interrupts for this device. >> +- interrupts: interrupt specifiers for two interrupt sources. >> + - First interrupt specifier is for A_DET interrupt. >> + - Second interrupt specifier is for ALERT interrupt. >> +- microchip,current-limit: integer, maximum current in mA. Note that the >> default > > mA or ... > >> + value is based on the resistor on the COMM_SEL/ILIM pin and this value >> cannot >> + be changed to be higher than hardware set value. Accepted values are: >> 500000, >> + 900000, 1000000, 1200000, 1500000, 1800000, 2000000, 2500000 (uA) > > uA? > > Either way append units (-microamps) > Right, should be microamps, will change in next version >> +- microchip,pin-ignore: boolean, if present uses I2C for configuration, >> otherwise, >> + we must provide EM_EN, M1 and M2 gpio mapping. > > Wouldn't this be implied by absence of gpio properties? > Yes, would you prefer I get rid of this propriety and simply check if gpio properties are absence or not in the driver ? In such case I'll do in next version. >> + >> +Example (poll): >> + >> + ucs1002: ucs1002@57 { >> + compatible = "microchip,ucs1002"; >> + reg = <0x57>; >> + microchip,current-limit = <2000000>; >> + microchip,pin-ignore; >> + }; >> + >> +Example (interrupts + pin control): >> + >> + ucs1002: ucs1002@57 { >> + compatible = "microchip,ucs1002"; >> + reg = <0x57>; >> + interrupt-parent = <&gpio0>; >> + interrupts = <30 0>, <31 0>; >> + microchip,current-limit = <2000000>; >> + em-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>; >> + m1-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>; >> + m2-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; >> + pwr-gpios = <&gpio1 19 0>; >> + }; >> -- >> 2.1.0 >> Best regards, Enric