On 07/31/2014 11:36 AM, Stefan Agner wrote:
This adds board support for the Toradex Colibri T30 module.
Working functions:
- SD card boot
- eMMC environment and boot
- USB host/USB client (on the dual role port)
- Network (via ASIX USB)
arch/arm/Kconfig | 4 +
arch/arm/dts/Makefile | 1 +
arch/arm/dts/tegra30-colibri.dts | 84 +++++
arch/arm/include/asm/mach-types.h | 13 +
board/toradex/colibri_t30/Makefile | 6 +
board/toradex/colibri_t30/colibri_t30.c | 52 +++
.../colibri_t30/pinmux-config-colibri_t30.h | 360 +++++++++++++++++++++
include/configs/colibri_t30.h | 73 +++++
I think in latest u-boot/master, you'll also need to add
configs/colibri_t30_defconfig.
diff --git a/arch/arm/dts/tegra30-colibri.dts b/arch/arm/dts/tegra30-colibri.dts
+ /* EHCI instance 0: USB1_DP/N -> USBC_P/N */
+ usb@7d000000 {
+ status = "okay";
+ dr_mode = "otg";
+ };
For OTG support, VBUS needs to be able to be turned on/off. Should this
port be host-mode, or a VBUS GPIO defined?
diff --git a/board/toradex/colibri_t30/colibri_t30.c
b/board/toradex/colibri_t30/colibri_t30.c
+void pin_mux_usb(void)
+{
+ /* Enable LAN_VBUS */
+ gpio_request(GPIO_PDD2, NULL);
+ gpio_direction_output(GPIO_PDD2, 1);
+
+ /* Reset ASIX using LAN_RESET */
+ gpio_request(GPIO_PDD0, NULL);
+ gpio_direction_output(GPIO_PDD0, 0);
+
+ udelay(5);
+
+ gpio_set_value(GPIO_PDD0, 1);
+}
It might be nice to remove the blank lines around the udelay() call; I
initially didn't notice that GOPIO_PDD0 was manipulated by the code both
before and after the udelay() and hence there was already a comment
saying what GPIO_PDD0 controlled. Nestling the lines together would make
this more obvious.
diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h
+#define CONFIG_I2C_MULTI_BUS
+#define CONFIG_SYS_MAX_I2C_BUS TEGRA_I2C_NUM_CONTROLLERS
Are those needed? They aren't defined in e.g. the Beaver config header.
+#define BOARD_EXTRA_ENV_SETTINGS \
+ "board_name=colibri-eval-v3\0" \
+ "fdtfile=tegra30-colibri-eval-v3.dtb\0"
It'd be nice to name the board the same in U-Boot as the kernel DT
filename. Then you wouldn't need to manually override the default values
here.
+#include "tegra-common-ums.h"
Did you test this? I mostly developed the USB device mode support on
Tegra124. While at some point I did test it on Beaver/Tegra30, it was
early on and not very extensive. I'd love to hear that it works well for
you too:-)
(BTW, I sent a patch to rename that file to tegra-common-usb-gadget.h,
since I added DFU support too, so depending on what order TomW applies
our patches, one of us will need to rebase)
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot