[U-Boot] [PATCH 1/2] tegra: i2c: Enable I2C on PAZ00

This enables I2C on PAZ00.
Signed-off-by: Marc Dietrich marvin24@gmx.de --- include/configs/paz00.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/include/configs/paz00.h b/include/configs/paz00.h index 24cda48..7e21e66 100644 --- a/include/configs/paz00.h +++ b/include/configs/paz00.h @@ -38,6 +38,14 @@
#define CONFIG_BOARD_EARLY_INIT_F
+/* I2C */ +#define CONFIG_TEGRA_I2C +#define CONFIG_SYS_I2C_INIT_BOARD +#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_MAX_I2C_BUS 4 +#define CONFIG_SYS_I2C_SPEED 100000 +#define CONFIG_CMD_I2C + /* SD/MMC */ #define CONFIG_MMC #define CONFIG_GENERIC_MMC

This enables LP0 to support suspend / resume on PAZ00.
Signed-off-by: Marc Dietrich marvin24@gmx.de --- board/compal/paz00/Makefile | 6 ++++-- include/configs/paz00.h | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/board/compal/paz00/Makefile b/board/compal/paz00/Makefile index 7f7287e..fbe28b3 100644 --- a/board/compal/paz00/Makefile +++ b/board/compal/paz00/Makefile @@ -20,9 +20,11 @@ $(shell mkdir -p $(obj)../../nvidia/common)
LIB = $(obj)lib$(BOARD).o
-COBJS := $(BOARD).o -COBJS += ../../nvidia/common/board.o +COBJS-y := $(BOARD).o +COBJS-y += ../../nvidia/common/board.o +COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += ../../nvidia/common/emc.o
+COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
diff --git a/include/configs/paz00.h b/include/configs/paz00.h index 7e21e66..1c96f1c 100644 --- a/include/configs/paz00.h +++ b/include/configs/paz00.h @@ -18,6 +18,14 @@ #define __CONFIG_H
#include <asm/sizes.h> + +/* LP0 suspend / resume */ +#define CONFIG_TEGRA20_LP0 +#define CONFIG_AES +#define CONFIG_TEGRA_PMU +#define CONFIG_TPS6586X_POWER +#define CONFIG_TEGRA_CLOCK_SCALING + #include "tegra20-common.h"
/* Enable fdt support for Paz00. Flash the image in u-boot-dtb.bin */

On 09/10/2012 12:51 PM, Marc Dietrich wrote:
This enables LP0 to support suspend / resume on PAZ00.
Ooh. Did you test this out with the AC100 kernel, and have it work? That'd be pretty cool...
diff --git a/board/compal/paz00/Makefile b/board/compal/paz00/Makefile
-COBJS := $(BOARD).o -COBJS += ../../nvidia/common/board.o +COBJS-y := $(BOARD).o +COBJS-y += ../../nvidia/common/board.o +COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += ../../nvidia/common/emc.o
Hmmm. That's odd. I'd expect that to be part of the core Tegra code, rather than something boards have to pull in manually.
diff --git a/include/configs/paz00.h b/include/configs/paz00.h
+/* LP0 suspend / resume */ +#define CONFIG_TEGRA20_LP0
That's been renamed CONFIG_TEGRA_LP0 in u-boot-tegra/next.

Marc,
-----Original Message----- From: Stephen Warren [mailto:swarren@wwwdotorg.org] Sent: Monday, September 10, 2012 12:08 PM To: Marc Dietrich Cc: u-boot@lists.denx.de; Tom Warren Subject: Re: [PATCH 2/2] tegra: enable lp0 on paz00
On 09/10/2012 12:51 PM, Marc Dietrich wrote:
This enables LP0 to support suspend / resume on PAZ00.
Ooh. Did you test this out with the AC100 kernel, and have it work? That'd be pretty cool...
diff --git a/board/compal/paz00/Makefile b/board/compal/paz00/Makefile
-COBJS := $(BOARD).o -COBJS += ../../nvidia/common/board.o +COBJS-y := $(BOARD).o +COBJS-y += ../../nvidia/common/board.o +COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += ../../nvidia/common/emc.o
Hmmm. That's odd. I'd expect that to be part of the core Tegra code, rather than something boards have to pull in manually.
Stephen's right - this is already done in ../cpu/tegra20-common/Makefile when CONFIG_TEGRA_CLOCK_SCALING is defined. So no need to change the PAZ00 Makefile.
diff --git a/include/configs/paz00.h b/include/configs/paz00.h
+/* LP0 suspend / resume */ +#define CONFIG_TEGRA20_LP0
That's been renamed CONFIG_TEGRA_LP0 in u-boot-tegra/next.
As part of the pre-work for Tegra30 changes, I've changed generic Tegra defines, labels, etc. to be more non-specific, unless it does really refer to a Tegra20 feature, file, etc. As Stephen says, see u-boot-tegra/next's top commit.
Tom

Tom,
On Monday 10 September 2012 12:32:00 Tom Warren wrote:
-----Original Message----- From: Stephen Warren [mailto:swarren@wwwdotorg.org] Sent: Monday, September 10, 2012 12:08 PM To: Marc Dietrich Cc: u-boot@lists.denx.de; Tom Warren Subject: Re: [PATCH 2/2] tegra: enable lp0 on paz00
On 09/10/2012 12:51 PM, Marc Dietrich wrote:
This enables LP0 to support suspend / resume on PAZ00.
Ooh. Did you test this out with the AC100 kernel, and have it work? That'd be pretty cool...
diff --git a/board/compal/paz00/Makefile b/board/compal/paz00/Makefile
-COBJS := $(BOARD).o -COBJS += ../../nvidia/common/board.o +COBJS-y := $(BOARD).o +COBJS-y += ../../nvidia/common/board.o +COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += ../../nvidia/common/emc.o
Hmmm. That's odd. I'd expect that to be part of the core Tegra code, rather than something boards have to pull in manually.
I checked this again. The Makefile in nvidia/common is never executed on non nvidia boards (it is included from the topdir Makefile ($vendor/common/Makefile).
Therefore the explicit "COBJS += ../../nvidia/common/board.o" in the paz00 Makefile is needed. So either we have to add ../../nvidia/common/foo.o to all non nvidia boards or we "source" the whole Makefile somehow else.
Marc
Stephen's right - this is already done in ../cpu/tegra20-common/Makefile when CONFIG_TEGRA_CLOCK_SCALING is defined. So no need to change the PAZ00 Makefile.
diff --git a/include/configs/paz00.h b/include/configs/paz00.h
+/* LP0 suspend / resume */ +#define CONFIG_TEGRA20_LP0
That's been renamed CONFIG_TEGRA_LP0 in u-boot-tegra/next.
As part of the pre-work for Tegra30 changes, I've changed generic Tegra defines, labels, etc. to be more non-specific, unless it does really refer to a Tegra20 feature, file, etc. As Stephen says, see u-boot-tegra/next's top commit.
Tom

Marc,
-----Original Message----- From: Marc Dietrich [mailto:marvin24@gmx.de] Sent: Sunday, September 16, 2012 9:17 AM To: Tom Warren Cc: Stephen Warren; u-boot@lists.denx.de Subject: Re: [PATCH 2/2] tegra: enable lp0 on paz00
Tom,
On Monday 10 September 2012 12:32:00 Tom Warren wrote:
-----Original Message----- From: Stephen Warren [mailto:swarren@wwwdotorg.org] Sent: Monday, September 10, 2012 12:08 PM To: Marc Dietrich Cc: u-boot@lists.denx.de; Tom Warren Subject: Re: [PATCH 2/2] tegra: enable lp0 on paz00
On 09/10/2012 12:51 PM, Marc Dietrich wrote:
This enables LP0 to support suspend / resume on PAZ00.
Ooh. Did you test this out with the AC100 kernel, and have it work? That'd be pretty cool...
diff --git a/board/compal/paz00/Makefile b/board/compal/paz00/Makefile
-COBJS := $(BOARD).o -COBJS += ../../nvidia/common/board.o +COBJS-y := $(BOARD).o +COBJS-y += ../../nvidia/common/board.o +COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += ../../nvidia/common/emc.o
Hmmm. That's odd. I'd expect that to be part of the core Tegra code, rather than something boards have to pull in manually.
I checked this again. The Makefile in nvidia/common is never executed on non nvidia boards (it is included from the topdir Makefile ($vendor/common/Makefile).
Therefore the explicit "COBJS += ../../nvidia/common/board.o" in the paz00 Makefile is needed. So either we have to add ../../nvidia/common/foo.o to all non nvidia boards or we "source" the whole Makefile somehow else.
Marc
Feel free to submit a patch that does one or the other (patches all non-nvidia Makefiles or sources the whole Makefile). I think I'd prefer the first approach, though it's ugly having ../.. 'reach arounds' in the Makefiles.
Once you have a fix, we can discuss its merits and move forward.
Thanks,
Tom
Stephen's right - this is already done in ../cpu/tegra20-common/Makefile when CONFIG_TEGRA_CLOCK_SCALING is defined. So no need to change the PAZ00 Makefile.
diff --git a/include/configs/paz00.h b/include/configs/paz00.h
+/* LP0 suspend / resume */ +#define CONFIG_TEGRA20_LP0
That's been renamed CONFIG_TEGRA_LP0 in u-boot-tegra/next.
As part of the pre-work for Tegra30 changes, I've changed generic Tegra defines, labels, etc. to be more non-specific, unless it does really refer to a Tegra20 feature, file, etc. As Stephen says, see u-boot-tegra/next's top commit.
Tom

On Monday 10 September 2012 13:07:43 Stephen Warren wrote:
On 09/10/2012 12:51 PM, Marc Dietrich wrote:
This enables LP0 to support suspend / resume on PAZ00.
Ooh. Did you test this out with the AC100 kernel, and have it work? That'd be pretty cool...
yeah, it would.
Unfortunately, I failed to boot a nvidia 3.1 kernel with uboot (hangs somewhere in usb code), so I couldn't test it so far. But I'll retry soon.
diff --git a/board/compal/paz00/Makefile b/board/compal/paz00/Makefile
-COBJS := $(BOARD).o -COBJS += ../../nvidia/common/board.o +COBJS-y := $(BOARD).o +COBJS-y += ../../nvidia/common/board.o +COBJS-$(CONFIG_TEGRA_CLOCK_SCALING) += ../../nvidia/common/emc.o
Hmmm. That's odd. I'd expect that to be part of the core Tegra code, rather than something boards have to pull in manually.
Correct, will kill it in the next try.
diff --git a/include/configs/paz00.h b/include/configs/paz00.h
+/* LP0 suspend / resume */ +#define CONFIG_TEGRA20_LP0
That's been renamed CONFIG_TEGRA_LP0 in u-boot-tegra/next.
Thanks for the hint. At least I have a better chance to test it now ;-)
Marc

On Monday 10 September 2012 13:04:42 Stephen Warren wrote:
On 09/10/2012 12:51 PM, Marc Dietrich wrote:
This enables I2C on PAZ00.
Really? You need to edit board/compal/dts/tegra20-paz00.dts to enable the I2C ports, don't you?
yes, together with the regulator node. Should this be split in two patches?
Marc

On 09/10/2012 01:57 PM, Marc Dietrich wrote:
On Monday 10 September 2012 13:04:42 Stephen Warren wrote:
On 09/10/2012 12:51 PM, Marc Dietrich wrote:
This enables I2C on PAZ00.
Really? You need to edit board/compal/dts/tegra20-paz00.dts to enable the I2C ports, don't you?
yes, together with the regulator node. Should this be split in two patches?
I'd imagine that the editing both paz00.h tegra20-paz00.dts to enable I2C could be part of the same patch. It seems reasonable enough to add a node for an I2C device in the same patch.
participants (3)
-
Marc Dietrich
-
Stephen Warren
-
Tom Warren