[U-Boot] [PATCH] dm: gpio: pca953x: introduce driver model support for pca953x

Michal Simek
2016-04-12T05:14:30Z

On 12.4.2016 03:22, Peng Fan wrote:
> Hi Michal,
> On Mon, Apr 11, 2016 at 02:09:22PM +0200, Michal Simek wrote:
>> On 11.4.2016 07:47, Peng Fan wrote:
>>> On Sat, Apr 09, 2016 at 12:33:34PM -0600, Simon Glass wrote:
>>>> On 18 March 2016 at 03:54, Peng Fan <van.freenix@gmail.com> wrote:
>>>>> Introduce a new driver that supports driver model for pca953x.
>>>>> The pca953x chips are used as I2C I/O expanders.
>>>>> This driver is designed to support the following chips:
>>>>> "
>>>>> 4 bits: pca9536, pca9537
>>>>> 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
>>>>> pca9556, pca9557, pca9574, tca6408, xra1202
>>>>> 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
>>>>> tca6416
>>>>> 24 bits: tca6424
>>>>> 40 bits: pca9505, pca9698
>>>>> "
>>>>> But for now this driver only supports max 24 bits and pca953x compatible
>>>>> chips. pca957x compatible chips are not supported now.
>>>>> These can be addressed when we need to add such support for the different
>>>>> chips.
>>>>> This driver has been tested on i.MX6 SoloX Sabreauto board with max7310
>>>>> i2c expander using gpio command as following:
>>>>>
>>>>> =>gpio status -a
>>>>> Bank gpio at 48:
>>>>> gpio at 480: input: 1 [ ]
>>>>> => gpio clear gpio at 480
>>>>> gpio: pin gpio at 480 (gpio 224) value is 0
>>>>> => gpio status -a
>>>>> Bank gpio at 48:
>>>>> gpio at 480: output: 0 [ ]
>>>>
>>>> Don't you think 480 is confusing? Perhaps you should have gpio at 48_ as
>>>> the bank name? Also I think you should support a gpio-bank-name
>>>> property in the node, to allow a sensible name to be provided.
>>>
>>> 480 is added by gpio uclass driver I think.
>>> The dts is copied from Linux side. I'd not change the dts, will try to
>>> see how to introudce a sensible name here.
>>
>> What's the binding you are using?
>
> I use
> "
> max7310_a: gpio at 30 {
> compatible = "maxim,max7310";
> reg = <0x30>;
> gpio-controller;
> #gpio-cells = <2>;
> resets = <&max7310_reset>;
> };
>
> max7310_b: gpio at 32 {
> compatible = "maxim,max7310";
> reg = <0x32>;
> gpio-controller;
> #gpio-cells = <2>;
> resets = <&max7310_reset>;
> };
> "
>

What's this board? I can't see this in u-boot repo.
imx6q from Linux repo?

Thanks,
Michal