diff mbox

[U-Boot,v5,3/3] ARM: tegra: Add support for nyan-big board

Message ID 1417700190-19082-3-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Dec. 4, 2014, 1:36 p.m. UTC
From: Allen Martin <amartin@nvidia.com>

Nyan-big is a Tegra124 clamshell board that is very similar to venice2, but
it has a different panel, the sdcard cd and wp sense are flipped, and it has
a different revision of the AS3722 PMIC.

This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA
Tegra K1, 2GB). The display is not currently supported, so it should
boot on other nyan-based Chromebooks also, but only the device tree for
nyan-big is provided here.

The device tree file is from Linux but with features removed which are
unlikely to be supported in U-Boot soon (regulators, pinmux). Also the
addresses are updated to 32-bit.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
(rebase, change to 'nyan-big', fix pinmux that resets nyan-big)

---

Changes in v5:
- Remove call to pinmux_set_tristate_input_clamping()

Changes in v4:
- Move FIT support to nyan-big only
- Rename nyan to nyan-big everywhere

Changes in v3:
- Rename to nyan from norrin
- Bring in device tree file from Linux v3.18-rc5
- Generate pinmux file from tegra-pinmux-scripts

Changes in v2:
- Rebase and adjust for Kconfig
- Fix up pinmux that reset norrin
- Add note as to the Chromebook's retail name, since it is now released

 arch/arm/cpu/armv7/tegra124/Kconfig            |  10 +
 arch/arm/dts/Makefile                          |   1 +
 arch/arm/dts/tegra124-nyan-big.dts             | 365 +++++++++++++++++++++++++
 board/nvidia/nyan-big/Kconfig                  |  24 ++
 board/nvidia/nyan-big/MAINTAINERS              |   6 +
 board/nvidia/nyan-big/Makefile                 |   9 +
 board/nvidia/nyan-big/nyan-big.c               |  27 ++
 board/nvidia/nyan-big/pinmux-config-nyan-big.h | 287 +++++++++++++++++++
 board/nvidia/venice2/as3722_init.h             |   2 +-
 configs/nyan-big_defconfig                     |   5 +
 include/configs/nyan-big.h                     |  79 ++++++
 11 files changed, 814 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/tegra124-nyan-big.dts
 create mode 100644 board/nvidia/nyan-big/Kconfig
 create mode 100644 board/nvidia/nyan-big/MAINTAINERS
 create mode 100644 board/nvidia/nyan-big/Makefile
 create mode 100644 board/nvidia/nyan-big/nyan-big.c
 create mode 100644 board/nvidia/nyan-big/pinmux-config-nyan-big.h
 create mode 100644 configs/nyan-big_defconfig
 create mode 100644 include/configs/nyan-big.h

Comments

Simon Glass Dec. 10, 2014, 3:01 p.m. UTC | #1
Hi,

On 4 December 2014 at 06:36, Simon Glass <sjg@chromium.org> wrote:
> From: Allen Martin <amartin@nvidia.com>
>
> Nyan-big is a Tegra124 clamshell board that is very similar to venice2, but
> it has a different panel, the sdcard cd and wp sense are flipped, and it has
> a different revision of the AS3722 PMIC.
>
> This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA
> Tegra K1, 2GB). The display is not currently supported, so it should
> boot on other nyan-based Chromebooks also, but only the device tree for
> nyan-big is provided here.
>
> The device tree file is from Linux but with features removed which are
> unlikely to be supported in U-Boot soon (regulators, pinmux). Also the
> addresses are updated to 32-bit.
>
> Signed-off-by: Allen Martin <amartin@nvidia.com>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> (rebase, change to 'nyan-big', fix pinmux that resets nyan-big)
>
> ---
>
> Changes in v5:
> - Remove call to pinmux_set_tristate_input_clamping()
>

Any further comments on v5 please?

I would like to apply this patch before the DM I2C series, so that I2C
works correct for nyan-big also.

Tom are you looking at the rest of the PCI-e series? I resent it so
would like to get that in soon - the patches originally date from
August.

Regards,
Simon
Simon Glass Dec. 10, 2014, 5:50 p.m. UTC | #2
Hi Tom,


On 10 December 2014 at 10:39, Tom Warren <TWarren@nvidia.com> wrote:
> Simon,
>
> The v4 PCIE patch series fails to apply to u-boot-tegra/master after rebasing my repo against both ARM master and U-Boot 'master' master (i.e. FETCH_HEAD =
> 32fdf0e4d82bdca5d64d86330e461e59685f9959        branch 'master' of git://git.denx.de/u-boot).  3 - 4 patches fail when using git am.
>
> I worked thru the conflicts for both branches (my  master rebased against ARM and U-Boot TOT), and did a MAKEALL -s tegra, and jetson-tk1, beaver and cardhu fail to build (jetson err log below).  Looks like you developed this with your DM I2C series in place?
>
> To submit a PR from the Tegra repo, I need to either rebase first against ARM master (my SOP), or against U-Boot 'master'.  So you patches, if they're bound for the Tegra repo, need to work in one of those scenarios.
>
> Tom

Thanks for looking at it. This series depends on the I2C driver model
series. It's available at u-boot-dm/i2c-working if you want to check
it out. I plan to apply that very soon.

I'm sorry I didn't make that clear in this series. I mentioned it on
the list at one point but should have added it here. If you like, you
could ack it and I can apply to u-boot-dm after I2C is in there.

Regards,
Simon
>
> drivers/power/as3722.c: In function 'as3722_read':
> drivers/power/as3722.c:34: warning: passing argument 1 of 'i2c_read' makes integer from pointer without a cast
> include/i2c.h:235: note: expected 'uint8_t' but argument is of type 'struct udevice *'
> drivers/power/as3722.c:34: warning: passing argument 3 of 'i2c_read' makes integer from pointer without a cast
> include/i2c.h:235: note: expected 'int' but argument is of type 'u8 *'
> drivers/power/as3722.c:34: warning: passing argument 4 of 'i2c_read' makes pointer from integer without a cast
> include/i2c.h:235: note: expected 'uint8_t *' but argument is of type 'int'
> drivers/power/as3722.c:34: error: too few arguments to function 'i2c_read'
> drivers/power/as3722.c: In function 'as3722_write':
> drivers/power/as3722.c:45: warning: passing argument 1 of 'i2c_write' makes integer from pointer without a cast
> include/i2c.h:238: note: expected 'uint8_t' but argument is of type 'struct udevice *'
> drivers/power/as3722.c:45: warning: passing argument 3 of 'i2c_write' makes integer from pointer without a cast
> include/i2c.h:238: note: expected 'int' but argument is of type 'u8 *'
> drivers/power/as3722.c:45: warning: passing argument 4 of 'i2c_write' makes pointer from integer without a cast
> include/i2c.h:238: note: expected 'uint8_t *' but argument is of type 'int'
> drivers/power/as3722.c:45: error: too few arguments to function 'i2c_write'
> drivers/power/as3722.c: In function 'as3722_init':
> drivers/power/as3722.c:245: warning: implicit declaration of function 'i2c_get_chip_for_busnum'
> make[1]: *** [drivers/power/as3722.o] Error 1
> make: *** [drivers/power] Error 2
> make: *** Waiting for unfinished jobs....
>
>> -----Original Message-----
>> From: Tom Warren
>> Sent: Wednesday, December 10, 2014 8:46 AM
>> To: Simon Glass; U-Boot Mailing List
>> Cc: Allen Martin; Albert Aribaud; Stephen Warren; Stephen Warren
>> Subject: RE: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
>>
>> Simon,
>>
>> > -----Original Message-----
>> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass
>> > Sent: Wednesday, December 10, 2014 8:01 AM
>> > To: U-Boot Mailing List
>> > Cc: Allen Martin; Simon Glass; Albert Aribaud; Tom Warren; Stephen
>> > Warren; Stephen Warren
>> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
>> >
>> > Hi,
>> >
>> > On 4 December 2014 at 06:36, Simon Glass <sjg@chromium.org> wrote:
>> > > From: Allen Martin <amartin@nvidia.com>
>> > >
>> > > Nyan-big is a Tegra124 clamshell board that is very similar to
>> > > venice2, but it has a different panel, the sdcard cd and wp sense
>> > > are flipped, and it has a different revision of the AS3722 PMIC.
>> > >
>> > > This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA
>> > > Tegra K1, 2GB). The display is not currently supported, so it should
>> > > boot on other nyan-based Chromebooks also, but only the device tree
>> > > for nyan-big is provided here.
>> > >
>> > > The device tree file is from Linux but with features removed which
>> > > are unlikely to be supported in U-Boot soon (regulators, pinmux).
>> > > Also the addresses are updated to 32-bit.
>> > >
>> > > Signed-off-by: Allen Martin <amartin@nvidia.com>
>> > > Signed-off-by: Simon Glass <sjg@chromium.org> (rebase, change to
>> > > 'nyan-big', fix pinmux that resets nyan-big)
>> > >
>> > > ---
>> > >
>> > > Changes in v5:
>> > > - Remove call to pinmux_set_tristate_input_clamping()
>> > >
>> >
>> > Any further comments on v5 please?
>> >
>> > I would like to apply this patch before the DM I2C series, so that I2C
>> > works correct for nyan-big also.
>> >
>> > Tom are you looking at the rest of the PCI-e series? I resent it so
>> > would like to get that in soon - the patches originally date from August.
>> I was waiting for Thierry or Stephen to Ack the series, or provide other
>> feedback. I don't have time/boards to test this right now.
>>
>> If someone can say it looks good, or has been tested on X board, etc. I can
>> apply it.
>>
>> Tom
>> >
>> > Regards,
>> > Simon
>> --
>> nvpublic
Simon Glass Dec. 10, 2014, 7:36 p.m. UTC | #3
Hi Tom,

On Dec 10, 2014 12:05 PM, "Tom Warren" <TWarren@nvidia.com> wrote:
>
> Simon,
>
> > -----Original Message-----
> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass
> > Sent: Wednesday, December 10, 2014 10:50 AM
> > To: Tom Warren
> > Cc: U-Boot Mailing List; Allen Martin; Albert Aribaud; Stephen Warren;
> > Stephen Warren
> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
> >
> > Hi Tom,
> >
> >
> > On 10 December 2014 at 10:39, Tom Warren <TWarren@nvidia.com> wrote:
> > > Simon,
> > >
> > > The v4 PCIE patch series fails to apply to u-boot-tegra/master after
> > rebasing my repo against both ARM master and U-Boot 'master' master
(i.e.
> > FETCH_HEAD =
> > > 32fdf0e4d82bdca5d64d86330e461e59685f9959        branch 'master' of
> > git://git.denx.de/u-boot).  3 - 4 patches fail when using git am.
> > >
> > > I worked thru the conflicts for both branches (my  master rebased
against
> > ARM and U-Boot TOT), and did a MAKEALL -s tegra, and jetson-tk1, beaver
> > and cardhu fail to build (jetson err log below).  Looks like you
developed this
> > with your DM I2C series in place?
> > >
> > > To submit a PR from the Tegra repo, I need to either rebase first
against
> > ARM master (my SOP), or against U-Boot 'master'.  So you patches, if
they're
> > bound for the Tegra repo, need to work in one of those scenarios.
> > >
> > > Tom
> >
> > Thanks for looking at it. This series depends on the I2C driver model
series.
> > It's available at u-boot-dm/i2c-working if you want to check it out. I
plan to
> > apply that very soon.
> >
> > I'm sorry I didn't make that clear in this series. I mentioned it on
the list at
> > one point but should have added it here. If you like, you could ack it
and I can
> > apply to u-boot-dm after I2C is in there.
> I can't ACK something that I can't get to apply to my repo nor build nor
test. So you'll have to wait on that from Stephen, Thierry (based on code
review) or someone that wants to add DM I2C to Tegra, apply your PCIe
patches, and test. That's not my normal workflow, though, and I don't have
the BW to devote to extra hurdles right now.
>

You could try applying to u-boot-dm/i2c-working. It only has the DM i2c
series in it, plus Tegra stuff. I put a lot of time into cleaning up this
Tegra series to save you and Thierry time.

Regards,
Simon

> Tom
> >
> > Regards,
> > Simon
> > >
> > > drivers/power/as3722.c: In function 'as3722_read':
> > > drivers/power/as3722.c:34: warning: passing argument 1 of 'i2c_read'
> > > makes integer from pointer without a cast
> > > include/i2c.h:235: note: expected 'uint8_t' but argument is of type
'struct
> > udevice *'
> > > drivers/power/as3722.c:34: warning: passing argument 3 of 'i2c_read'
> > > makes integer from pointer without a cast
> > > include/i2c.h:235: note: expected 'int' but argument is of type 'u8 *'
> > > drivers/power/as3722.c:34: warning: passing argument 4 of 'i2c_read'
> > > makes pointer from integer without a cast
> > > include/i2c.h:235: note: expected 'uint8_t *' but argument is of type
'int'
> > > drivers/power/as3722.c:34: error: too few arguments to function
'i2c_read'
> > > drivers/power/as3722.c: In function 'as3722_write':
> > > drivers/power/as3722.c:45: warning: passing argument 1 of 'i2c_write'
> > > makes integer from pointer without a cast
> > > include/i2c.h:238: note: expected 'uint8_t' but argument is of type
'struct
> > udevice *'
> > > drivers/power/as3722.c:45: warning: passing argument 3 of 'i2c_write'
> > > makes integer from pointer without a cast
> > > include/i2c.h:238: note: expected 'int' but argument is of type 'u8 *'
> > > drivers/power/as3722.c:45: warning: passing argument 4 of 'i2c_write'
> > > makes pointer from integer without a cast
> > > include/i2c.h:238: note: expected 'uint8_t *' but argument is of type
'int'
> > > drivers/power/as3722.c:45: error: too few arguments to function
> > 'i2c_write'
> > > drivers/power/as3722.c: In function 'as3722_init':
> > > drivers/power/as3722.c:245: warning: implicit declaration of function
> > 'i2c_get_chip_for_busnum'
> > > make[1]: *** [drivers/power/as3722.o] Error 1
> > > make: *** [drivers/power] Error 2
> > > make: *** Waiting for unfinished jobs....
> > >
> > >> -----Original Message-----
> > >> From: Tom Warren
> > >> Sent: Wednesday, December 10, 2014 8:46 AM
> > >> To: Simon Glass; U-Boot Mailing List
> > >> Cc: Allen Martin; Albert Aribaud; Stephen Warren; Stephen Warren
> > >> Subject: RE: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
> > >> board
> > >>
> > >> Simon,
> > >>
> > >> > -----Original Message-----
> > >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon
> > >> > Glass
> > >> > Sent: Wednesday, December 10, 2014 8:01 AM
> > >> > To: U-Boot Mailing List
> > >> > Cc: Allen Martin; Simon Glass; Albert Aribaud; Tom Warren; Stephen
> > >> > Warren; Stephen Warren
> > >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
> > >> > board
> > >> >
> > >> > Hi,
> > >> >
> > >> > On 4 December 2014 at 06:36, Simon Glass <sjg@chromium.org> wrote:
> > >> > > From: Allen Martin <amartin@nvidia.com>
> > >> > >
> > >> > > Nyan-big is a Tegra124 clamshell board that is very similar to
> > >> > > venice2, but it has a different panel, the sdcard cd and wp sense
> > >> > > are flipped, and it has a different revision of the AS3722 PMIC.
> > >> > >
> > >> > > This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA
> > >> > > Tegra K1, 2GB). The display is not currently supported, so it
> > >> > > should boot on other nyan-based Chromebooks also, but only the
> > >> > > device tree for nyan-big is provided here.
> > >> > >
> > >> > > The device tree file is from Linux but with features removed
> > >> > > which are unlikely to be supported in U-Boot soon (regulators,
> > pinmux).
> > >> > > Also the addresses are updated to 32-bit.
> > >> > >
> > >> > > Signed-off-by: Allen Martin <amartin@nvidia.com>
> > >> > > Signed-off-by: Simon Glass <sjg@chromium.org> (rebase, change to
> > >> > > 'nyan-big', fix pinmux that resets nyan-big)
> > >> > >
> > >> > > ---
> > >> > >
> > >> > > Changes in v5:
> > >> > > - Remove call to pinmux_set_tristate_input_clamping()
> > >> > >
> > >> >
> > >> > Any further comments on v5 please?
> > >> >
> > >> > I would like to apply this patch before the DM I2C series, so that
> > >> > I2C works correct for nyan-big also.
> > >> >
> > >> > Tom are you looking at the rest of the PCI-e series? I resent it so
> > >> > would like to get that in soon - the patches originally date from
August.
> > >> I was waiting for Thierry or Stephen to Ack the series, or provide
> > >> other feedback. I don't have time/boards to test this right now.
> > >>
> > >> If someone can say it looks good, or has been tested on X board, etc.
> > >> I can apply it.
> > >>
> > >> Tom
> > >> >
> > >> > Regards,
> > >> > Simon
> > >> --
> > >> nvpublic
Simon Glass Dec. 10, 2014, 9:03 p.m. UTC | #4
Hi Tom,

On 10 December 2014 at 12:36, Simon Glass <sjg@chromium.org> wrote:
> Hi Tom,
>
> On Dec 10, 2014 12:05 PM, "Tom Warren" <TWarren@nvidia.com> wrote:
>>
>> Simon,
>>
>> > -----Original Message-----
>> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass
>> > Sent: Wednesday, December 10, 2014 10:50 AM
>> > To: Tom Warren
>> > Cc: U-Boot Mailing List; Allen Martin; Albert Aribaud; Stephen Warren;
>> > Stephen Warren
>> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
>> >
>> > Hi Tom,
>> >
>> >
>> > On 10 December 2014 at 10:39, Tom Warren <TWarren@nvidia.com> wrote:
>> > > Simon,
>> > >
>> > > The v4 PCIE patch series fails to apply to u-boot-tegra/master after
>> > rebasing my repo against both ARM master and U-Boot 'master' master
>> > (i.e.
>> > FETCH_HEAD =
>> > > 32fdf0e4d82bdca5d64d86330e461e59685f9959        branch 'master' of
>> > git://git.denx.de/u-boot).  3 - 4 patches fail when using git am.
>> > >
>> > > I worked thru the conflicts for both branches (my  master rebased
>> > > against
>> > ARM and U-Boot TOT), and did a MAKEALL -s tegra, and jetson-tk1, beaver
>> > and cardhu fail to build (jetson err log below).  Looks like you
>> > developed this
>> > with your DM I2C series in place?
>> > >
>> > > To submit a PR from the Tegra repo, I need to either rebase first
>> > > against
>> > ARM master (my SOP), or against U-Boot 'master'.  So you patches, if
>> > they're
>> > bound for the Tegra repo, need to work in one of those scenarios.
>> > >
>> > > Tom
>> >
>> > Thanks for looking at it. This series depends on the I2C driver model
>> > series.
>> > It's available at u-boot-dm/i2c-working if you want to check it out. I
>> > plan to
>> > apply that very soon.
>> >
>> > I'm sorry I didn't make that clear in this series. I mentioned it on the
>> > list at
>> > one point but should have added it here. If you like, you could ack it
>> > and I can
>> > apply to u-boot-dm after I2C is in there.
>> I can't ACK something that I can't get to apply to my repo nor build nor
>> test. So you'll have to wait on that from Stephen, Thierry (based on code
>> review) or someone that wants to add DM I2C to Tegra, apply your PCIe
>> patches, and test. That's not my normal workflow, though, and I don't have
>> the BW to devote to extra hurdles right now.
>>
>
> You could try applying to u-boot-dm/i2c-working. It only has the DM i2c
> series in it, plus Tegra stuff. I put a lot of time into cleaning up this
> Tegra series to save you and Thierry time.

Also Thierry took a look the PCIe series and responded here:

http://patchwork.ozlabs.org/patch/410175/

There were three nits which I have addressed.

For this Nyan-big patch I really don't need a test credit (would be
nice, but not necessary). After all it's a new board and if problems
are found they can be fixed. But I do need to apply it before DM I2C.
Stephen has looked at a few revs.

How about this for a plan:

- Apply Nyan-big to DM
- Apply DM I2C series to DM
- Pull request to mainline (final for DM this release unless SPL is
resolved somehow)

Then if you have time:
- Tom - apply PCIe to Tegra tree
- Pull request to mainline

If you don't have time, I could do this last bit through DM. In any
case the problem is that it is getting late and we need to resolve
this soon.

Regards,
Simon

>
> Regards,
> Simon
>
>> Tom
>> >
>> > Regards,
>> > Simon
>> > >
>> > > drivers/power/as3722.c: In function 'as3722_read':
>> > > drivers/power/as3722.c:34: warning: passing argument 1 of 'i2c_read'
>> > > makes integer from pointer without a cast
>> > > include/i2c.h:235: note: expected 'uint8_t' but argument is of type
>> > > 'struct
>> > udevice *'
>> > > drivers/power/as3722.c:34: warning: passing argument 3 of 'i2c_read'
>> > > makes integer from pointer without a cast
>> > > include/i2c.h:235: note: expected 'int' but argument is of type 'u8 *'
>> > > drivers/power/as3722.c:34: warning: passing argument 4 of 'i2c_read'
>> > > makes pointer from integer without a cast
>> > > include/i2c.h:235: note: expected 'uint8_t *' but argument is of type
>> > > 'int'
>> > > drivers/power/as3722.c:34: error: too few arguments to function
>> > > 'i2c_read'
>> > > drivers/power/as3722.c: In function 'as3722_write':
>> > > drivers/power/as3722.c:45: warning: passing argument 1 of 'i2c_write'
>> > > makes integer from pointer without a cast
>> > > include/i2c.h:238: note: expected 'uint8_t' but argument is of type
>> > > 'struct
>> > udevice *'
>> > > drivers/power/as3722.c:45: warning: passing argument 3 of 'i2c_write'
>> > > makes integer from pointer without a cast
>> > > include/i2c.h:238: note: expected 'int' but argument is of type 'u8 *'
>> > > drivers/power/as3722.c:45: warning: passing argument 4 of 'i2c_write'
>> > > makes pointer from integer without a cast
>> > > include/i2c.h:238: note: expected 'uint8_t *' but argument is of type
>> > > 'int'
>> > > drivers/power/as3722.c:45: error: too few arguments to function
>> > 'i2c_write'
>> > > drivers/power/as3722.c: In function 'as3722_init':
>> > > drivers/power/as3722.c:245: warning: implicit declaration of function
>> > 'i2c_get_chip_for_busnum'
>> > > make[1]: *** [drivers/power/as3722.o] Error 1
>> > > make: *** [drivers/power] Error 2
>> > > make: *** Waiting for unfinished jobs....
>> > >
>> > >> -----Original Message-----
>> > >> From: Tom Warren
>> > >> Sent: Wednesday, December 10, 2014 8:46 AM
>> > >> To: Simon Glass; U-Boot Mailing List
>> > >> Cc: Allen Martin; Albert Aribaud; Stephen Warren; Stephen Warren
>> > >> Subject: RE: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
>> > >> board
>> > >>
>> > >> Simon,
>> > >>
>> > >> > -----Original Message-----
>> > >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon
>> > >> > Glass
>> > >> > Sent: Wednesday, December 10, 2014 8:01 AM
>> > >> > To: U-Boot Mailing List
>> > >> > Cc: Allen Martin; Simon Glass; Albert Aribaud; Tom Warren; Stephen
>> > >> > Warren; Stephen Warren
>> > >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
>> > >> > board
>> > >> >
>> > >> > Hi,
>> > >> >
>> > >> > On 4 December 2014 at 06:36, Simon Glass <sjg@chromium.org> wrote:
>> > >> > > From: Allen Martin <amartin@nvidia.com>
>> > >> > >
>> > >> > > Nyan-big is a Tegra124 clamshell board that is very similar to
>> > >> > > venice2, but it has a different panel, the sdcard cd and wp sense
>> > >> > > are flipped, and it has a different revision of the AS3722 PMIC.
>> > >> > >
>> > >> > > This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD, NVIDIA
>> > >> > > Tegra K1, 2GB). The display is not currently supported, so it
>> > >> > > should boot on other nyan-based Chromebooks also, but only the
>> > >> > > device tree for nyan-big is provided here.
>> > >> > >
>> > >> > > The device tree file is from Linux but with features removed
>> > >> > > which are unlikely to be supported in U-Boot soon (regulators,
>> > pinmux).
>> > >> > > Also the addresses are updated to 32-bit.
>> > >> > >
>> > >> > > Signed-off-by: Allen Martin <amartin@nvidia.com>
>> > >> > > Signed-off-by: Simon Glass <sjg@chromium.org> (rebase, change to
>> > >> > > 'nyan-big', fix pinmux that resets nyan-big)
>> > >> > >
>> > >> > > ---
>> > >> > >
>> > >> > > Changes in v5:
>> > >> > > - Remove call to pinmux_set_tristate_input_clamping()
>> > >> > >
>> > >> >
>> > >> > Any further comments on v5 please?
>> > >> >
>> > >> > I would like to apply this patch before the DM I2C series, so that
>> > >> > I2C works correct for nyan-big also.
>> > >> >
>> > >> > Tom are you looking at the rest of the PCI-e series? I resent it so
>> > >> > would like to get that in soon - the patches originally date from
>> > >> > August.
>> > >> I was waiting for Thierry or Stephen to Ack the series, or provide
>> > >> other feedback. I don't have time/boards to test this right now.
>> > >>
>> > >> If someone can say it looks good, or has been tested on X board, etc.
>> > >> I can apply it.
>> > >>
>> > >> Tom
>> > >> >
>> > >> > Regards,
>> > >> > Simon
>> > >> --
>> > >> nvpublic
Simon Glass Dec. 10, 2014, 9:45 p.m. UTC | #5
Hi Tom,

On 10 December 2014 at 14:09, Tom Warren <TWarren@nvidia.com> wrote:
> Simon,
>
>> -----Original Message-----
>> From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass
>> Sent: Wednesday, December 10, 2014 2:04 PM
>> To: Tom Warren
>> Cc: U-Boot Mailing List; Stephen Warren; Allen Martin; Stephen Warren;
>> Albert Aribaud
>> Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
>>
>> Hi Tom,
>>
>> On 10 December 2014 at 12:36, Simon Glass <sjg@chromium.org> wrote:
>> > Hi Tom,
>> >
>> > On Dec 10, 2014 12:05 PM, "Tom Warren" <TWarren@nvidia.com> wrote:
>> >>
>> >> Simon,
>> >>
>> >> > -----Original Message-----
>> >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon
>> >> > Glass
>> >> > Sent: Wednesday, December 10, 2014 10:50 AM
>> >> > To: Tom Warren
>> >> > Cc: U-Boot Mailing List; Allen Martin; Albert Aribaud; Stephen
>> >> > Warren; Stephen Warren
>> >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
>> >> > board
>> >> >
>> >> > Hi Tom,
>> >> >
>> >> >
>> >> > On 10 December 2014 at 10:39, Tom Warren <TWarren@nvidia.com>
>> wrote:
>> >> > > Simon,
>> >> > >
>> >> > > The v4 PCIE patch series fails to apply to u-boot-tegra/master
>> >> > > after
>> >> > rebasing my repo against both ARM master and U-Boot 'master' master
>> >> > (i.e.
>> >> > FETCH_HEAD =
>> >> > > 32fdf0e4d82bdca5d64d86330e461e59685f9959        branch 'master' of
>> >> > git://git.denx.de/u-boot).  3 - 4 patches fail when using git am.
>> >> > >
>> >> > > I worked thru the conflicts for both branches (my  master rebased
>> >> > > against
>> >> > ARM and U-Boot TOT), and did a MAKEALL -s tegra, and jetson-tk1,
>> >> > beaver and cardhu fail to build (jetson err log below).  Looks like
>> >> > you developed this with your DM I2C series in place?
>> >> > >
>> >> > > To submit a PR from the Tegra repo, I need to either rebase first
>> >> > > against
>> >> > ARM master (my SOP), or against U-Boot 'master'.  So you patches,
>> >> > if they're bound for the Tegra repo, need to work in one of those
>> >> > scenarios.
>> >> > >
>> >> > > Tom
>> >> >
>> >> > Thanks for looking at it. This series depends on the I2C driver
>> >> > model series.
>> >> > It's available at u-boot-dm/i2c-working if you want to check it
>> >> > out. I plan to apply that very soon.
>> >> >
>> >> > I'm sorry I didn't make that clear in this series. I mentioned it
>> >> > on the list at one point but should have added it here. If you
>> >> > like, you could ack it and I can apply to u-boot-dm after I2C is in
>> >> > there.
>> >> I can't ACK something that I can't get to apply to my repo nor build
>> >> nor test. So you'll have to wait on that from Stephen, Thierry (based
>> >> on code
>> >> review) or someone that wants to add DM I2C to Tegra, apply your PCIe
>> >> patches, and test. That's not my normal workflow, though, and I don't
>> >> have the BW to devote to extra hurdles right now.
>> >>
>> >
>> > You could try applying to u-boot-dm/i2c-working. It only has the DM
>> > i2c series in it, plus Tegra stuff. I put a lot of time into cleaning
>> > up this Tegra series to save you and Thierry time.
>>
>> Also Thierry took a look the PCIe series and responded here:
>>
>> http://patchwork.ozlabs.org/patch/410175/
>>
>> There were three nits which I have addressed.
>>
>> For this Nyan-big patch I really don't need a test credit (would be nice, but
>> not necessary). After all it's a new board and if problems are found they can
>> be fixed. But I do need to apply it before DM I2C.
>> Stephen has looked at a few revs.
>>
>> How about this for a plan:
>>
>> - Apply Nyan-big to DM
>> - Apply DM I2C series to DM
>> - Pull request to mainline (final for DM this release unless SPL is resolved
>> somehow)
>>
>> Then if you have time:
>> - Tom - apply PCIe to Tegra tree
>> - Pull request to mainline
> The problem there is that I'd need to wait for the PR to mainline to go thru before I could rebase Tegra against mainline, and only then apply PCIe patches.  Time-wise, it's obviously better for you to do this in one fell swoop from the DM repo.
>
> Does the nyan-big patchset apply/build cleanly in u-boot-tegra/master? If so, I can apply it and do a Tegra test build and then send a PR to Albert if all is clear.

OK, true.

The Tegra tree is too far behind master, but if you catch it up you
can make it work:

(try-nyan=9e10b9: b/ common/ doc/ sandbox/) u> pwclient git-am 417781
Applying patch #417781 using 'git am'
Description: [U-Boot,v5,1/3] dts: Bring in Chrome OS keyboard device
tree definition
Applying: dts: Bring in Chrome OS keyboard device tree definition
(try-nyan=ddebcc: b/ common/ doc/ sandbox/) u> pwclient git-am 417782
Applying patch #417782 using 'git am'
Description: [U-Boot,v5,2/3] tegra: dts: Sync tegra124.dtsi with linux kernel
Applying: tegra: dts: Sync tegra124.dtsi with linux kernel
^[[A(try-nyan=9df313: b/ common/ doc/ sandbox/) u> pwclient git-am 417783
Applying patch #417783 using 'git am'
Description: [U-Boot,v5,3/3] ARM: tegra: Add support for nyan-big board
Applying: ARM: tegra: Add support for nyan-big board
error: patch failed: arch/arm/dts/Makefile:31
error: arch/arm/dts/Makefile: patch does not apply
Patch failed at 0001 ARM: tegra: Add support for nyan-big board
The copy of the patch that failed is found in:
   /usr/local/google/home/sjg/u/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
(try-nyan=9df313: b/ common/ doc/ sandbox/) u> patch -p1 <
/usr/local/google/home/sjg/u/.git/rebase-apply/patch
patching file arch/arm/cpu/armv7/tegra124/Kconfig
patching file arch/arm/dts/Makefile
Hunk #1 succeeded at 29 with fuzz 2 (offset -2 lines).
patching file arch/arm/dts/tegra124-nyan-big.dts
patching file board/nvidia/nyan-big/Kconfig
patching file board/nvidia/nyan-big/MAINTAINERS
patching file board/nvidia/nyan-big/Makefile
patching file board/nvidia/nyan-big/nyan-big.c
patching file board/nvidia/nyan-big/pinmux-config-nyan-big.h
patching file board/nvidia/venice2/as3722_init.h
patching file configs/nyan-big_defconfig
patching file include/configs/nyan-big.h

Then:

 git add arch/arm/cpu/armv7/tegra124/Kconfig arch/arm/dts/Makefile
board/nvidia/venice2/as3722_init.h arch/arm/dts/tegra124-nyan-big.dts
board/nvidia/nyan-big/ configs/nyan-big_defconfig
include/configs/nyan-big.h
git am --resolved

I've pushed it to u-boot-dm/for-tom.

It all builds cleanly for me.

Regards,
Simon

>
>>
>> If you don't have time, I could do this last bit through DM. In any case the
>> problem is that it is getting late and we need to resolve this soon.
>>
>> Regards,
>> Simon
>>
>> >
>> > Regards,
>> > Simon
>> >
>> >> Tom
>> >> >
>> >> > Regards,
>> >> > Simon
>> >> > >
>> >> > > drivers/power/as3722.c: In function 'as3722_read':
>> >> > > drivers/power/as3722.c:34: warning: passing argument 1 of 'i2c_read'
>> >> > > makes integer from pointer without a cast
>> >> > > include/i2c.h:235: note: expected 'uint8_t' but argument is of
>> >> > > type 'struct
>> >> > udevice *'
>> >> > > drivers/power/as3722.c:34: warning: passing argument 3 of 'i2c_read'
>> >> > > makes integer from pointer without a cast
>> >> > > include/i2c.h:235: note: expected 'int' but argument is of type 'u8 *'
>> >> > > drivers/power/as3722.c:34: warning: passing argument 4 of 'i2c_read'
>> >> > > makes pointer from integer without a cast
>> >> > > include/i2c.h:235: note: expected 'uint8_t *' but argument is of
>> >> > > type 'int'
>> >> > > drivers/power/as3722.c:34: error: too few arguments to function
>> >> > > 'i2c_read'
>> >> > > drivers/power/as3722.c: In function 'as3722_write':
>> >> > > drivers/power/as3722.c:45: warning: passing argument 1 of 'i2c_write'
>> >> > > makes integer from pointer without a cast
>> >> > > include/i2c.h:238: note: expected 'uint8_t' but argument is of
>> >> > > type 'struct
>> >> > udevice *'
>> >> > > drivers/power/as3722.c:45: warning: passing argument 3 of 'i2c_write'
>> >> > > makes integer from pointer without a cast
>> >> > > include/i2c.h:238: note: expected 'int' but argument is of type 'u8 *'
>> >> > > drivers/power/as3722.c:45: warning: passing argument 4 of 'i2c_write'
>> >> > > makes pointer from integer without a cast
>> >> > > include/i2c.h:238: note: expected 'uint8_t *' but argument is of
>> >> > > type 'int'
>> >> > > drivers/power/as3722.c:45: error: too few arguments to function
>> >> > 'i2c_write'
>> >> > > drivers/power/as3722.c: In function 'as3722_init':
>> >> > > drivers/power/as3722.c:245: warning: implicit declaration of
>> >> > > function
>> >> > 'i2c_get_chip_for_busnum'
>> >> > > make[1]: *** [drivers/power/as3722.o] Error 1
>> >> > > make: *** [drivers/power] Error 2
>> >> > > make: *** Waiting for unfinished jobs....
>> >> > >
>> >> > >> -----Original Message-----
>> >> > >> From: Tom Warren
>> >> > >> Sent: Wednesday, December 10, 2014 8:46 AM
>> >> > >> To: Simon Glass; U-Boot Mailing List
>> >> > >> Cc: Allen Martin; Albert Aribaud; Stephen Warren; Stephen Warren
>> >> > >> Subject: RE: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
>> >> > >> board
>> >> > >>
>> >> > >> Simon,
>> >> > >>
>> >> > >> > -----Original Message-----
>> >> > >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of
>> >> > >> > Simon Glass
>> >> > >> > Sent: Wednesday, December 10, 2014 8:01 AM
>> >> > >> > To: U-Boot Mailing List
>> >> > >> > Cc: Allen Martin; Simon Glass; Albert Aribaud; Tom Warren;
>> >> > >> > Stephen Warren; Stephen Warren
>> >> > >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for
>> >> > >> > nyan-big board
>> >> > >> >
>> >> > >> > Hi,
>> >> > >> >
>> >> > >> > On 4 December 2014 at 06:36, Simon Glass <sjg@chromium.org>
>> wrote:
>> >> > >> > > From: Allen Martin <amartin@nvidia.com>
>> >> > >> > >
>> >> > >> > > Nyan-big is a Tegra124 clamshell board that is very similar
>> >> > >> > > to venice2, but it has a different panel, the sdcard cd and
>> >> > >> > > wp sense are flipped, and it has a different revision of the AS3722
>> PMIC.
>> >> > >> > >
>> >> > >> > > This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD,
>> >> > >> > > NVIDIA Tegra K1, 2GB). The display is not currently
>> >> > >> > > supported, so it should boot on other nyan-based Chromebooks
>> >> > >> > > also, but only the device tree for nyan-big is provided here.
>> >> > >> > >
>> >> > >> > > The device tree file is from Linux but with features removed
>> >> > >> > > which are unlikely to be supported in U-Boot soon
>> >> > >> > > (regulators,
>> >> > pinmux).
>> >> > >> > > Also the addresses are updated to 32-bit.
>> >> > >> > >
>> >> > >> > > Signed-off-by: Allen Martin <amartin@nvidia.com>
>> >> > >> > > Signed-off-by: Simon Glass <sjg@chromium.org> (rebase,
>> >> > >> > > change to 'nyan-big', fix pinmux that resets nyan-big)
>> >> > >> > >
>> >> > >> > > ---
>> >> > >> > >
>> >> > >> > > Changes in v5:
>> >> > >> > > - Remove call to pinmux_set_tristate_input_clamping()
>> >> > >> > >
>> >> > >> >
>> >> > >> > Any further comments on v5 please?
>> >> > >> >
>> >> > >> > I would like to apply this patch before the DM I2C series, so
>> >> > >> > that I2C works correct for nyan-big also.
>> >> > >> >
>> >> > >> > Tom are you looking at the rest of the PCI-e series? I resent
>> >> > >> > it so would like to get that in soon - the patches originally
>> >> > >> > date from August.
>> >> > >> I was waiting for Thierry or Stephen to Ack the series, or
>> >> > >> provide other feedback. I don't have time/boards to test this right
>> now.
>> >> > >>
>> >> > >> If someone can say it looks good, or has been tested on X board, etc.
>> >> > >> I can apply it.
>> >> > >>
>> >> > >> Tom
>> >> > >> >
>> >> > >> > Regards,
>> >> > >> > Simon
>> >> > >> --
>> >> > >> nvpublic
Simon Glass Dec. 11, 2014, 2:22 p.m. UTC | #6
Hi Tom,

On 10 December 2014 at 14:45, Simon Glass <sjg@chromium.org> wrote:
>
> Hi Tom,
>
> On 10 December 2014 at 14:09, Tom Warren <TWarren@nvidia.com> wrote:
> > Simon,
> >
> >> -----Original Message-----
> >> From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass
> >> Sent: Wednesday, December 10, 2014 2:04 PM
> >> To: Tom Warren
> >> Cc: U-Boot Mailing List; Stephen Warren; Allen Martin; Stephen Warren;
> >> Albert Aribaud
> >> Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
> >>
> >> Hi Tom,
> >>
> >> On 10 December 2014 at 12:36, Simon Glass <sjg@chromium.org> wrote:
> >> > Hi Tom,
> >> >
> >> > On Dec 10, 2014 12:05 PM, "Tom Warren" <TWarren@nvidia.com> wrote:
> >> >>
> >> >> Simon,
> >> >>
> >> >> > -----Original Message-----
> >> >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon
> >> >> > Glass
> >> >> > Sent: Wednesday, December 10, 2014 10:50 AM
> >> >> > To: Tom Warren
> >> >> > Cc: U-Boot Mailing List; Allen Martin; Albert Aribaud; Stephen
> >> >> > Warren; Stephen Warren
> >> >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
> >> >> > board
> >> >> >
> >> >> > Hi Tom,
> >> >> >
> >> >> >
> >> >> > On 10 December 2014 at 10:39, Tom Warren <TWarren@nvidia.com>
> >> wrote:
> >> >> > > Simon,
> >> >> > >
> >> >> > > The v4 PCIE patch series fails to apply to u-boot-tegra/master
> >> >> > > after
> >> >> > rebasing my repo against both ARM master and U-Boot 'master' master
> >> >> > (i.e.
> >> >> > FETCH_HEAD =
> >> >> > > 32fdf0e4d82bdca5d64d86330e461e59685f9959        branch 'master' of
> >> >> > git://git.denx.de/u-boot).  3 - 4 patches fail when using git am.
> >> >> > >
> >> >> > > I worked thru the conflicts for both branches (my  master rebased
> >> >> > > against
> >> >> > ARM and U-Boot TOT), and did a MAKEALL -s tegra, and jetson-tk1,
> >> >> > beaver and cardhu fail to build (jetson err log below).  Looks like
> >> >> > you developed this with your DM I2C series in place?
> >> >> > >
> >> >> > > To submit a PR from the Tegra repo, I need to either rebase first
> >> >> > > against
> >> >> > ARM master (my SOP), or against U-Boot 'master'.  So you patches,
> >> >> > if they're bound for the Tegra repo, need to work in one of those
> >> >> > scenarios.
> >> >> > >
> >> >> > > Tom
> >> >> >
> >> >> > Thanks for looking at it. This series depends on the I2C driver
> >> >> > model series.
> >> >> > It's available at u-boot-dm/i2c-working if you want to check it
> >> >> > out. I plan to apply that very soon.
> >> >> >
> >> >> > I'm sorry I didn't make that clear in this series. I mentioned it
> >> >> > on the list at one point but should have added it here. If you
> >> >> > like, you could ack it and I can apply to u-boot-dm after I2C is in
> >> >> > there.
> >> >> I can't ACK something that I can't get to apply to my repo nor build
> >> >> nor test. So you'll have to wait on that from Stephen, Thierry (based
> >> >> on code
> >> >> review) or someone that wants to add DM I2C to Tegra, apply your PCIe
> >> >> patches, and test. That's not my normal workflow, though, and I don't
> >> >> have the BW to devote to extra hurdles right now.
> >> >>
> >> >
> >> > You could try applying to u-boot-dm/i2c-working. It only has the DM
> >> > i2c series in it, plus Tegra stuff. I put a lot of time into cleaning
> >> > up this Tegra series to save you and Thierry time.
> >>
> >> Also Thierry took a look the PCIe series and responded here:
> >>
> >> http://patchwork.ozlabs.org/patch/410175/
> >>
> >> There were three nits which I have addressed.
> >>
> >> For this Nyan-big patch I really don't need a test credit (would be nice, but
> >> not necessary). After all it's a new board and if problems are found they can
> >> be fixed. But I do need to apply it before DM I2C.
> >> Stephen has looked at a few revs.
> >>
> >> How about this for a plan:
> >>
> >> - Apply Nyan-big to DM
> >> - Apply DM I2C series to DM
> >> - Pull request to mainline (final for DM this release unless SPL is resolved
> >> somehow)
> >>
> >> Then if you have time:
> >> - Tom - apply PCIe to Tegra tree
> >> - Pull request to mainline
> > The problem there is that I'd need to wait for the PR to mainline to go thru before I could rebase Tegra against mainline, and only then apply PCIe patches.  Time-wise, it's obviously better for you to do this in one fell swoop from the DM repo.
> >
> > Does the nyan-big patchset apply/build cleanly in u-boot-tegra/master? If so, I can apply it and do a Tegra test build and then send a PR to Albert if all is clear.
>
> OK, true.
>
> The Tegra tree is too far behind master, but if you catch it up you
> can make it work:
>
> (try-nyan=9e10b9: b/ common/ doc/ sandbox/) u> pwclient git-am 417781
> Applying patch #417781 using 'git am'
> Description: [U-Boot,v5,1/3] dts: Bring in Chrome OS keyboard device
> tree definition
> Applying: dts: Bring in Chrome OS keyboard device tree definition
> (try-nyan=ddebcc: b/ common/ doc/ sandbox/) u> pwclient git-am 417782
> Applying patch #417782 using 'git am'
> Description: [U-Boot,v5,2/3] tegra: dts: Sync tegra124.dtsi with linux kernel
> Applying: tegra: dts: Sync tegra124.dtsi with linux kernel
> ^[[A(try-nyan=9df313: b/ common/ doc/ sandbox/) u> pwclient git-am 417783
> Applying patch #417783 using 'git am'
> Description: [U-Boot,v5,3/3] ARM: tegra: Add support for nyan-big board
> Applying: ARM: tegra: Add support for nyan-big board
> error: patch failed: arch/arm/dts/Makefile:31
> error: arch/arm/dts/Makefile: patch does not apply
> Patch failed at 0001 ARM: tegra: Add support for nyan-big board
> The copy of the patch that failed is found in:
>    /usr/local/google/home/sjg/u/.git/rebase-apply/patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
> (try-nyan=9df313: b/ common/ doc/ sandbox/) u> patch -p1 <
> /usr/local/google/home/sjg/u/.git/rebase-apply/patch
> patching file arch/arm/cpu/armv7/tegra124/Kconfig
> patching file arch/arm/dts/Makefile
> Hunk #1 succeeded at 29 with fuzz 2 (offset -2 lines).
> patching file arch/arm/dts/tegra124-nyan-big.dts
> patching file board/nvidia/nyan-big/Kconfig
> patching file board/nvidia/nyan-big/MAINTAINERS
> patching file board/nvidia/nyan-big/Makefile
> patching file board/nvidia/nyan-big/nyan-big.c
> patching file board/nvidia/nyan-big/pinmux-config-nyan-big.h
> patching file board/nvidia/venice2/as3722_init.h
> patching file configs/nyan-big_defconfig
> patching file include/configs/nyan-big.h
>
> Then:
>
>  git add arch/arm/cpu/armv7/tegra124/Kconfig arch/arm/dts/Makefile
> board/nvidia/venice2/as3722_init.h arch/arm/dts/tegra124-nyan-big.dts
> board/nvidia/nyan-big/ configs/nyan-big_defconfig
> include/configs/nyan-big.h
> git am --resolved
>
> I've pushed it to u-boot-dm/for-tom.
>
> It all builds cleanly for me.
>
> Regards,
> Simon

Further to this, the I2C patches are in u-boot-dm/master now, except
for this Tegra I2C conversion, which depends on the nyan-big series:

http://patchwork.ozlabs.org/patch/419730/

So I would like to bring in the nyan-big series to the DM tree, add
this Tegra I2C patch and then we are ready to sort out the PCIe
series. What do you think of that plan? Or if you prefer, I can issue
a pull request to mainline for the DM stuff to date and you can do the
rest?

Regards,
Simon

>
> >
> >>
> >> If you don't have time, I could do this last bit through DM. In any case the
> >> problem is that it is getting late and we need to resolve this soon.
> >>
> >> Regards,
> >> Simon
> >>
> >> >
> >> > Regards,
> >> > Simon
> >> >
> >> >> Tom
> >> >> >
> >> >> > Regards,
> >> >> > Simon
> >> >> > >
> >> >> > > drivers/power/as3722.c: In function 'as3722_read':
> >> >> > > drivers/power/as3722.c:34: warning: passing argument 1 of 'i2c_read'
> >> >> > > makes integer from pointer without a cast
> >> >> > > include/i2c.h:235: note: expected 'uint8_t' but argument is of
> >> >> > > type 'struct
> >> >> > udevice *'
> >> >> > > drivers/power/as3722.c:34: warning: passing argument 3 of 'i2c_read'
> >> >> > > makes integer from pointer without a cast
> >> >> > > include/i2c.h:235: note: expected 'int' but argument is of type 'u8 *'
> >> >> > > drivers/power/as3722.c:34: warning: passing argument 4 of 'i2c_read'
> >> >> > > makes pointer from integer without a cast
> >> >> > > include/i2c.h:235: note: expected 'uint8_t *' but argument is of
> >> >> > > type 'int'
> >> >> > > drivers/power/as3722.c:34: error: too few arguments to function
> >> >> > > 'i2c_read'
> >> >> > > drivers/power/as3722.c: In function 'as3722_write':
> >> >> > > drivers/power/as3722.c:45: warning: passing argument 1 of 'i2c_write'
> >> >> > > makes integer from pointer without a cast
> >> >> > > include/i2c.h:238: note: expected 'uint8_t' but argument is of
> >> >> > > type 'struct
> >> >> > udevice *'
> >> >> > > drivers/power/as3722.c:45: warning: passing argument 3 of 'i2c_write'
> >> >> > > makes integer from pointer without a cast
> >> >> > > include/i2c.h:238: note: expected 'int' but argument is of type 'u8 *'
> >> >> > > drivers/power/as3722.c:45: warning: passing argument 4 of 'i2c_write'
> >> >> > > makes pointer from integer without a cast
> >> >> > > include/i2c.h:238: note: expected 'uint8_t *' but argument is of
> >> >> > > type 'int'
> >> >> > > drivers/power/as3722.c:45: error: too few arguments to function
> >> >> > 'i2c_write'
> >> >> > > drivers/power/as3722.c: In function 'as3722_init':
> >> >> > > drivers/power/as3722.c:245: warning: implicit declaration of
> >> >> > > function
> >> >> > 'i2c_get_chip_for_busnum'
> >> >> > > make[1]: *** [drivers/power/as3722.o] Error 1
> >> >> > > make: *** [drivers/power] Error 2
> >> >> > > make: *** Waiting for unfinished jobs....
> >> >> > >
> >> >> > >> -----Original Message-----
> >> >> > >> From: Tom Warren
> >> >> > >> Sent: Wednesday, December 10, 2014 8:46 AM
> >> >> > >> To: Simon Glass; U-Boot Mailing List
> >> >> > >> Cc: Allen Martin; Albert Aribaud; Stephen Warren; Stephen Warren
> >> >> > >> Subject: RE: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
> >> >> > >> board
> >> >> > >>
> >> >> > >> Simon,
> >> >> > >>
> >> >> > >> > -----Original Message-----
> >> >> > >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of
> >> >> > >> > Simon Glass
> >> >> > >> > Sent: Wednesday, December 10, 2014 8:01 AM
> >> >> > >> > To: U-Boot Mailing List
> >> >> > >> > Cc: Allen Martin; Simon Glass; Albert Aribaud; Tom Warren;
> >> >> > >> > Stephen Warren; Stephen Warren
> >> >> > >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for
> >> >> > >> > nyan-big board
> >> >> > >> >
> >> >> > >> > Hi,
> >> >> > >> >
> >> >> > >> > On 4 December 2014 at 06:36, Simon Glass <sjg@chromium.org>
> >> wrote:
> >> >> > >> > > From: Allen Martin <amartin@nvidia.com>
> >> >> > >> > >
> >> >> > >> > > Nyan-big is a Tegra124 clamshell board that is very similar
> >> >> > >> > > to venice2, but it has a different panel, the sdcard cd and
> >> >> > >> > > wp sense are flipped, and it has a different revision of the AS3722
> >> PMIC.
> >> >> > >> > >
> >> >> > >> > > This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch HD,
> >> >> > >> > > NVIDIA Tegra K1, 2GB). The display is not currently
> >> >> > >> > > supported, so it should boot on other nyan-based Chromebooks
> >> >> > >> > > also, but only the device tree for nyan-big is provided here.
> >> >> > >> > >
> >> >> > >> > > The device tree file is from Linux but with features removed
> >> >> > >> > > which are unlikely to be supported in U-Boot soon
> >> >> > >> > > (regulators,
> >> >> > pinmux).
> >> >> > >> > > Also the addresses are updated to 32-bit.
> >> >> > >> > >
> >> >> > >> > > Signed-off-by: Allen Martin <amartin@nvidia.com>
> >> >> > >> > > Signed-off-by: Simon Glass <sjg@chromium.org> (rebase,
> >> >> > >> > > change to 'nyan-big', fix pinmux that resets nyan-big)
> >> >> > >> > >
> >> >> > >> > > ---
> >> >> > >> > >
> >> >> > >> > > Changes in v5:
> >> >> > >> > > - Remove call to pinmux_set_tristate_input_clamping()
> >> >> > >> > >
> >> >> > >> >
> >> >> > >> > Any further comments on v5 please?
> >> >> > >> >
> >> >> > >> > I would like to apply this patch before the DM I2C series, so
> >> >> > >> > that I2C works correct for nyan-big also.
> >> >> > >> >
> >> >> > >> > Tom are you looking at the rest of the PCI-e series? I resent
> >> >> > >> > it so would like to get that in soon - the patches originally
> >> >> > >> > date from August.
> >> >> > >> I was waiting for Thierry or Stephen to Ack the series, or
> >> >> > >> provide other feedback. I don't have time/boards to test this right
> >> now.
> >> >> > >>
> >> >> > >> If someone can say it looks good, or has been tested on X board, etc.
> >> >> > >> I can apply it.
> >> >> > >>
> >> >> > >> Tom
> >> >> > >> >
> >> >> > >> > Regards,
> >> >> > >> > Simon
> >> >> > >> --
> >> >> > >> nvpublic
Simon Glass Dec. 11, 2014, 4:01 p.m. UTC | #7
Hi Tom,

On 11 December 2014 at 08:58, Tom Warren <TWarren@nvidia.com> wrote:
> Simon,
>
> Feel free to do everything in the DM tree. Once DM makes it to mainline, and hence to ARM and Tegra, we'll be better able to add Tegra things into the Tegra repo.

OK, I'll pull in the nyan-big patches to DM then I2C and retest.

- Simon

>
> Tom
>
>> -----Original Message-----
>> From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass
>> Sent: Thursday, December 11, 2014 7:22 AM
>> To: Tom Warren
>> Cc: U-Boot Mailing List; Stephen Warren; Allen Martin; Stephen Warren;
>> Albert Aribaud
>> Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
>>
>> Hi Tom,
>>
>> On 10 December 2014 at 14:45, Simon Glass <sjg@chromium.org> wrote:
>> >
>> > Hi Tom,
>> >
>> > On 10 December 2014 at 14:09, Tom Warren <TWarren@nvidia.com>
>> wrote:
>> > > Simon,
>> > >
>> > >> -----Original Message-----
>> > >> From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon
>> > >> Glass
>> > >> Sent: Wednesday, December 10, 2014 2:04 PM
>> > >> To: Tom Warren
>> > >> Cc: U-Boot Mailing List; Stephen Warren; Allen Martin; Stephen
>> > >> Warren; Albert Aribaud
>> > >> Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
>> > >> board
>> > >>
>> > >> Hi Tom,
>> > >>
>> > >> On 10 December 2014 at 12:36, Simon Glass <sjg@chromium.org>
>> wrote:
>> > >> > Hi Tom,
>> > >> >
>> > >> > On Dec 10, 2014 12:05 PM, "Tom Warren" <TWarren@nvidia.com>
>> wrote:
>> > >> >>
>> > >> >> Simon,
>> > >> >>
>> > >> >> > -----Original Message-----
>> > >> >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of
>> > >> >> > Simon Glass
>> > >> >> > Sent: Wednesday, December 10, 2014 10:50 AM
>> > >> >> > To: Tom Warren
>> > >> >> > Cc: U-Boot Mailing List; Allen Martin; Albert Aribaud; Stephen
>> > >> >> > Warren; Stephen Warren
>> > >> >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for
>> > >> >> > nyan-big board
>> > >> >> >
>> > >> >> > Hi Tom,
>> > >> >> >
>> > >> >> >
>> > >> >> > On 10 December 2014 at 10:39, Tom Warren
>> <TWarren@nvidia.com>
>> > >> wrote:
>> > >> >> > > Simon,
>> > >> >> > >
>> > >> >> > > The v4 PCIE patch series fails to apply to
>> > >> >> > > u-boot-tegra/master after
>> > >> >> > rebasing my repo against both ARM master and U-Boot 'master'
>> > >> >> > master (i.e.
>> > >> >> > FETCH_HEAD =
>> > >> >> > > 32fdf0e4d82bdca5d64d86330e461e59685f9959        branch
>> 'master' of
>> > >> >> > git://git.denx.de/u-boot).  3 - 4 patches fail when using git am.
>> > >> >> > >
>> > >> >> > > I worked thru the conflicts for both branches (my  master
>> > >> >> > > rebased against
>> > >> >> > ARM and U-Boot TOT), and did a MAKEALL -s tegra, and
>> > >> >> > jetson-tk1, beaver and cardhu fail to build (jetson err log
>> > >> >> > below).  Looks like you developed this with your DM I2C series in
>> place?
>> > >> >> > >
>> > >> >> > > To submit a PR from the Tegra repo, I need to either rebase
>> > >> >> > > first against
>> > >> >> > ARM master (my SOP), or against U-Boot 'master'.  So you
>> > >> >> > patches, if they're bound for the Tegra repo, need to work in
>> > >> >> > one of those scenarios.
>> > >> >> > >
>> > >> >> > > Tom
>> > >> >> >
>> > >> >> > Thanks for looking at it. This series depends on the I2C
>> > >> >> > driver model series.
>> > >> >> > It's available at u-boot-dm/i2c-working if you want to check
>> > >> >> > it out. I plan to apply that very soon.
>> > >> >> >
>> > >> >> > I'm sorry I didn't make that clear in this series. I mentioned
>> > >> >> > it on the list at one point but should have added it here. If
>> > >> >> > you like, you could ack it and I can apply to u-boot-dm after
>> > >> >> > I2C is in there.
>> > >> >> I can't ACK something that I can't get to apply to my repo nor
>> > >> >> build nor test. So you'll have to wait on that from Stephen,
>> > >> >> Thierry (based on code
>> > >> >> review) or someone that wants to add DM I2C to Tegra, apply your
>> > >> >> PCIe patches, and test. That's not my normal workflow, though,
>> > >> >> and I don't have the BW to devote to extra hurdles right now.
>> > >> >>
>> > >> >
>> > >> > You could try applying to u-boot-dm/i2c-working. It only has the
>> > >> > DM i2c series in it, plus Tegra stuff. I put a lot of time into
>> > >> > cleaning up this Tegra series to save you and Thierry time.
>> > >>
>> > >> Also Thierry took a look the PCIe series and responded here:
>> > >>
>> > >> http://patchwork.ozlabs.org/patch/410175/
>> > >>
>> > >> There were three nits which I have addressed.
>> > >>
>> > >> For this Nyan-big patch I really don't need a test credit (would be
>> > >> nice, but not necessary). After all it's a new board and if
>> > >> problems are found they can be fixed. But I do need to apply it before
>> DM I2C.
>> > >> Stephen has looked at a few revs.
>> > >>
>> > >> How about this for a plan:
>> > >>
>> > >> - Apply Nyan-big to DM
>> > >> - Apply DM I2C series to DM
>> > >> - Pull request to mainline (final for DM this release unless SPL is
>> > >> resolved
>> > >> somehow)
>> > >>
>> > >> Then if you have time:
>> > >> - Tom - apply PCIe to Tegra tree
>> > >> - Pull request to mainline
>> > > The problem there is that I'd need to wait for the PR to mainline to go
>> thru before I could rebase Tegra against mainline, and only then apply PCIe
>> patches.  Time-wise, it's obviously better for you to do this in one fell swoop
>> from the DM repo.
>> > >
>> > > Does the nyan-big patchset apply/build cleanly in u-boot-tegra/master? If
>> so, I can apply it and do a Tegra test build and then send a PR to Albert if all is
>> clear.
>> >
>> > OK, true.
>> >
>> > The Tegra tree is too far behind master, but if you catch it up you
>> > can make it work:
>> >
>> > (try-nyan=9e10b9: b/ common/ doc/ sandbox/) u> pwclient git-am 417781
>> > Applying patch #417781 using 'git am'
>> > Description: [U-Boot,v5,1/3] dts: Bring in Chrome OS keyboard device
>> > tree definition
>> > Applying: dts: Bring in Chrome OS keyboard device tree definition
>> > (try-nyan=ddebcc: b/ common/ doc/ sandbox/) u> pwclient git-am 417782
>> > Applying patch #417782 using 'git am'
>> > Description: [U-Boot,v5,2/3] tegra: dts: Sync tegra124.dtsi with linux
>> > kernel
>> > Applying: tegra: dts: Sync tegra124.dtsi with linux kernel
>> > ^[[A(try-nyan=9df313: b/ common/ doc/ sandbox/) u> pwclient git-am
>> > 417783 Applying patch #417783 using 'git am'
>> > Description: [U-Boot,v5,3/3] ARM: tegra: Add support for nyan-big
>> > board
>> > Applying: ARM: tegra: Add support for nyan-big board
>> > error: patch failed: arch/arm/dts/Makefile:31
>> > error: arch/arm/dts/Makefile: patch does not apply Patch failed at
>> > 0001 ARM: tegra: Add support for nyan-big board The copy of the patch
>> > that failed is found in:
>> >    /usr/local/google/home/sjg/u/.git/rebase-apply/patch
>> > When you have resolved this problem, run "git am --continue".
>> > If you prefer to skip this patch, run "git am --skip" instead.
>> > To restore the original branch and stop patching, run "git am --abort".
>> > (try-nyan=9df313: b/ common/ doc/ sandbox/) u> patch -p1 <
>> > /usr/local/google/home/sjg/u/.git/rebase-apply/patch
>> > patching file arch/arm/cpu/armv7/tegra124/Kconfig
>> > patching file arch/arm/dts/Makefile
>> > Hunk #1 succeeded at 29 with fuzz 2 (offset -2 lines).
>> > patching file arch/arm/dts/tegra124-nyan-big.dts
>> > patching file board/nvidia/nyan-big/Kconfig patching file
>> > board/nvidia/nyan-big/MAINTAINERS patching file
>> > board/nvidia/nyan-big/Makefile patching file
>> > board/nvidia/nyan-big/nyan-big.c patching file
>> > board/nvidia/nyan-big/pinmux-config-nyan-big.h
>> > patching file board/nvidia/venice2/as3722_init.h
>> > patching file configs/nyan-big_defconfig patching file
>> > include/configs/nyan-big.h
>> >
>> > Then:
>> >
>> >  git add arch/arm/cpu/armv7/tegra124/Kconfig arch/arm/dts/Makefile
>> > board/nvidia/venice2/as3722_init.h arch/arm/dts/tegra124-nyan-big.dts
>> > board/nvidia/nyan-big/ configs/nyan-big_defconfig
>> > include/configs/nyan-big.h git am --resolved
>> >
>> > I've pushed it to u-boot-dm/for-tom.
>> >
>> > It all builds cleanly for me.
>> >
>> > Regards,
>> > Simon
>>
>> Further to this, the I2C patches are in u-boot-dm/master now, except for this
>> Tegra I2C conversion, which depends on the nyan-big series:
>>
>> http://patchwork.ozlabs.org/patch/419730/
>>
>> So I would like to bring in the nyan-big series to the DM tree, add this Tegra
>> I2C patch and then we are ready to sort out the PCIe series. What do you
>> think of that plan? Or if you prefer, I can issue a pull request to mainline for
>> the DM stuff to date and you can do the rest?
>>
>> Regards,
>> Simon
>>
>> >
>> > >
>> > >>
>> > >> If you don't have time, I could do this last bit through DM. In any
>> > >> case the problem is that it is getting late and we need to resolve this
>> soon.
>> > >>
>> > >> Regards,
>> > >> Simon
>> > >>
>> > >> >
>> > >> > Regards,
>> > >> > Simon
>> > >> >
>> > >> >> Tom
>> > >> >> >
>> > >> >> > Regards,
>> > >> >> > Simon
>> > >> >> > >
>> > >> >> > > drivers/power/as3722.c: In function 'as3722_read':
>> > >> >> > > drivers/power/as3722.c:34: warning: passing argument 1 of
>> 'i2c_read'
>> > >> >> > > makes integer from pointer without a cast
>> > >> >> > > include/i2c.h:235: note: expected 'uint8_t' but argument is
>> > >> >> > > of type 'struct
>> > >> >> > udevice *'
>> > >> >> > > drivers/power/as3722.c:34: warning: passing argument 3 of
>> 'i2c_read'
>> > >> >> > > makes integer from pointer without a cast
>> > >> >> > > include/i2c.h:235: note: expected 'int' but argument is of type 'u8
>> *'
>> > >> >> > > drivers/power/as3722.c:34: warning: passing argument 4 of
>> 'i2c_read'
>> > >> >> > > makes pointer from integer without a cast
>> > >> >> > > include/i2c.h:235: note: expected 'uint8_t *' but argument
>> > >> >> > > is of type 'int'
>> > >> >> > > drivers/power/as3722.c:34: error: too few arguments to
>> > >> >> > > function 'i2c_read'
>> > >> >> > > drivers/power/as3722.c: In function 'as3722_write':
>> > >> >> > > drivers/power/as3722.c:45: warning: passing argument 1 of
>> 'i2c_write'
>> > >> >> > > makes integer from pointer without a cast
>> > >> >> > > include/i2c.h:238: note: expected 'uint8_t' but argument is
>> > >> >> > > of type 'struct
>> > >> >> > udevice *'
>> > >> >> > > drivers/power/as3722.c:45: warning: passing argument 3 of
>> 'i2c_write'
>> > >> >> > > makes integer from pointer without a cast
>> > >> >> > > include/i2c.h:238: note: expected 'int' but argument is of type 'u8
>> *'
>> > >> >> > > drivers/power/as3722.c:45: warning: passing argument 4 of
>> 'i2c_write'
>> > >> >> > > makes pointer from integer without a cast
>> > >> >> > > include/i2c.h:238: note: expected 'uint8_t *' but argument
>> > >> >> > > is of type 'int'
>> > >> >> > > drivers/power/as3722.c:45: error: too few arguments to
>> > >> >> > > function
>> > >> >> > 'i2c_write'
>> > >> >> > > drivers/power/as3722.c: In function 'as3722_init':
>> > >> >> > > drivers/power/as3722.c:245: warning: implicit declaration of
>> > >> >> > > function
>> > >> >> > 'i2c_get_chip_for_busnum'
>> > >> >> > > make[1]: *** [drivers/power/as3722.o] Error 1
>> > >> >> > > make: *** [drivers/power] Error 2
>> > >> >> > > make: *** Waiting for unfinished jobs....
>> > >> >> > >
>> > >> >> > >> -----Original Message-----
>> > >> >> > >> From: Tom Warren
>> > >> >> > >> Sent: Wednesday, December 10, 2014 8:46 AM
>> > >> >> > >> To: Simon Glass; U-Boot Mailing List
>> > >> >> > >> Cc: Allen Martin; Albert Aribaud; Stephen Warren; Stephen
>> > >> >> > >> Warren
>> > >> >> > >> Subject: RE: [PATCH v5 3/3] ARM: tegra: Add support for
>> > >> >> > >> nyan-big board
>> > >> >> > >>
>> > >> >> > >> Simon,
>> > >> >> > >>
>> > >> >> > >> > -----Original Message-----
>> > >> >> > >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of
>> > >> >> > >> > Simon Glass
>> > >> >> > >> > Sent: Wednesday, December 10, 2014 8:01 AM
>> > >> >> > >> > To: U-Boot Mailing List
>> > >> >> > >> > Cc: Allen Martin; Simon Glass; Albert Aribaud; Tom
>> > >> >> > >> > Warren; Stephen Warren; Stephen Warren
>> > >> >> > >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for
>> > >> >> > >> > nyan-big board
>> > >> >> > >> >
>> > >> >> > >> > Hi,
>> > >> >> > >> >
>> > >> >> > >> > On 4 December 2014 at 06:36, Simon Glass
>> > >> >> > >> > <sjg@chromium.org>
>> > >> wrote:
>> > >> >> > >> > > From: Allen Martin <amartin@nvidia.com>
>> > >> >> > >> > >
>> > >> >> > >> > > Nyan-big is a Tegra124 clamshell board that is very
>> > >> >> > >> > > similar to venice2, but it has a different panel, the
>> > >> >> > >> > > sdcard cd and wp sense are flipped, and it has a
>> > >> >> > >> > > different revision of the AS3722
>> > >> PMIC.
>> > >> >> > >> > >
>> > >> >> > >> > > This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch
>> > >> >> > >> > > HD, NVIDIA Tegra K1, 2GB). The display is not currently
>> > >> >> > >> > > supported, so it should boot on other nyan-based
>> > >> >> > >> > > Chromebooks also, but only the device tree for nyan-big is
>> provided here.
>> > >> >> > >> > >
>> > >> >> > >> > > The device tree file is from Linux but with features
>> > >> >> > >> > > removed which are unlikely to be supported in U-Boot
>> > >> >> > >> > > soon (regulators,
>> > >> >> > pinmux).
>> > >> >> > >> > > Also the addresses are updated to 32-bit.
>> > >> >> > >> > >
>> > >> >> > >> > > Signed-off-by: Allen Martin <amartin@nvidia.com>
>> > >> >> > >> > > Signed-off-by: Simon Glass <sjg@chromium.org> (rebase,
>> > >> >> > >> > > change to 'nyan-big', fix pinmux that resets nyan-big)
>> > >> >> > >> > >
>> > >> >> > >> > > ---
>> > >> >> > >> > >
>> > >> >> > >> > > Changes in v5:
>> > >> >> > >> > > - Remove call to pinmux_set_tristate_input_clamping()
>> > >> >> > >> > >
>> > >> >> > >> >
>> > >> >> > >> > Any further comments on v5 please?
>> > >> >> > >> >
>> > >> >> > >> > I would like to apply this patch before the DM I2C
>> > >> >> > >> > series, so that I2C works correct for nyan-big also.
>> > >> >> > >> >
>> > >> >> > >> > Tom are you looking at the rest of the PCI-e series? I
>> > >> >> > >> > resent it so would like to get that in soon - the patches
>> > >> >> > >> > originally date from August.
>> > >> >> > >> I was waiting for Thierry or Stephen to Ack the series, or
>> > >> >> > >> provide other feedback. I don't have time/boards to test
>> > >> >> > >> this right
>> > >> now.
>> > >> >> > >>
>> > >> >> > >> If someone can say it looks good, or has been tested on X
>> board, etc.
>> > >> >> > >> I can apply it.
>> > >> >> > >>
>> > >> >> > >> Tom
>> > >> >> > >> >
>> > >> >> > >> > Regards,
>> > >> >> > >> > Simon
>> > >> >> > >> --
>> > >> >> > >> nvpublic
Simon Glass Dec. 11, 2014, 8:17 p.m. UTC | #8
On 11 December 2014 at 09:01, Simon Glass <sjg@chromium.org> wrote:
> Hi Tom,
>
> On 11 December 2014 at 08:58, Tom Warren <TWarren@nvidia.com> wrote:
>> Simon,
>>
>> Feel free to do everything in the DM tree. Once DM makes it to mainline, and hence to ARM and Tegra, we'll be better able to add Tegra things into the Tegra repo.
>
> OK, I'll pull in the nyan-big patches to DM then I2C and retest.

Applied to u-boot-dm.

>
>>
>> Tom
>>
>>> -----Original Message-----
>>> From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon Glass
>>> Sent: Thursday, December 11, 2014 7:22 AM
>>> To: Tom Warren
>>> Cc: U-Boot Mailing List; Stephen Warren; Allen Martin; Stephen Warren;
>>> Albert Aribaud
>>> Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big board
>>>
>>> Hi Tom,
>>>
>>> On 10 December 2014 at 14:45, Simon Glass <sjg@chromium.org> wrote:
>>> >
>>> > Hi Tom,
>>> >
>>> > On 10 December 2014 at 14:09, Tom Warren <TWarren@nvidia.com>
>>> wrote:
>>> > > Simon,
>>> > >
>>> > >> -----Original Message-----
>>> > >> From: sjg@google.com [mailto:sjg@google.com] On Behalf Of Simon
>>> > >> Glass
>>> > >> Sent: Wednesday, December 10, 2014 2:04 PM
>>> > >> To: Tom Warren
>>> > >> Cc: U-Boot Mailing List; Stephen Warren; Allen Martin; Stephen
>>> > >> Warren; Albert Aribaud
>>> > >> Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for nyan-big
>>> > >> board
>>> > >>
>>> > >> Hi Tom,
>>> > >>
>>> > >> On 10 December 2014 at 12:36, Simon Glass <sjg@chromium.org>
>>> wrote:
>>> > >> > Hi Tom,
>>> > >> >
>>> > >> > On Dec 10, 2014 12:05 PM, "Tom Warren" <TWarren@nvidia.com>
>>> wrote:
>>> > >> >>
>>> > >> >> Simon,
>>> > >> >>
>>> > >> >> > -----Original Message-----
>>> > >> >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of
>>> > >> >> > Simon Glass
>>> > >> >> > Sent: Wednesday, December 10, 2014 10:50 AM
>>> > >> >> > To: Tom Warren
>>> > >> >> > Cc: U-Boot Mailing List; Allen Martin; Albert Aribaud; Stephen
>>> > >> >> > Warren; Stephen Warren
>>> > >> >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for
>>> > >> >> > nyan-big board
>>> > >> >> >
>>> > >> >> > Hi Tom,
>>> > >> >> >
>>> > >> >> >
>>> > >> >> > On 10 December 2014 at 10:39, Tom Warren
>>> <TWarren@nvidia.com>
>>> > >> wrote:
>>> > >> >> > > Simon,
>>> > >> >> > >
>>> > >> >> > > The v4 PCIE patch series fails to apply to
>>> > >> >> > > u-boot-tegra/master after
>>> > >> >> > rebasing my repo against both ARM master and U-Boot 'master'
>>> > >> >> > master (i.e.
>>> > >> >> > FETCH_HEAD =
>>> > >> >> > > 32fdf0e4d82bdca5d64d86330e461e59685f9959        branch
>>> 'master' of
>>> > >> >> > git://git.denx.de/u-boot).  3 - 4 patches fail when using git am.
>>> > >> >> > >
>>> > >> >> > > I worked thru the conflicts for both branches (my  master
>>> > >> >> > > rebased against
>>> > >> >> > ARM and U-Boot TOT), and did a MAKEALL -s tegra, and
>>> > >> >> > jetson-tk1, beaver and cardhu fail to build (jetson err log
>>> > >> >> > below).  Looks like you developed this with your DM I2C series in
>>> place?
>>> > >> >> > >
>>> > >> >> > > To submit a PR from the Tegra repo, I need to either rebase
>>> > >> >> > > first against
>>> > >> >> > ARM master (my SOP), or against U-Boot 'master'.  So you
>>> > >> >> > patches, if they're bound for the Tegra repo, need to work in
>>> > >> >> > one of those scenarios.
>>> > >> >> > >
>>> > >> >> > > Tom
>>> > >> >> >
>>> > >> >> > Thanks for looking at it. This series depends on the I2C
>>> > >> >> > driver model series.
>>> > >> >> > It's available at u-boot-dm/i2c-working if you want to check
>>> > >> >> > it out. I plan to apply that very soon.
>>> > >> >> >
>>> > >> >> > I'm sorry I didn't make that clear in this series. I mentioned
>>> > >> >> > it on the list at one point but should have added it here. If
>>> > >> >> > you like, you could ack it and I can apply to u-boot-dm after
>>> > >> >> > I2C is in there.
>>> > >> >> I can't ACK something that I can't get to apply to my repo nor
>>> > >> >> build nor test. So you'll have to wait on that from Stephen,
>>> > >> >> Thierry (based on code
>>> > >> >> review) or someone that wants to add DM I2C to Tegra, apply your
>>> > >> >> PCIe patches, and test. That's not my normal workflow, though,
>>> > >> >> and I don't have the BW to devote to extra hurdles right now.
>>> > >> >>
>>> > >> >
>>> > >> > You could try applying to u-boot-dm/i2c-working. It only has the
>>> > >> > DM i2c series in it, plus Tegra stuff. I put a lot of time into
>>> > >> > cleaning up this Tegra series to save you and Thierry time.
>>> > >>
>>> > >> Also Thierry took a look the PCIe series and responded here:
>>> > >>
>>> > >> http://patchwork.ozlabs.org/patch/410175/
>>> > >>
>>> > >> There were three nits which I have addressed.
>>> > >>
>>> > >> For this Nyan-big patch I really don't need a test credit (would be
>>> > >> nice, but not necessary). After all it's a new board and if
>>> > >> problems are found they can be fixed. But I do need to apply it before
>>> DM I2C.
>>> > >> Stephen has looked at a few revs.
>>> > >>
>>> > >> How about this for a plan:
>>> > >>
>>> > >> - Apply Nyan-big to DM
>>> > >> - Apply DM I2C series to DM
>>> > >> - Pull request to mainline (final for DM this release unless SPL is
>>> > >> resolved
>>> > >> somehow)
>>> > >>
>>> > >> Then if you have time:
>>> > >> - Tom - apply PCIe to Tegra tree
>>> > >> - Pull request to mainline
>>> > > The problem there is that I'd need to wait for the PR to mainline to go
>>> thru before I could rebase Tegra against mainline, and only then apply PCIe
>>> patches.  Time-wise, it's obviously better for you to do this in one fell swoop
>>> from the DM repo.
>>> > >
>>> > > Does the nyan-big patchset apply/build cleanly in u-boot-tegra/master? If
>>> so, I can apply it and do a Tegra test build and then send a PR to Albert if all is
>>> clear.
>>> >
>>> > OK, true.
>>> >
>>> > The Tegra tree is too far behind master, but if you catch it up you
>>> > can make it work:
>>> >
>>> > (try-nyan=9e10b9: b/ common/ doc/ sandbox/) u> pwclient git-am 417781
>>> > Applying patch #417781 using 'git am'
>>> > Description: [U-Boot,v5,1/3] dts: Bring in Chrome OS keyboard device
>>> > tree definition
>>> > Applying: dts: Bring in Chrome OS keyboard device tree definition
>>> > (try-nyan=ddebcc: b/ common/ doc/ sandbox/) u> pwclient git-am 417782
>>> > Applying patch #417782 using 'git am'
>>> > Description: [U-Boot,v5,2/3] tegra: dts: Sync tegra124.dtsi with linux
>>> > kernel
>>> > Applying: tegra: dts: Sync tegra124.dtsi with linux kernel
>>> > ^[[A(try-nyan=9df313: b/ common/ doc/ sandbox/) u> pwclient git-am
>>> > 417783 Applying patch #417783 using 'git am'
>>> > Description: [U-Boot,v5,3/3] ARM: tegra: Add support for nyan-big
>>> > board
>>> > Applying: ARM: tegra: Add support for nyan-big board
>>> > error: patch failed: arch/arm/dts/Makefile:31
>>> > error: arch/arm/dts/Makefile: patch does not apply Patch failed at
>>> > 0001 ARM: tegra: Add support for nyan-big board The copy of the patch
>>> > that failed is found in:
>>> >    /usr/local/google/home/sjg/u/.git/rebase-apply/patch
>>> > When you have resolved this problem, run "git am --continue".
>>> > If you prefer to skip this patch, run "git am --skip" instead.
>>> > To restore the original branch and stop patching, run "git am --abort".
>>> > (try-nyan=9df313: b/ common/ doc/ sandbox/) u> patch -p1 <
>>> > /usr/local/google/home/sjg/u/.git/rebase-apply/patch
>>> > patching file arch/arm/cpu/armv7/tegra124/Kconfig
>>> > patching file arch/arm/dts/Makefile
>>> > Hunk #1 succeeded at 29 with fuzz 2 (offset -2 lines).
>>> > patching file arch/arm/dts/tegra124-nyan-big.dts
>>> > patching file board/nvidia/nyan-big/Kconfig patching file
>>> > board/nvidia/nyan-big/MAINTAINERS patching file
>>> > board/nvidia/nyan-big/Makefile patching file
>>> > board/nvidia/nyan-big/nyan-big.c patching file
>>> > board/nvidia/nyan-big/pinmux-config-nyan-big.h
>>> > patching file board/nvidia/venice2/as3722_init.h
>>> > patching file configs/nyan-big_defconfig patching file
>>> > include/configs/nyan-big.h
>>> >
>>> > Then:
>>> >
>>> >  git add arch/arm/cpu/armv7/tegra124/Kconfig arch/arm/dts/Makefile
>>> > board/nvidia/venice2/as3722_init.h arch/arm/dts/tegra124-nyan-big.dts
>>> > board/nvidia/nyan-big/ configs/nyan-big_defconfig
>>> > include/configs/nyan-big.h git am --resolved
>>> >
>>> > I've pushed it to u-boot-dm/for-tom.
>>> >
>>> > It all builds cleanly for me.
>>> >
>>> > Regards,
>>> > Simon
>>>
>>> Further to this, the I2C patches are in u-boot-dm/master now, except for this
>>> Tegra I2C conversion, which depends on the nyan-big series:
>>>
>>> http://patchwork.ozlabs.org/patch/419730/
>>>
>>> So I would like to bring in the nyan-big series to the DM tree, add this Tegra
>>> I2C patch and then we are ready to sort out the PCIe series. What do you
>>> think of that plan? Or if you prefer, I can issue a pull request to mainline for
>>> the DM stuff to date and you can do the rest?
>>>
>>> Regards,
>>> Simon
>>>
>>> >
>>> > >
>>> > >>
>>> > >> If you don't have time, I could do this last bit through DM. In any
>>> > >> case the problem is that it is getting late and we need to resolve this
>>> soon.
>>> > >>
>>> > >> Regards,
>>> > >> Simon
>>> > >>
>>> > >> >
>>> > >> > Regards,
>>> > >> > Simon
>>> > >> >
>>> > >> >> Tom
>>> > >> >> >
>>> > >> >> > Regards,
>>> > >> >> > Simon
>>> > >> >> > >
>>> > >> >> > > drivers/power/as3722.c: In function 'as3722_read':
>>> > >> >> > > drivers/power/as3722.c:34: warning: passing argument 1 of
>>> 'i2c_read'
>>> > >> >> > > makes integer from pointer without a cast
>>> > >> >> > > include/i2c.h:235: note: expected 'uint8_t' but argument is
>>> > >> >> > > of type 'struct
>>> > >> >> > udevice *'
>>> > >> >> > > drivers/power/as3722.c:34: warning: passing argument 3 of
>>> 'i2c_read'
>>> > >> >> > > makes integer from pointer without a cast
>>> > >> >> > > include/i2c.h:235: note: expected 'int' but argument is of type 'u8
>>> *'
>>> > >> >> > > drivers/power/as3722.c:34: warning: passing argument 4 of
>>> 'i2c_read'
>>> > >> >> > > makes pointer from integer without a cast
>>> > >> >> > > include/i2c.h:235: note: expected 'uint8_t *' but argument
>>> > >> >> > > is of type 'int'
>>> > >> >> > > drivers/power/as3722.c:34: error: too few arguments to
>>> > >> >> > > function 'i2c_read'
>>> > >> >> > > drivers/power/as3722.c: In function 'as3722_write':
>>> > >> >> > > drivers/power/as3722.c:45: warning: passing argument 1 of
>>> 'i2c_write'
>>> > >> >> > > makes integer from pointer without a cast
>>> > >> >> > > include/i2c.h:238: note: expected 'uint8_t' but argument is
>>> > >> >> > > of type 'struct
>>> > >> >> > udevice *'
>>> > >> >> > > drivers/power/as3722.c:45: warning: passing argument 3 of
>>> 'i2c_write'
>>> > >> >> > > makes integer from pointer without a cast
>>> > >> >> > > include/i2c.h:238: note: expected 'int' but argument is of type 'u8
>>> *'
>>> > >> >> > > drivers/power/as3722.c:45: warning: passing argument 4 of
>>> 'i2c_write'
>>> > >> >> > > makes pointer from integer without a cast
>>> > >> >> > > include/i2c.h:238: note: expected 'uint8_t *' but argument
>>> > >> >> > > is of type 'int'
>>> > >> >> > > drivers/power/as3722.c:45: error: too few arguments to
>>> > >> >> > > function
>>> > >> >> > 'i2c_write'
>>> > >> >> > > drivers/power/as3722.c: In function 'as3722_init':
>>> > >> >> > > drivers/power/as3722.c:245: warning: implicit declaration of
>>> > >> >> > > function
>>> > >> >> > 'i2c_get_chip_for_busnum'
>>> > >> >> > > make[1]: *** [drivers/power/as3722.o] Error 1
>>> > >> >> > > make: *** [drivers/power] Error 2
>>> > >> >> > > make: *** Waiting for unfinished jobs....
>>> > >> >> > >
>>> > >> >> > >> -----Original Message-----
>>> > >> >> > >> From: Tom Warren
>>> > >> >> > >> Sent: Wednesday, December 10, 2014 8:46 AM
>>> > >> >> > >> To: Simon Glass; U-Boot Mailing List
>>> > >> >> > >> Cc: Allen Martin; Albert Aribaud; Stephen Warren; Stephen
>>> > >> >> > >> Warren
>>> > >> >> > >> Subject: RE: [PATCH v5 3/3] ARM: tegra: Add support for
>>> > >> >> > >> nyan-big board
>>> > >> >> > >>
>>> > >> >> > >> Simon,
>>> > >> >> > >>
>>> > >> >> > >> > -----Original Message-----
>>> > >> >> > >> > From: sjg@google.com [mailto:sjg@google.com] On Behalf Of
>>> > >> >> > >> > Simon Glass
>>> > >> >> > >> > Sent: Wednesday, December 10, 2014 8:01 AM
>>> > >> >> > >> > To: U-Boot Mailing List
>>> > >> >> > >> > Cc: Allen Martin; Simon Glass; Albert Aribaud; Tom
>>> > >> >> > >> > Warren; Stephen Warren; Stephen Warren
>>> > >> >> > >> > Subject: Re: [PATCH v5 3/3] ARM: tegra: Add support for
>>> > >> >> > >> > nyan-big board
>>> > >> >> > >> >
>>> > >> >> > >> > Hi,
>>> > >> >> > >> >
>>> > >> >> > >> > On 4 December 2014 at 06:36, Simon Glass
>>> > >> >> > >> > <sjg@chromium.org>
>>> > >> wrote:
>>> > >> >> > >> > > From: Allen Martin <amartin@nvidia.com>
>>> > >> >> > >> > >
>>> > >> >> > >> > > Nyan-big is a Tegra124 clamshell board that is very
>>> > >> >> > >> > > similar to venice2, but it has a different panel, the
>>> > >> >> > >> > > sdcard cd and wp sense are flipped, and it has a
>>> > >> >> > >> > > different revision of the AS3722
>>> > >> PMIC.
>>> > >> >> > >> > >
>>> > >> >> > >> > > This is the Acer Chromebook 13 CB5-311-T7NN (13.3-inch
>>> > >> >> > >> > > HD, NVIDIA Tegra K1, 2GB). The display is not currently
>>> > >> >> > >> > > supported, so it should boot on other nyan-based
>>> > >> >> > >> > > Chromebooks also, but only the device tree for nyan-big is
>>> provided here.
>>> > >> >> > >> > >
>>> > >> >> > >> > > The device tree file is from Linux but with features
>>> > >> >> > >> > > removed which are unlikely to be supported in U-Boot
>>> > >> >> > >> > > soon (regulators,
>>> > >> >> > pinmux).
>>> > >> >> > >> > > Also the addresses are updated to 32-bit.
>>> > >> >> > >> > >
>>> > >> >> > >> > > Signed-off-by: Allen Martin <amartin@nvidia.com>
>>> > >> >> > >> > > Signed-off-by: Simon Glass <sjg@chromium.org> (rebase,
>>> > >> >> > >> > > change to 'nyan-big', fix pinmux that resets nyan-big)
>>> > >> >> > >> > >
>>> > >> >> > >> > > ---
>>> > >> >> > >> > >
>>> > >> >> > >> > > Changes in v5:
>>> > >> >> > >> > > - Remove call to pinmux_set_tristate_input_clamping()
>>> > >> >> > >> > >
>>> > >> >> > >> >
>>> > >> >> > >> > Any further comments on v5 please?
>>> > >> >> > >> >
>>> > >> >> > >> > I would like to apply this patch before the DM I2C
>>> > >> >> > >> > series, so that I2C works correct for nyan-big also.
>>> > >> >> > >> >
>>> > >> >> > >> > Tom are you looking at the rest of the PCI-e series? I
>>> > >> >> > >> > resent it so would like to get that in soon - the patches
>>> > >> >> > >> > originally date from August.
>>> > >> >> > >> I was waiting for Thierry or Stephen to Ack the series, or
>>> > >> >> > >> provide other feedback. I don't have time/boards to test
>>> > >> >> > >> this right
>>> > >> now.
>>> > >> >> > >>
>>> > >> >> > >> If someone can say it looks good, or has been tested on X
>>> board, etc.
>>> > >> >> > >> I can apply it.
>>> > >> >> > >>
>>> > >> >> > >> Tom
>>> > >> >> > >> >
>>> > >> >> > >> > Regards,
>>> > >> >> > >> > Simon
>>> > >> >> > >> --
>>> > >> >> > >> nvpublic
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/tegra124/Kconfig b/arch/arm/cpu/armv7/tegra124/Kconfig
index 6a1c83a..88f627c 100644
--- a/arch/arm/cpu/armv7/tegra124/Kconfig
+++ b/arch/arm/cpu/armv7/tegra124/Kconfig
@@ -6,6 +6,15 @@  choice
 config TARGET_JETSON_TK1
 	bool "NVIDIA Tegra124 Jetson TK1 board"
 
+config TARGET_NYAN_BIG
+	bool "Google/NVIDIA Nyan-big Chrombook"
+	help
+	  Nyan Big is a Tegra124 clamshell board that is very similar
+	  to venice2, but it has a different panel, the sdcard CD and WP
+	  sense are flipped, and it has a different revision of the AS3722
+	  PMIC. The retail name is the Acer Chromebook 13 CB5-311-T7NN
+	  (13.3-inch HD, NVIDIA Tegra K1, 2GB).
+
 config TARGET_VENICE2
 	bool "NVIDIA Tegra124 Venice2"
 
@@ -15,6 +24,7 @@  config SYS_SOC
 	default "tegra124"
 
 source "board/nvidia/jetson-tk1/Kconfig"
+source "board/nvidia/nyan-big/Kconfig"
 source "board/nvidia/venice2/Kconfig"
 
 endif
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 01df9a9..3f43b62 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -31,6 +31,7 @@  dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
 	tegra30-tec-ng.dtb \
 	tegra114-dalmore.dtb \
 	tegra124-jetson-tk1.dtb \
+	tegra124-nyan-big.dtb \
 	tegra124-venice2.dtb
 dtb-$(CONFIG_ARCH_UNIPHIER) += \
 	uniphier-ph1-pro4-ref.dtb \
diff --git a/arch/arm/dts/tegra124-nyan-big.dts b/arch/arm/dts/tegra124-nyan-big.dts
new file mode 100644
index 0000000..c1f35a0
--- /dev/null
+++ b/arch/arm/dts/tegra124-nyan-big.dts
@@ -0,0 +1,365 @@ 
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include "tegra124.dtsi"
+
+/ {
+	model = "Acer Chromebook 13 CB5-311";
+	compatible = "google,nyan-big", "nvidia,tegra124";
+
+	aliases {
+		console = &uarta;
+		i2c0 = "/i2c@7000d000";
+		i2c1 = "/i2c@7000c000";
+		i2c2 = "/i2c@7000c400";
+		i2c3 = "/i2c@7000c500";
+		i2c4 = "/i2c@7000c700";
+		i2c5 = "/i2c@7000d100";
+		rtc0 = "/i2c@0,7000d000/pmic@40";
+		rtc1 = "/rtc@0,7000e000";
+		sdhci0 = "/sdhci@700b0600";
+		sdhci1 = "/sdhci@700b0400";
+		spi0 = "/spi@7000d400";
+		spi1 = "/spi@7000da00";
+		usb0 = "/usb@7d000000";
+		usb1 = "/usb@7d008000";
+	};
+
+	memory {
+		reg = <0x80000000 0x80000000>;
+	};
+
+	serial@70006000 {
+		/* Debug connector on the bottom of the board near SD card. */
+		status = "okay";
+	};
+
+	pwm@7000a000 {
+		status = "okay";
+	};
+
+	i2c@7000c000 {
+		status = "okay";
+		clock-frequency = <100000>;
+
+		acodec: audio-codec@10 {
+			compatible = "maxim,max98090";
+			reg = <0x10>;
+			interrupt-parent = <&gpio>;
+			interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+		};
+
+		temperature-sensor@4c {
+			compatible = "ti,tmp451";
+			reg = <0x4c>;
+			interrupt-parent = <&gpio>;
+			interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
+
+			#thermal-sensor-cells = <1>;
+		};
+	};
+
+	i2c@7000c400 {
+		status = "okay";
+		clock-frequency = <100000>;
+	};
+
+	i2c@7000c500 {
+		status = "okay";
+		clock-frequency = <400000>;
+
+		tpm@20 {
+			compatible = "infineon,slb9645tt";
+			reg = <0x20>;
+		};
+	};
+
+	hdmi_ddc: i2c@7000c700 {
+		status = "okay";
+		clock-frequency = <100000>;
+	};
+
+	i2c@7000d000 {
+		status = "okay";
+		clock-frequency = <400000>;
+
+		pmic: pmic@40 {
+			compatible = "ams,as3722";
+			reg = <0x40>;
+			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
+
+			ams,system-power-controller;
+
+			#interrupt-cells = <2>;
+			interrupt-controller;
+
+			gpio-controller;
+			#gpio-cells = <2>;
+
+			pinctrl-names = "default";
+			pinctrl-0 = <&as3722_default>;
+
+			as3722_default: pinmux {
+				gpio0 {
+					pins = "gpio0";
+					function = "gpio";
+					bias-pull-down;
+				};
+
+				gpio1 {
+					pins = "gpio1";
+					function = "gpio";
+					bias-pull-up;
+				};
+
+				gpio2_4_7 {
+					pins = "gpio2", "gpio4", "gpio7";
+					function = "gpio";
+					bias-pull-up;
+				};
+
+				gpio3_6 {
+					pins = "gpio3", "gpio6";
+					bias-high-impedance;
+				};
+
+				gpio5 {
+					pins = "gpio5";
+					function = "clk32k-out";
+					bias-pull-down;
+				};
+			};
+		};
+	};
+
+	spi@7000d400 {
+		status = "okay";
+
+		cros_ec: cros-ec@0 {
+			compatible = "google,cros-ec-spi";
+			spi-max-frequency = <3000000>;
+			interrupt-parent = <&gpio>;
+			interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
+			reg = <0>;
+
+			google,cros-ec-spi-msg-delay = <2000>;
+
+			i2c-tunnel {
+				compatible = "google,cros-ec-i2c-tunnel";
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				google,remote-bus = <0>;
+
+				charger: bq24735@9 {
+					compatible = "ti,bq24735";
+					reg = <0x9>;
+					interrupt-parent = <&gpio>;
+					interrupts = <TEGRA_GPIO(J, 0)
+							GPIO_ACTIVE_HIGH>;
+					ti,ac-detect-gpios = <&gpio
+							TEGRA_GPIO(J, 0)
+							GPIO_ACTIVE_HIGH>;
+				};
+
+				battery: sbs-battery@b {
+					compatible = "sbs,sbs-battery";
+					reg = <0xb>;
+					sbs,i2c-retry-count = <2>;
+					sbs,poll-retry-count = <10>;
+					power-supplies = <&charger>;
+				};
+			};
+		};
+	};
+
+	spi@7000da00 {
+		status = "okay";
+		spi-max-frequency = <25000000>;
+
+		flash@0 {
+			compatible = "winbond,w25q32dw";
+			reg = <0>;
+		};
+	};
+
+	pmc@7000e400 {
+		nvidia,invert-interrupt;
+		nvidia,suspend-mode = <0>;
+		nvidia,cpu-pwr-good-time = <500>;
+		nvidia,cpu-pwr-off-time = <300>;
+		nvidia,core-pwr-good-time = <641 3845>;
+		nvidia,core-pwr-off-time = <61036>;
+		nvidia,core-power-req-active-high;
+		nvidia,sys-clock-req-active-high;
+	};
+
+	hda@70030000 {
+		status = "okay";
+	};
+
+	sdhci@700b0000 { /* WiFi/BT on this bus */
+		status = "okay";
+		power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>;
+		bus-width = <4>;
+		no-1-8-v;
+		non-removable;
+	};
+
+	sdhci@700b0400 { /* SD Card on this bus */
+		status = "okay";
+		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
+		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
+		wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
+		bus-width = <4>;
+		no-1-8-v;
+	};
+
+	sdhci@700b0600 { /* eMMC on this bus */
+		status = "okay";
+		bus-width = <8>;
+		no-1-8-v;
+		non-removable;
+	};
+
+	ahub@70300000 {
+		i2s@70301100 {
+			status = "okay";
+		};
+	};
+
+	usb@7d000000 { /* Rear external USB port. */
+		status = "okay";
+	};
+
+	usb-phy@7d000000 {
+		status = "okay";
+	};
+
+	usb@7d004000 { /* Internal webcam. */
+		status = "okay";
+	};
+
+	usb-phy@7d004000 {
+		status = "okay";
+	};
+
+	usb@7d008000 { /* Left external USB port. */
+		status = "okay";
+	};
+
+	usb-phy@7d008000 {
+		status = "okay";
+	};
+
+	backlight: backlight {
+		compatible = "pwm-backlight";
+
+		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
+		pwms = <&pwm 1 1000000>;
+
+		default-brightness-level = <224>;
+		brightness-levels =
+			<  0   1   2   3   4   5   6   7
+			   8   9  10  11  12  13  14  15
+			  16  17  18  19  20  21  22  23
+			  24  25  26  27  28  29  30  31
+			  32  33  34  35  36  37  38  39
+			  40  41  42  43  44  45  46  47
+			  48  49  50  51  52  53  54  55
+			  56  57  58  59  60  61  62  63
+			  64  65  66  67  68  69  70  71
+			  72  73  74  75  76  77  78  79
+			  80  81  82  83  84  85  86  87
+			  88  89  90  91  92  93  94  95
+			  96  97  98  99 100 101 102 103
+			 104 105 106 107 108 109 110 111
+			 112 113 114 115 116 117 118 119
+			 120 121 122 123 124 125 126 127
+			 128 129 130 131 132 133 134 135
+			 136 137 138 139 140 141 142 143
+			 144 145 146 147 148 149 150 151
+			 152 153 154 155 156 157 158 159
+			 160 161 162 163 164 165 166 167
+			 168 169 170 171 172 173 174 175
+			 176 177 178 179 180 181 182 183
+			 184 185 186 187 188 189 190 191
+			 192 193 194 195 196 197 198 199
+			 200 201 202 203 204 205 206 207
+			 208 209 210 211 212 213 214 215
+			 216 217 218 219 220 221 222 223
+			 224 225 226 227 228 229 230 231
+			 232 233 234 235 236 237 238 239
+			 240 241 242 243 244 245 246 247
+			 248 249 250 251 252 253 254 255
+			 256>;
+	};
+
+	clocks {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		clk32k_in: clock@0 {
+			compatible = "fixed-clock";
+			reg = <0>;
+			#clock-cells = <0>;
+			clock-frequency = <32768>;
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		lid {
+			label = "Lid";
+			gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
+			linux,input-type = <5>;
+			linux,code = <KEY_RESERVED>;
+			debounce-interval = <1>;
+			gpio-key,wakeup;
+		};
+
+		power {
+			label = "Power";
+			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_POWER>;
+			debounce-interval = <30>;
+			gpio-key,wakeup;
+		};
+	};
+
+	panel: panel {
+		compatible = "auo,b133xtn01";
+
+		backlight = <&backlight>;
+	};
+
+	sound {
+		compatible = "nvidia,tegra-audio-max98090-nyan-big",
+			     "nvidia,tegra-audio-max98090";
+		nvidia,model = "Acer Chromebook 13";
+
+		nvidia,audio-routing =
+			"Headphones", "HPR",
+			"Headphones", "HPL",
+			"Speakers", "SPKR",
+			"Speakers", "SPKL",
+			"Mic Jack", "MICBIAS",
+			"DMICL", "Int Mic",
+			"DMICR", "Int Mic",
+			"IN34", "Mic Jack";
+
+		nvidia,i2s-controller = <&tegra_i2s1>;
+		nvidia,audio-codec = <&acodec>;
+
+		clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
+			 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
+			 <&tegra_car TEGRA124_CLK_EXTERN1>;
+		clock-names = "pll_a", "pll_a_out0", "mclk";
+
+		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
+	};
+};
+
+#include "cros-ec-keyboard.dtsi"
diff --git a/board/nvidia/nyan-big/Kconfig b/board/nvidia/nyan-big/Kconfig
new file mode 100644
index 0000000..6c42bb9
--- /dev/null
+++ b/board/nvidia/nyan-big/Kconfig
@@ -0,0 +1,24 @@ 
+if TARGET_NYAN_BIG
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "nyan-big"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra124"
+
+config SYS_CONFIG_NAME
+	string
+	default "nyan-big"
+
+endif
diff --git a/board/nvidia/nyan-big/MAINTAINERS b/board/nvidia/nyan-big/MAINTAINERS
new file mode 100644
index 0000000..ff74627
--- /dev/null
+++ b/board/nvidia/nyan-big/MAINTAINERS
@@ -0,0 +1,6 @@ 
+NORRIN BOARD
+M:	Allen Martin <amartin@nvidia.com>
+S:	Maintained
+F:	board/nvidia/nyan-big/
+F:	include/configs/nyan-big.h
+F:	configs/nyan-big_defconfig
diff --git a/board/nvidia/nyan-big/Makefile b/board/nvidia/nyan-big/Makefile
new file mode 100644
index 0000000..cd2f61d
--- /dev/null
+++ b/board/nvidia/nyan-big/Makefile
@@ -0,0 +1,9 @@ 
+#
+# (C) Copyright 2014
+# NVIDIA Corporation <www.nvidia.com>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y	+= ../venice2/as3722_init.o
+obj-y	+= nyan-big.o
diff --git a/board/nvidia/nyan-big/nyan-big.c b/board/nvidia/nyan-big/nyan-big.c
new file mode 100644
index 0000000..d4d2496
--- /dev/null
+++ b/board/nvidia/nyan-big/nyan-big.c
@@ -0,0 +1,27 @@ 
+/*
+ * (C) Copyright 2014
+ * NVIDIA Corporation <www.nvidia.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/pinmux.h>
+#include "pinmux-config-nyan-big.h"
+
+/*
+ * Routine: pinmux_init
+ * Description: Do individual peripheral pinmux configs
+ */
+void pinmux_init(void)
+{
+	gpio_config_table(nyan_big_gpio_inits,
+			  ARRAY_SIZE(nyan_big_gpio_inits));
+
+	pinmux_config_pingrp_table(nyan_big_pingrps,
+				   ARRAY_SIZE(nyan_big_pingrps));
+
+	pinmux_config_drvgrp_table(nyan_big_drvgrps,
+				   ARRAY_SIZE(nyan_big_drvgrps));
+}
diff --git a/board/nvidia/nyan-big/pinmux-config-nyan-big.h b/board/nvidia/nyan-big/pinmux-config-nyan-big.h
new file mode 100644
index 0000000..9c5fbaa
--- /dev/null
+++ b/board/nvidia/nyan-big/pinmux-config-nyan-big.h
@@ -0,0 +1,287 @@ 
+/*
+ * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef _PINMUX_CONFIG_NYAN_BIG_H_
+#define _PINMUX_CONFIG_NYAN_BIG_H_
+
+#define GPIO_INIT(_gpio, _init)				\
+	{						\
+		.gpio	= GPIO_P##_gpio,		\
+		.init	= TEGRA_GPIO_INIT_##_init,	\
+	}
+
+static const struct tegra_gpio_config nyan_big_gpio_inits[] = {
+	/*        gpio, init_val */
+	GPIO_INIT(A0,   IN),
+	GPIO_INIT(C7,   IN),
+	GPIO_INIT(G0,   IN),
+	GPIO_INIT(G1,   IN),
+	GPIO_INIT(G2,   IN),
+	GPIO_INIT(G3,   IN),
+	GPIO_INIT(H2,   IN),
+	GPIO_INIT(H4,   IN),
+	GPIO_INIT(H6,   IN),
+	GPIO_INIT(H7,   OUT1),
+	GPIO_INIT(I0,   IN),
+	GPIO_INIT(I1,   IN),
+	GPIO_INIT(I5,   OUT1),
+	GPIO_INIT(I6,   IN),
+	GPIO_INIT(I7,   IN),
+	GPIO_INIT(J0,   IN),
+	GPIO_INIT(J7,   IN),
+	GPIO_INIT(K1,   OUT0),
+	GPIO_INIT(K2,   IN),
+	GPIO_INIT(K4,   OUT0),
+	GPIO_INIT(K6,   OUT0),
+	GPIO_INIT(K7,   IN),
+	GPIO_INIT(N7,   IN),
+	GPIO_INIT(P2,   OUT0),
+	GPIO_INIT(Q0,   IN),
+	GPIO_INIT(Q2,   IN),
+	GPIO_INIT(Q3,   IN),
+	GPIO_INIT(Q6,   IN),
+	GPIO_INIT(Q7,   IN),
+	GPIO_INIT(R0,   OUT0),
+	GPIO_INIT(R1,   IN),
+	GPIO_INIT(R4,   IN),
+	GPIO_INIT(R7,   IN),
+	GPIO_INIT(S3,   OUT0),
+	GPIO_INIT(S4,   OUT0),
+	GPIO_INIT(S7,   IN),
+	GPIO_INIT(T1,   IN),
+	GPIO_INIT(U4,   IN),
+	GPIO_INIT(U5,   IN),
+	GPIO_INIT(U6,   IN),
+	GPIO_INIT(V0,   IN),
+	GPIO_INIT(W3,   IN),
+	GPIO_INIT(X1,   IN),
+	GPIO_INIT(X4,   IN),
+	GPIO_INIT(X7,   OUT0),
+};
+
+#define PINCFG(_pingrp, _mux, _pull, _tri, _io, _od, _rcv_sel)	\
+	{							\
+		.pingrp		= PMUX_PINGRP_##_pingrp,	\
+		.func		= PMUX_FUNC_##_mux,		\
+		.pull		= PMUX_PULL_##_pull,		\
+		.tristate	= PMUX_TRI_##_tri,		\
+		.io		= PMUX_PIN_##_io,		\
+		.od		= PMUX_PIN_OD_##_od,		\
+		.rcv_sel	= PMUX_PIN_RCV_SEL_##_rcv_sel,	\
+		.lock		= PMUX_PIN_LOCK_DEFAULT,	\
+		.ioreset	= PMUX_PIN_IO_RESET_DEFAULT,	\
+	}
+
+static const struct pmux_pingrp_config nyan_big_pingrps[] = {
+	/*     pingrp,                 mux,         pull,   tri,      e_input, od,      rcv_sel */
+	PINCFG(CLK_32K_OUT_PA0,        DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(UART3_CTS_N_PA1,        GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP2_FS_PA2,            I2S1,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(DAP2_SCLK_PA3,          I2S1,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(DAP2_DIN_PA4,           I2S1,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(DAP2_DOUT_PA5,          I2S1,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_CLK_PA6,         SDMMC3,      NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_CMD_PA7,         SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PB0,                    RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PB1,                    RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_DAT3_PB4,        SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_DAT2_PB5,        SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_DAT1_PB6,        SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_DAT0_PB7,        SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(UART3_RTS_N_PC0,        GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(UART2_TXD_PC2,          IRDA,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(UART2_RXD_PC3,          IRDA,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(GEN1_I2C_SCL_PC4,       I2C1,        NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(GEN1_I2C_SDA_PC5,       I2C1,        NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(PC7,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PG0,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PG1,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PG2,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PG3,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PG4,                    SPI4,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PG5,                    SPI4,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PG6,                    SPI4,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PG7,                    SPI4,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PH0,                    GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PH1,                    PWM1,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PH2,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PH3,                    GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PH4,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PH5,                    RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PH6,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PH7,                    DEFAULT,     NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PI0,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PI1,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PI2,                    RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PI3,                    SPI4,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PI4,                    GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PI5,                    DEFAULT,     UP,     NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PI6,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PI7,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PJ0,                    DEFAULT,     UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PJ2,                    RSVD1,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(UART2_CTS_N_PJ5,        GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(UART2_RTS_N_PJ6,        GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PJ7,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PK0,                    RSVD1,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PK1,                    DEFAULT,     NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PK2,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PK3,                    GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PK4,                    DEFAULT,     UP,     NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SPDIF_OUT_PK5,          RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SPDIF_IN_PK6,           DEFAULT,     DOWN,   NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PK7,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(DAP1_FS_PN0,            RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP1_DIN_PN1,           RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP1_DOUT_PN2,          I2S0,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP1_SCLK_PN3,          RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(USB_VBUS_EN0_PN4,       USB,         NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(USB_VBUS_EN1_PN5,       USB,         NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(HDMI_INT_PN7,           DEFAULT,     DOWN,   NORMAL,   INPUT,   DEFAULT, NORMAL),
+	PINCFG(ULPI_DATA7_PO0,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DATA0_PO1,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DATA1_PO2,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DATA2_PO3,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DATA3_PO4,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DATA4_PO5,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DATA5_PO6,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DATA6_PO7,         ULPI,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP3_FS_PP0,            I2S2,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP3_DIN_PP1,           I2S2,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP3_DOUT_PP2,          DEFAULT,     NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP3_SCLK_PP3,          RSVD3,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP4_FS_PP4,            RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP4_DIN_PP5,           RSVD3,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP4_DOUT_PP6,          RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP4_SCLK_PP7,          RSVD3,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_COL0_PQ0,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_COL1_PQ1,            RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_COL2_PQ2,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_COL3_PQ3,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_COL4_PQ4,            SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_COL5_PQ5,            RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_COL6_PQ6,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_COL7_PQ7,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_ROW0_PR0,            DEFAULT,     NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW1_PR1,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_ROW2_PR2,            RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW3_PR3,            KBC,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW4_PR4,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_ROW5_PR5,            RSVD3,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW6_PR6,            KBC,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW7_PR7,            DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_ROW8_PS0,            RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW9_PS1,            UARTA,       DOWN,   NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW10_PS2,           UARTA,       NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_ROW11_PS3,           DEFAULT,     NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW12_PS4,           DEFAULT,     NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW13_PS5,           RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW14_PS6,           RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW15_PS7,           DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(KB_ROW16_PT0,           RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(KB_ROW17_PT1,           DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(GEN2_I2C_SCL_PT5,       I2C2,        NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(GEN2_I2C_SDA_PT6,       I2C2,        NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(SDMMC4_CMD_PT7,         SDMMC4,      NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PU0,                    RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PU1,                    RSVD1,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PU2,                    RSVD1,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PU3,                    GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PU4,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PU5,                    DEFAULT,     UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PU6,                    DEFAULT,     UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PV0,                    DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PV1,                    RSVD1,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_CD_N_PV2,        SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC1_WP_N_PV3,        SDMMC1,      DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DDC_SCL_PV4,            I2C4,        NORMAL, NORMAL,   INPUT,   DEFAULT, NORMAL),
+	PINCFG(DDC_SDA_PV5,            I2C4,        NORMAL, NORMAL,   INPUT,   DEFAULT, NORMAL),
+	PINCFG(GPIO_W2_AUD_PW2,        RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(GPIO_W3_AUD_PW3,        DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(DAP_MCLK1_PW4,          EXTPERIPH1,  NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(CLK2_OUT_PW5,           RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(UART3_TXD_PW6,          RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(UART3_RXD_PW7,          RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DVFS_PWM_PX0,           CLDVFS,      NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(GPIO_X1_AUD_PX1,        DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(DVFS_CLK_PX2,           CLDVFS,      NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(GPIO_X3_AUD_PX3,        RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(GPIO_X4_AUD_PX4,        DEFAULT,     NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(GPIO_X5_AUD_PX5,        RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(GPIO_X6_AUD_PX6,        GMI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(GPIO_X7_AUD_PX7,        DEFAULT,     NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_CLK_PY0,           SPI1,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_DIR_PY1,           SPI1,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(ULPI_NXT_PY2,           SPI1,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(ULPI_STP_PY3,           SPI1,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SDMMC1_DAT3_PY4,        SDMMC1,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC1_DAT2_PY5,        SDMMC1,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC1_DAT1_PY6,        SDMMC1,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC1_DAT0_PY7,        SDMMC1,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC1_CLK_PZ0,         SDMMC1,      NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC1_CMD_PZ1,         SDMMC1,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PWR_I2C_SCL_PZ6,        I2CPWR,      NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(PWR_I2C_SDA_PZ7,        I2CPWR,      NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(SDMMC4_DAT0_PAA0,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_DAT1_PAA1,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_DAT2_PAA2,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_DAT3_PAA3,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_DAT4_PAA4,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_DAT5_PAA5,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_DAT6_PAA6,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_DAT7_PAA7,       SDMMC4,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(PBB0,                   VGP6,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(CAM_I2C_SCL_PBB1,       RSVD3,       DOWN,   TRISTATE, OUTPUT,  DISABLE, DEFAULT),
+	PINCFG(CAM_I2C_SDA_PBB2,       RSVD3,       DOWN,   TRISTATE, OUTPUT,  DISABLE, DEFAULT),
+	PINCFG(PBB3,                   VGP3,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PBB4,                   VGP4,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PBB5,                   RSVD3,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PBB6,                   RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PBB7,                   RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(CAM_MCLK_PCC0,          VI,          DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PCC1,                   RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PCC2,                   RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SDMMC4_CLK_PCC4,        SDMMC4,      NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(CLK2_REQ_PCC5,          RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PEX_L0_RST_N_PDD1,      RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PEX_L0_CLKREQ_N_PDD2,   RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PEX_WAKE_N_PDD3,        RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PEX_L1_RST_N_PDD5,      RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PEX_L1_CLKREQ_N_PDD6,   RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(CLK3_OUT_PEE0,          RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(CLK3_REQ_PEE1,          RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(DAP_MCLK1_REQ_PEE2,     RSVD4,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(HDMI_CEC_PEE3,          CEC,         NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
+	PINCFG(SDMMC3_CLK_LB_OUT_PEE4, SDMMC3,      NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(SDMMC3_CLK_LB_IN_PEE5,  SDMMC3,      UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(DP_HPD_PFF0,            DP,          UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(USB_VBUS_EN2_PFF1,      RSVD2,       DOWN,   TRISTATE, OUTPUT,  DISABLE, DEFAULT),
+	PINCFG(PFF2,                   RSVD2,       DOWN,   TRISTATE, OUTPUT,  DISABLE, DEFAULT),
+	PINCFG(CORE_PWR_REQ,           PWRON,       NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(CPU_PWR_REQ,            CPU,         NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(PWR_INT_N,              PMI,         NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(RESET_OUT_N,            RESET_OUT_N, NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+	PINCFG(OWR,                    RSVD2,       DOWN,   TRISTATE, OUTPUT,  DEFAULT, NORMAL),
+	PINCFG(CLK_32K_IN,             CLK,         NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
+	PINCFG(JTAG_RTCK,              RTCK,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
+};
+
+#define DRVCFG(_drvgrp, _slwf, _slwr, _drvup, _drvdn, _lpmd, _schmt, _hsm) \
+	{						\
+		.drvgrp = PMUX_DRVGRP_##_drvgrp,	\
+		.slwf   = _slwf,			\
+		.slwr   = _slwr,			\
+		.drvup  = _drvup,			\
+		.drvdn  = _drvdn,			\
+		.lpmd   = PMUX_LPMD_##_lpmd,		\
+		.schmt  = PMUX_SCHMT_##_schmt,		\
+		.hsm    = PMUX_HSM_##_hsm,		\
+	}
+
+static const struct pmux_drvgrp_config nyan_big_drvgrps[] = {
+};
+
+#endif /* PINMUX_CONFIG_NYAN_BIG_H */
diff --git a/board/nvidia/venice2/as3722_init.h b/board/nvidia/venice2/as3722_init.h
index 06c366e..992b11f 100644
--- a/board/nvidia/venice2/as3722_init.h
+++ b/board/nvidia/venice2/as3722_init.h
@@ -18,7 +18,7 @@ 
 #define AS3722_LDO6VOLTAGE_REG	0x16	/* VDD_SDMMC */
 #define AS3722_LDCONTROL_REG	0x4E
 
-#ifdef CONFIG_TARGET_JETSON_TK1
+#if defined(CONFIG_TARGET_JETSON_TK1) || defined(CONFIG_TARGET_NYAN_BIG)
 #define AS3722_SD0VOLTAGE_DATA	(0x3C00 | AS3722_SD0VOLTAGE_REG)
 #else
 #define AS3722_SD0VOLTAGE_DATA	(0x2800 | AS3722_SD0VOLTAGE_REG)
diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
new file mode 100644
index 0000000..ec79b5b
--- /dev/null
+++ b/configs/nyan-big_defconfig
@@ -0,0 +1,5 @@ 
++S:CONFIG_ARM=y
++S:CONFIG_TEGRA=y
++S:CONFIG_TEGRA124=y
++S:CONFIG_TARGET_NYAN_BIG=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra124-nyan-big"
diff --git a/include/configs/nyan-big.h b/include/configs/nyan-big.h
new file mode 100644
index 0000000..a62bc4e
--- /dev/null
+++ b/include/configs/nyan-big.h
@@ -0,0 +1,79 @@ 
+/*
+ * (C) Copyright 2014
+ * NVIDIA Corporation <www.nvidia.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <linux/sizes.h>
+
+#include "tegra124-common.h"
+
+/* High-level configuration options */
+#define V_PROMPT			"Tegra124 (Nyan-big) # "
+#define CONFIG_TEGRA_BOARD_STRING	"Google/NVIDIA Nyan-big"
+
+/* Board-specific serial config */
+#define CONFIG_SERIAL_MULTI
+#define CONFIG_TEGRA_ENABLE_UARTA
+#define CONFIG_SYS_NS16550_COM1		NV_PA_APB_UARTA_BASE
+
+#define CONFIG_BOARD_EARLY_INIT_F
+
+/* I2C */
+#define CONFIG_SYS_I2C_TEGRA
+#define CONFIG_SYS_I2C_INIT_BOARD
+#define CONFIG_I2C_MULTI_BUS
+#define CONFIG_SYS_MAX_I2C_BUS		TEGRA_I2C_NUM_CONTROLLERS
+#define CONFIG_SYS_I2C_SPEED		100000
+#define CONFIG_CMD_I2C
+#define CONFIG_SYS_I2C
+
+/* SD/MMC */
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_TEGRA_MMC
+#define CONFIG_CMD_MMC
+
+/* Environment in eMMC, at the end of 2nd "boot sector" */
+#define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_SYS_MMC_ENV_DEV		0
+#define CONFIG_SYS_MMC_ENV_PART		2
+#define CONFIG_ENV_OFFSET		(-CONFIG_ENV_SIZE)
+
+/* SPI */
+#define CONFIG_TEGRA114_SPI		/* Compatible w/ Tegra114 SPI */
+#define CONFIG_TEGRA114_SPI_CTRLS	6
+#define CONFIG_SPI_FLASH
+#define CONFIG_SPI_FLASH_WINBOND
+#define CONFIG_SF_DEFAULT_MODE         SPI_MODE_0
+#define CONFIG_SF_DEFAULT_SPEED        24000000
+#define CONFIG_CMD_SPI
+#define CONFIG_CMD_SF
+#define CONFIG_SPI_FLASH_SIZE          (4 << 20)
+
+/* USB Host support */
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_TEGRA
+#define CONFIG_USB_MAX_CONTROLLER_COUNT	2
+#define CONFIG_USB_STORAGE
+#define CONFIG_CMD_USB
+
+/* USB networking support */
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_ASIX
+
+/* General networking support */
+#define CONFIG_CMD_NET
+#define CONFIG_CMD_DHCP
+
+#define CONFIG_FIT
+#define CONFIG_OF_LIBFDT
+
+#include "tegra-common-usb-gadget.h"
+#include "tegra-common-post.h"
+
+#endif /* __CONFIG_H */