[U-Boot] [Ac100] [PATCH 3/3] ARM: tegra: paz00: enable nveckeyboard support
Marc Dietrich
marvin24 at gmx.de
Sat Jul 20 11:12:38 CEST 2013
On Friday 19 July 2013 13:14:13 Stephen Warren wrote:
> On 07/19/2013 02:47 AM, Andrey Danin wrote:
> > Signed-off-by: Andrey Danin <danindrey at mail.ru>
>
> (Some patch descriptions would be useful)
>
> > diff --git a/board/compal/dts/tegra20-paz00.dts
> > b/board/compal/dts/tegra20-paz00.dts
> >
> > + nvec {
> > + compatible = "nvidia,tegra20-nvec";
> > + reg = <0x7000c500 0x100>;
> > + clock-frequency = <80000>;
> > + request-gpios = <&gpio 170 0>; /* gpio PV2 */
> > + slave-addr = <138>;
> > + };
>
> I would rather not propagate this DT binding. We need to fix the binding
> to clearly separate the concepts of:
so here we go again. I think I have to take this on my shoulders since I
didn't got it right yet in the kernel.
> a) The I2C slave controller (which should be a standalone driver for the
> Tegra I2C slave HW).
>
> b) The protocol sent over the I2C slave channel (which would be specific
> to NVEC, implement the GPIO hand-shaking, etc.).
>
> c) The devices that communicate over the protocol (keyboard in this case).
>
> I suspect we need separate DT nodes/sub-nodes for all of those, and a
> method of hooking them all together.
Let's skip how this may actually look like in software. Given the discussions
we had in the past, I propose the following binding:
i2c-slave at 7000c500 {
compatible = "nvidia,tegra20-i2c-slave";
reg = <0x7000c500 0x100>;
interrupts = <0 92 0x04>;
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <80000>;
slave-addr = <138>;
clocks = <&tegra_car 67>, <&tegra_car 124>;
clock-names = "div-clk", "fast-clk";
nvec {
compatible = "nvidia,nvec", "simple-bus";
protocol = "smbus-request-gpio";
request-gpios = <&gpio 170 0>; /* gpio PV2 */
keyboard {
compatible = "nvidia,nvec-keyboard";
};
};
};
Does this looks better?
Marc
More information about the U-Boot
mailing list