From mboxrd@z Thu Jan 1 00:00:00 1970 From: Allen Martin Date: Mon, 22 Oct 2012 15:58:38 -0700 Subject: [U-Boot] [PATCH 2/2] tegra: seaboard: Enable USB keyboard In-Reply-To: <5085C11C.80505@wwwdotorg.org> References: <1350941971-10282-1-git-send-email-amartin@nvidia.com> <1350941971-10282-2-git-send-email-amartin@nvidia.com> <5085C11C.80505@wwwdotorg.org> Message-ID: <20121022225838.GD13201@badger> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, Oct 22, 2012 at 02:56:44PM -0700, Stephen Warren wrote: > On 10/22/2012 03:39 PM, Allen Martin wrote: > > Enable USB keyboard for the springbank variant of seaboard > > This sounds nice! > > > diff --git a/include/configs/seaboard.h b/include/configs/seaboard.h > > > #undef TEGRA_DEVICE_SETTINGS > > -#define TEGRA_DEVICE_SETTINGS "stdin=serial,tegra-kbc\0" \ > > +#define TEGRA_DEVICE_SETTINGS "stdin=serial,tegra-kbc,usbkbd\0" \ > > "stdout=serial\0" \ > > "stderr=serial\0" > > Rather than duplicating this everywhere (and I imagine now that this > support works, most Tegra boards will want to turn on USB keyboard), > can't we do something automatic in tegra-common-post.h, like: > > #ifdef CONFIG_TEGRA_KEYBOARD > #define STDIN_KBD_KBC ",tegra-kbc" > #else > #define STDIN_KBD_KBC "" > #endif > > #ifdef CONFIG_USB_KEYBOARD > #define STDIN_KBD_USB ",usbkbd" > #else > #define STDIN_KBD_USB "" > #endif > > #define TEGRA_DEVICE_SETTINGS \ > "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB "\" \ > ... The only issue I see with that is TEGRA_DEVICE_SETTINGS can be used by boards today to add additional environment as well as override stdin/stdout/stderr. I don't think any boards actually do though, so we could just make a TEGRA_EXTRA_DEVICE_SETTINGS if that need comes up. We might as well just put this directly in CONFIG_EXTRA_ENV_SETTINGS because if TEGRA_DEVICE_SETTINGS is private to tegra-common-post.h there's really no reason for it to exist. > > By the way, does tegra-kbc work now/yet? The last time I tried it, I > don't think it did. It was working at one point, but I haven't tried it recently. > > > diff --git a/include/configs/tegra20-common.h b/include/configs/tegra20-common.h > > > +#ifdef CONFIG_USB_KEYBOARD > > +#define CONFIG_SYS_USB_EVENT_POLL > > +#define CONFIG_PREBOOT "usb start" > > +#endif /* CONFIG_USB_KEYBOARD */ > > Similarly, we could also e.g. turn on CONFIG_KEYBOARD whenever > CONFIG_TEGRA_KEYBOARD is turned on, and perhaps a bunch of other similar > things, like moving much of the partition/filesystem/command/... support > into the Tegra common files. That would be something for another patch > though. Sure, looks like there's pleny of room for commonizing more stuff from the board confgs and triggering off tegra feature defines like CONFIG_TEGRA_I2C, CONFIG_TEGRA_MMC, CONFIG_USB_EHCI_TEGRA, CONFIG_TEGRA_KEYBOARD. I'll look at making a separate patch for that. -Allen -- nvpublic