All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards
@ 2012-05-24  7:04 Thierry Reding
  2012-05-24  7:04 ` [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support Thierry Reding
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Thierry Reding @ 2012-05-24  7:04 UTC (permalink / raw)
  To: u-boot

This adds basic USB support for port 0. Device tree support is needed to
initialize the USB EHCI and will be added in a subsequent patch.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
---
 board/avionic-design/common/tamonten.c |   11 +++++++++++
 board/avionic-design/common/tamonten.h |    2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/board/avionic-design/common/tamonten.c b/board/avionic-design/common/tamonten.c
index f23b657..794d90a 100644
--- a/board/avionic-design/common/tamonten.c
+++ b/board/avionic-design/common/tamonten.c
@@ -68,6 +68,12 @@ static void pin_mux_mmc(void)
 }
 #endif
 
+static void pin_mux_usb_default(void)
+{
+}
+
+void pin_mux_usb(void) __attribute__((weak, alias("pin_mux_usb_default")));
+
 /*
  * Routine: board_init
  * Description: Early hardware init.
@@ -80,6 +86,11 @@ int board_init(void)
 	/* boot param addr */
 	gd->bd->bi_boot_params = (NV_PA_SDRAM_BASE + 0x100);
 
+#ifdef CONFIG_USB_EHCI_TEGRA
+	pin_mux_usb();
+	board_usb_init(gd->fdt_blob);
+#endif
+
 	return 0;
 }
 
diff --git a/board/avionic-design/common/tamonten.h b/board/avionic-design/common/tamonten.h
index 0e60b0f..ee101b7 100644
--- a/board/avionic-design/common/tamonten.h
+++ b/board/avionic-design/common/tamonten.h
@@ -26,7 +26,7 @@
 #ifndef _TAMONTEN_H_
 #define _TAMONTEN_H_
 
-void tegra2_start(void);
 void gpio_config_mmc(void);
+void pin_mux_usb(void);
 
 #endif /* TAMONTEN_H */
-- 
1.7.10.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support
  2012-05-24  7:04 [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Thierry Reding
@ 2012-05-24  7:04 ` Thierry Reding
  2012-05-24 15:51   ` Stephen Warren
  2012-05-24  7:04 ` [U-Boot] [PATCH 3/3] tegra: plutux: " Thierry Reding
  2012-05-24 15:46 ` [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Stephen Warren
  2 siblings, 1 reply; 10+ messages in thread
From: Thierry Reding @ 2012-05-24  7:04 UTC (permalink / raw)
  To: u-boot

Device tree support is required for working USB host support, which in
turn enables ethernet support.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
---
 board/avionic-design/dts/tegra2-medcom.dts |   67 ++++++++++++++++++++++++++++
 include/configs/medcom.h                   |   22 ++++++++-
 2 files changed, 88 insertions(+), 1 deletion(-)
 create mode 100644 board/avionic-design/dts/tegra2-medcom.dts

diff --git a/board/avionic-design/dts/tegra2-medcom.dts b/board/avionic-design/dts/tegra2-medcom.dts
new file mode 100644
index 0000000..f766078
--- /dev/null
+++ b/board/avionic-design/dts/tegra2-medcom.dts
@@ -0,0 +1,67 @@
+/dts-v1/;
+
+/include/ ARCH_CPU_DTS
+
+/ {
+	model = "Avionic Design Medcom-Wide";
+	compatible = "avionic-design,medcom", "nvidia,tegra20";
+
+	aliases {
+		usb0 = "/usb at c5008000";
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8";
+	};
+
+	memory {
+		reg = <0x00000000 0x20000000>;
+	};
+
+	clocks {
+		clk_32k: clk_32k {
+			clock-frequency = <32000>;
+		};
+
+		osc {
+			clock-frequency = <12000000>;
+		};
+	};
+
+	clock at 60006000 {
+		clocks = <&clk_32k &osc>;
+	};
+
+	serial at 70006300 {
+		clock-frequency = <216000000>;
+	};
+
+	i2c at 7000c000 {
+		status = "disabled";
+	};
+
+	i2c at 7000c400 {
+		status = "disabled";
+	};
+
+	i2c at 7000c500 {
+		status = "disabled";
+	};
+
+	i2c at 7000d000 {
+		status = "disabled";
+	};
+
+	usb at c5000000 {
+		status = "disabled";
+	};
+
+	usb at c5004000 {
+		status = "disabled";
+	};
+
+	sdhci at c8000600 {
+		cd-gpios = <&gpio 58 0>; /* gpio PH2 */
+		wp-gpios = <&gpio 59 0>; /* gpio PH3 */
+	};
+};
diff --git a/include/configs/medcom.h b/include/configs/medcom.h
index 2dc3507..072e15a 100644
--- a/include/configs/medcom.h
+++ b/include/configs/medcom.h
@@ -1,7 +1,7 @@
 /*
  *  (C) Copyright 2010,2011
  *  NVIDIA Corporation <www.nvidia.com>
- *  (C) Copyright 2011
+ *  (C) Copyright 2011-2012
  *  Avionic Design GmbH <www.avionic-design.de>
  *
  * See file CREDITS for list of people who contributed to this
@@ -28,6 +28,11 @@
 
 #include "tegra2-common.h"
 
+/* Enable fdt support for Medcom. Flash the image in u-boot-dtb.bin */
+#define CONFIG_DEFAULT_DEVICE_TREE	tegra2-medcom
+#define CONFIG_OF_CONTROL
+#define CONFIG_OF_SEPARATE
+
 /* High-level configuration options */
 #define TEGRA2_SYSMEM			"mem=384M at 0M nvmem=128M at 384M"
 #define V_PROMPT			"Tegra2 (Medcom) # "
@@ -49,6 +54,21 @@
 #define CONFIG_TEGRA2_MMC
 #define CONFIG_CMD_MMC
 
+/* USB host support */
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_TEGRA
+#define CONFIG_USB_STORAGE
+#define CONFIG_CMD_USB
+
+/* USB networking support */
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_SMSC95XX
+#define CONFIG_USB_ETHER_ASIX
+
+/* General networking support */
+#define CONFIG_CMD_NET
+#define CONFIG_CMD_DHCP
+
 #define CONFIG_DOS_PARTITION
 #define CONFIG_EFI_PARTITION
 #define CONFIG_CMD_EXT2
-- 
1.7.10.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 3/3] tegra: plutux: Add device tree support
  2012-05-24  7:04 [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Thierry Reding
  2012-05-24  7:04 ` [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support Thierry Reding
@ 2012-05-24  7:04 ` Thierry Reding
  2012-05-24 15:51   ` Stephen Warren
  2012-05-24 15:46 ` [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Stephen Warren
  2 siblings, 1 reply; 10+ messages in thread
From: Thierry Reding @ 2012-05-24  7:04 UTC (permalink / raw)
  To: u-boot

Device tree support is required for working USB host support, which in
turn enables ethernet support.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
---
 board/avionic-design/dts/tegra2-plutux.dts |   67 ++++++++++++++++++++++++++++
 include/configs/plutux.h                   |   22 ++++++++-
 2 files changed, 88 insertions(+), 1 deletion(-)
 create mode 100644 board/avionic-design/dts/tegra2-plutux.dts

diff --git a/board/avionic-design/dts/tegra2-plutux.dts b/board/avionic-design/dts/tegra2-plutux.dts
new file mode 100644
index 0000000..b8d815c
--- /dev/null
+++ b/board/avionic-design/dts/tegra2-plutux.dts
@@ -0,0 +1,67 @@
+/dts-v1/;
+
+/include/ ARCH_CPU_DTS
+
+/ {
+	model = "Avionic Design Plutux";
+	compatible = "avionic-design,plutux", "nvidia,tegra20";
+
+	aliases {
+		usb0 = "/usb at c5008000";
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200n8";
+	};
+
+	memory {
+		reg = <0x00000000 0x20000000>;
+	};
+
+	clocks {
+		clk_32k: clk_32k {
+			clock-frequency = <32000>;
+		};
+
+		osc {
+			clock-frequency = <12000000>;
+		};
+	};
+
+	clock at 60006000 {
+		clocks = <&clk_32k &osc>;
+	};
+
+	serial at 70006300 {
+		clock-frequency = <216000000>;
+	};
+
+	i2c at 7000c000 {
+		status = "disabled";
+	};
+
+	i2c at 7000c400 {
+		status = "disabled";
+	};
+
+	i2c at 7000c500 {
+		status = "disabled";
+	};
+
+	i2c at 7000d000 {
+		status = "disabled";
+	};
+
+	usb at c5000000 {
+		status = "disabled";
+	};
+
+	usb at c5004000 {
+		status = "disabled";
+	};
+
+	sdhci at c8000600 {
+		cd-gpios = <&gpio 58 0>; /* gpio PH2 */
+		wp-gpios = <&gpio 59 0>; /* gpio PH3 */
+	};
+};
diff --git a/include/configs/plutux.h b/include/configs/plutux.h
index f869191..73f4292 100644
--- a/include/configs/plutux.h
+++ b/include/configs/plutux.h
@@ -1,7 +1,7 @@
 /*
  *  (C) Copyright 2010,2011
  *  NVIDIA Corporation <www.nvidia.com>
- *  (C) Copyright 2011
+ *  (C) Copyright 2011-2012
  *  Avionic Design GmbH <www.avionic-design.de>
  *
  * See file CREDITS for list of people who contributed to this
@@ -28,6 +28,11 @@
 
 #include "tegra2-common.h"
 
+/* Enable fdt support for Plutux. Flash the image in u-boot-dtb.bin */
+#define CONFIG_DEFAULT_DEVICE_TREE	tegra2-plutux
+#define CONFIG_OF_CONTROL
+#define CONFIG_OF_SEPARATE
+
 /* High-level configuration options */
 #define TEGRA2_SYSMEM			"mem=384M at 0M nvmem=128M at 384M"
 #define V_PROMPT			"Tegra2 (Plutux) # "
@@ -49,6 +54,21 @@
 #define CONFIG_TEGRA2_MMC
 #define CONFIG_CMD_MMC
 
+/* USB host support */
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_TEGRA
+#define CONFIG_USB_STORAGE
+#define CONFIG_CMD_USB
+
+/* USB networking support */
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_SMSC95XX
+#define CONFIG_USB_ETHER_ASIX
+
+/* General networking support */
+#define CONFIG_CMD_NET
+#define CONFIG_CMD_DHCP
+
 #define CONFIG_DOS_PARTITION
 #define CONFIG_EFI_PARTITION
 #define CONFIG_CMD_EXT2
-- 
1.7.10.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards
  2012-05-24  7:04 [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Thierry Reding
  2012-05-24  7:04 ` [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support Thierry Reding
  2012-05-24  7:04 ` [U-Boot] [PATCH 3/3] tegra: plutux: " Thierry Reding
@ 2012-05-24 15:46 ` Stephen Warren
  2012-05-24 21:07   ` Thierry Reding
  2 siblings, 1 reply; 10+ messages in thread
From: Stephen Warren @ 2012-05-24 15:46 UTC (permalink / raw)
  To: u-boot

On 05/24/2012 01:04 AM, Thierry Reding wrote:
> This adds basic USB support for port 0. Device tree support is needed to
> initialize the USB EHCI and will be added in a subsequent patch.

I don't think this is anything in particular to do with USB support "for
port 0"; it's general USB support.

The code here duplicates changes made to board/nvidia/common/board.c.
Shouldn't all Tegra boards be using that common board code so we don't
have to duplicate all this early setup for every board vendor using
Tegra? Otherwise, every time we add I2C, SPI, LP0, ... to
board/nvidia/common/board.c, you'll just have to make the same change to
tamonten.c too.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support
  2012-05-24  7:04 ` [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support Thierry Reding
@ 2012-05-24 15:51   ` Stephen Warren
  2012-05-24 21:09     ` Thierry Reding
  0 siblings, 1 reply; 10+ messages in thread
From: Stephen Warren @ 2012-05-24 15:51 UTC (permalink / raw)
  To: u-boot

On 05/24/2012 01:04 AM, Thierry Reding wrote:
> Device tree support is required for working USB host support, which in
> turn enables ethernet support.

> diff --git a/board/avionic-design/dts/tegra2-medcom.dts b/board/avionic-design/dts/tegra2-medcom.dts

> +	chosen {
> +		bootargs = "console=ttyS0,115200n8";
> +	};

I don't think you need that in the U-Boot .dts file, since it's specific
to the kernel. Admittedly, U-Boot's tegra2-seaboard.dts has it, but none
of the other Tegra .dts files do.

> +	sdhci at c8000600 {
> +		cd-gpios = <&gpio 58 0>; /* gpio PH2 */
> +		wp-gpios = <&gpio 59 0>; /* gpio PH3 */
> +	};

I'd prefer not to include SDHCI nodes in the U-Boot .dts files, since
U-Boot doesn't support configuring the SDHCI controllers from device
tree (yet?). Having these nodes exist before then would be misleading.
Yes again, the seaboard .dts file has it, but it should probably be
removed from there too.

> diff --git a/include/configs/medcom.h b/include/configs/medcom.h

> +/* USB networking support */
> +#define CONFIG_USB_HOST_ETHER
> +#define CONFIG_USB_ETHER_SMSC95XX
> +#define CONFIG_USB_ETHER_ASIX

Is there an SMSC95XX on the board? Since standalone dongles with that
chipset are rare, we've removed that one config option from all the
other Tegra boards since it likely isn't useful (except Harmony which
has that chip on board).

Aside from those comments, this looks fine.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 3/3] tegra: plutux: Add device tree support
  2012-05-24  7:04 ` [U-Boot] [PATCH 3/3] tegra: plutux: " Thierry Reding
@ 2012-05-24 15:51   ` Stephen Warren
  0 siblings, 0 replies; 10+ messages in thread
From: Stephen Warren @ 2012-05-24 15:51 UTC (permalink / raw)
  To: u-boot

On 05/24/2012 01:04 AM, Thierry Reding wrote:
> Device tree support is required for working USB host support, which in
> turn enables ethernet support.

Same comment here as the previous patch obviously:-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards
  2012-05-24 15:46 ` [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Stephen Warren
@ 2012-05-24 21:07   ` Thierry Reding
  2012-05-24 22:13     ` Stephen Warren
  0 siblings, 1 reply; 10+ messages in thread
From: Thierry Reding @ 2012-05-24 21:07 UTC (permalink / raw)
  To: u-boot

* Stephen Warren wrote:
> On 05/24/2012 01:04 AM, Thierry Reding wrote:
> > This adds basic USB support for port 0. Device tree support is needed to
> > initialize the USB EHCI and will be added in a subsequent patch.
> 
> I don't think this is anything in particular to do with USB support "for
> port 0"; it's general USB support.

Okay, I did copy this from Simon's earlier commits. I can just drop "for port
0". It isn't really relevant anyway.

> The code here duplicates changes made to board/nvidia/common/board.c.
> Shouldn't all Tegra boards be using that common board code so we don't
> have to duplicate all this early setup for every board vendor using
> Tegra? Otherwise, every time we add I2C, SPI, LP0, ... to
> board/nvidia/common/board.c, you'll just have to make the same change to
> tamonten.c too.

I think the problem is U-Boot's build system, which doesn't allow sharing
code between different subdirectories of board/.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120524/d5e2f235/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support
  2012-05-24 15:51   ` Stephen Warren
@ 2012-05-24 21:09     ` Thierry Reding
  0 siblings, 0 replies; 10+ messages in thread
From: Thierry Reding @ 2012-05-24 21:09 UTC (permalink / raw)
  To: u-boot

* Stephen Warren wrote:
> On 05/24/2012 01:04 AM, Thierry Reding wrote:
> > Device tree support is required for working USB host support, which in
> > turn enables ethernet support.
> 
> > diff --git a/board/avionic-design/dts/tegra2-medcom.dts b/board/avionic-design/dts/tegra2-medcom.dts
> 
> > +	chosen {
> > +		bootargs = "console=ttyS0,115200n8";
> > +	};
> 
> I don't think you need that in the U-Boot .dts file, since it's specific
> to the kernel. Admittedly, U-Boot's tegra2-seaboard.dts has it, but none
> of the other Tegra .dts files do.

Okay, I'll drop it.

> > +	sdhci at c8000600 {
> > +		cd-gpios = <&gpio 58 0>; /* gpio PH2 */
> > +		wp-gpios = <&gpio 59 0>; /* gpio PH3 */
> > +	};
> 
> I'd prefer not to include SDHCI nodes in the U-Boot .dts files, since
> U-Boot doesn't support configuring the SDHCI controllers from device
> tree (yet?). Having these nodes exist before then would be misleading.
> Yes again, the seaboard .dts file has it, but it should probably be
> removed from there too.

I'll drop that as well, then. Do you want me to prepare a patch to remove
those nodes from the Seaboard DTS?

> > diff --git a/include/configs/medcom.h b/include/configs/medcom.h
> 
> > +/* USB networking support */
> > +#define CONFIG_USB_HOST_ETHER
> > +#define CONFIG_USB_ETHER_SMSC95XX
> > +#define CONFIG_USB_ETHER_ASIX
> 
> Is there an SMSC95XX on the board? Since standalone dongles with that
> chipset are rare, we've removed that one config option from all the
> other Tegra boards since it likely isn't useful (except Harmony which
> has that chip on board).

Yes, the Tamonten has an SMSC95XX.

> Aside from those comments, this looks fine.

Thanks for reviewing.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120524/64b993bd/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards
  2012-05-24 21:07   ` Thierry Reding
@ 2012-05-24 22:13     ` Stephen Warren
  2012-05-25  4:55       ` Thierry Reding
  0 siblings, 1 reply; 10+ messages in thread
From: Stephen Warren @ 2012-05-24 22:13 UTC (permalink / raw)
  To: u-boot

On 05/24/2012 03:07 PM, Thierry Reding wrote:
> * Stephen Warren wrote:
>> On 05/24/2012 01:04 AM, Thierry Reding wrote:
>>> This adds basic USB support for port 0. Device tree support is
>>> needed to initialize the USB EHCI and will be added in a
>>> subsequent patch.
...
>> The code here duplicates changes made to
>> board/nvidia/common/board.c. Shouldn't all Tegra boards be using
>> that common board code so we don't have to duplicate all this
>> early setup for every board vendor using Tegra? Otherwise, every
>> time we add I2C, SPI, LP0, ... to board/nvidia/common/board.c,
>> you'll just have to make the same change to tamonten.c too.
> 
> I think the problem is U-Boot's build system, which doesn't allow
> sharing code between different subdirectories of board/.

I have both board/compulab/trimslice and board/compal/paz00 sharing
the board/nvidia/common code; take a look at their Makefiles.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards
  2012-05-24 22:13     ` Stephen Warren
@ 2012-05-25  4:55       ` Thierry Reding
  0 siblings, 0 replies; 10+ messages in thread
From: Thierry Reding @ 2012-05-25  4:55 UTC (permalink / raw)
  To: u-boot

* Stephen Warren wrote:
> On 05/24/2012 03:07 PM, Thierry Reding wrote:
> > * Stephen Warren wrote:
> >> On 05/24/2012 01:04 AM, Thierry Reding wrote:
> >>> This adds basic USB support for port 0. Device tree support is
> >>> needed to initialize the USB EHCI and will be added in a
> >>> subsequent patch.
> ...
> >> The code here duplicates changes made to
> >> board/nvidia/common/board.c. Shouldn't all Tegra boards be using
> >> that common board code so we don't have to duplicate all this
> >> early setup for every board vendor using Tegra? Otherwise, every
> >> time we add I2C, SPI, LP0, ... to board/nvidia/common/board.c,
> >> you'll just have to make the same change to tamonten.c too.
> > 
> > I think the problem is U-Boot's build system, which doesn't allow
> > sharing code between different subdirectories of board/.
> 
> I have both board/compulab/trimslice and board/compal/paz00 sharing
> the board/nvidia/common code; take a look at their Makefiles.

Okay, will do.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120525/7f85ee19/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-05-25  4:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-24  7:04 [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Thierry Reding
2012-05-24  7:04 ` [U-Boot] [PATCH 2/3] tegra: medcom: Add device tree support Thierry Reding
2012-05-24 15:51   ` Stephen Warren
2012-05-24 21:09     ` Thierry Reding
2012-05-24  7:04 ` [U-Boot] [PATCH 3/3] tegra: plutux: " Thierry Reding
2012-05-24 15:51   ` Stephen Warren
2012-05-24 15:46 ` [U-Boot] [PATCH 1/3] tegra: usb: Add USB support to Tamonten boards Stephen Warren
2012-05-24 21:07   ` Thierry Reding
2012-05-24 22:13     ` Stephen Warren
2012-05-25  4:55       ` Thierry Reding

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.