summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* kconfig: remove duplicated CMD_DNS optionAndrey Skvortsov2015-04-211-5/+0
| | | | | | | | two CMD_DNS options were added by commit 60296a835cb17 ("commands: add more command entries in Kconfig") Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* mii: add read-modify-write option to mii commandTim James2015-04-201-9/+38
| | | | | | | | | | | | | | | | | | | | When accessing PHY registers it is often desirable to only update selected bits, so it is necessary to first read the current value before writing back an modified value with the relevant bits updated. To simplify this and to allow such operations to be incorporated into simple shell scripts propose adding a 'modify' option to the existing mii command, which takes a mask indicating the bits to be updated in addition to a data value containing the new bits, ie, <updated> = (<data> & <mask>) | (<current> & ~<mask>). Signed-off-by: Tim <tim.james@macltd.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Jeroen Hofstee <jeroen@myspectrum.nl> Cc: Tom Rini <trini@konsulko.com> Cc: Tim <tim.james@macltd.com>
* Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini2015-04-204-107/+310
|\
| * common/lcd_console: introduce display/framebuffer rotationHannes Petermaier2015-04-184-81/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, for example if the display is mounted in portrait mode or even if it is mounted landscape but rotated by 180 degrees, we need to rotate our content of the display respectively the framebuffer, so that user can read the messages which are printed out. For this we introduce the feature called "CONFIG_LCD_ROTATION", this may be defined in the board-configuration if needed. After this the lcd_console will be initialized with a given rotation from "vl_rot" out of "vidinfo_t" which is provided by the board specific code. If CONFIG_LCD_ROTATION is not defined, the console will be initialized with 0 degrees rotation. Signed-off-by: Hannes Petermaier <hannes.petermaier@br-automation.com> Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at> Acked-by: Nikita Kiryanov <nikita@compulab.co.il> [agust: fixed 'struct vidinfo' has no member named 'vl_rot' errors] Signed-off-by: Anatolij Gustschin <agust@denx.de>
| * common/lcd_console: move single static variables into common (static) structureHannes Petermaier2015-04-181-38/+38
| | | | | | | | | | | | | | | | | | | | | | For coming implementation of lcd_console rotation, we will need some more variables for holding information about framebuffer size, rotation, ... For better readability we catch all them into a common structure. Signed-off-by: Hannes Petermaier <hannes.petermaier@br-automation.com> Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at> Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
| * common/lcd_console: ask only one-time for bg/fg-color per callHannes Petermaier2015-04-181-5/+2
| | | | | | | | | | | | | | | | | | Don't call the lcd_getfgcolor and lcd_getbgcolor within the "draw-loop", this only wastes time. Signed-off-by: Hannes Petermaier <hannes.petermaier@br-automation.com> Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at> Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
| * common/lcd_console: cleanup lcd_drawchars/lcd_putc_xyHannes Petermaier2015-04-181-16/+7
| | | | | | | | | | | | | | | | | | | | | | the capability of drawing some *str with count from lcd_drawchars is unnary. It is always called from lcd_putc_xy with one character of and count = 1. So we simply rename lcd_drawchars into lcd_putc_xy and remove the loops inside. Signed-off-by: Hannes Petermaier <hannes.petermaier@br-automation.com> Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at> Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
* | pxe: Ensure all memory access is to mapped memorySjoerd Simons2015-04-191-30/+56
| | | | | | | | | | | | | | | | | | | | | | Properly map memory through map_sysmem so that pxe can be used from the sandbox. Tested in sandbox as well as on jetson-tk1, odroid-xu3, snow as peach-pi boards Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org>
* | sandbox: Implement host dev [device]Sjoerd Simons2015-04-191-0/+44
| | | | | | | | | | | | | | | | | | | | | | A common pattern to check if a certain device exists (e.g. in config_distro_bootcmd) is to use: <interface> dev [device] Implement host dev [device] so this pattern can be used for sandbox host devices. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org>
* | sandbox: Renamed sb command to hostSjoerd Simons2015-04-192-23/+28
| | | | | | | | | | | | | | | | As suggested by Simon Glass, rename the sb command to host but keep the old sb command as an alias Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org>
* | sandbox: exynos: Move CONFIG_CMD_SOUND to KconfigSimon Glass2015-04-181-0/+10
| | | | | | | | | | | | Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <sjg@chromium.org>
* | Kconfig: Move CONFIG_BOOTSTAGE to KconfigSimon Glass2015-04-182-6/+107
| | | | | | | | | | | | | | Move CONFIG_BOOT_STAGE and its associated options to Kconfig. Adjust existing users and code. Signed-off-by: Simon Glass <sjg@chromium.org>
* | dm: net: Adjust PHY interface to work with CONFIG_DM_ETHSimon Glass2015-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | When driver model is used for Ethernet a few functions are passed a udevice instead of an eth_device. Also add a function to find a PHY type given its name. This will be used to decode the device tree node. Finally, put a phy_interface field in struct eth_pdata since this is an important part of the platform data for Ethernet. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* | Avoid calling print_eths() with driver modelSimon Glass2015-04-181-1/+1
| | | | | | | | | | | | | | This function is not supported with driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* | net: cosmetic: Fix checkpatch.pl failures in net.cJoe Hershberger2015-04-184-14/+14
| | | | | | | | | | | | | | Finish eliminating CamelCase from net.c and other failures Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up cmd_net variables and functionsJoe Hershberger2015-04-181-15/+14
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within common/cmd_net.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up DNS variables and functionsJoe Hershberger2015-04-181-3/+3
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within dns.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up CDP variables and functionsJoe Hershberger2015-04-181-8/+9
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within cdp.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up TFTP variables and functionsJoe Hershberger2015-04-181-8/+8
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within tftp and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Fixup var names for DHCP stringsJoe Hershberger2015-04-181-6/+6
| | | | | | | | | | | | | | | | Remove CamelCase variable naming. Move the definition to the same compilation unit as the primary use. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Fixup var names related to boot fileJoe Hershberger2015-04-183-7/+11
| | | | | | | | | | | | | | | | The variables around the bootfile were inconsistent and used CamelCase. Update them to make the code more readable. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Change IPaddr_t to struct in_addrJoe Hershberger2015-04-182-26/+26
| | | | | | | | | | | | | | | | | | This patch is simply clean-up to make the IPv4 type that is used match what Linux uses. It also attempts to move all variables that are IP addresses use good naming instead of CamelCase. No functional change. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | dm: usb: Support driver model with USB keyboardsSimon Glass2015-04-181-1/+33
| | | | | | | | | | | | | | | | | | Allow USB keyboards to work with driver model. The main difference is that we can have multiple buses (each with its own device numbering) and each bus must be scanned. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Split out the keyboard probe into its own functionSimon Glass2015-04-181-38/+51
| | | | | | | | | | | | | | | | Before adding driver model support, split out code from this over-long function. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Convert usb_storage to driver modelSimon Glass2015-04-181-2/+49
| | | | | | | | | | | | | | | | Add support for scanning USB storage devices with driver model. This mostly involves adding a USB device ID for storage devices. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Move storage device scanning into its own functionSimon Glass2015-04-181-38/+59
| | | | | | | | | | | | | | | | | | | | The usb_stor_scan() function is quite long, so split out the code that scans each device into its own function. Also, rather than setting up the block device list once at the start, set it up as each device is scanned. This makes it possible to use this code from driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | Revert "usb_storage : scan all interfaces to find a storage device"Simon Glass2015-04-181-28/+17
| | | | | | | | | | | | | | This reverts commit cd749658d5994978579628a6333e5c2a6c8ec632. The conflicts with this commit are hard for me to figure out. I will re-apply it later.
* | dm: usb: Adjust usb_storage to work with sandboxSimon Glass2015-04-181-2/+4
| | | | | | | | | | | | | | | | With a few tweaks we can compile this code with sandbox and enable testing of the USB storage layer. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Simply device finding code in usb_storageSimon Glass2015-04-181-19/+11
| | | | | | | | | | | | | | | | The for() loop is not needed since the value is immediately accessible. Use this instead to simplify the code. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Fix type problems in usb_stor_get_info()Simon Glass2015-04-181-1/+5
| | | | | | | | | | | | | | | | This function assumes that unsigned long is 32-bits wide, but it is not on 64-bit machines. Use the correct type, and add a few debug() lines also. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Move USB storage definitions to usb_defs.hSimon Glass2015-04-181-43/+2
| | | | | | | | | | | | | | | | These are better off in a header file so they can be used by other code (e.g. the sandbox USB storage emulator). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Add driver model support for hubsSimon Glass2015-04-181-4/+90
| | | | | | | | | | | | | | | | Adjust the existing hub code to support driver model, and add a USB driver for hubs. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Split hub detection into its own functionSimon Glass2015-04-181-16/+41
| | | | | | | | | | | | | | | | Split out the hub detection logic so it can be used by driver model. Also adjust the code to return errors correctly. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Convert core usb.c file to support driver modelSimon Glass2015-04-181-6/+25
| | | | | | | | | | | | | | | | Add the required #ifdefs and remove unwanted data structures so that the USB uclass will be able to use this file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Complete the splitting up of usb_new_device()Simon Glass2015-04-181-62/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This function now calls usb_setup_device() to set up the device and usb_hub_probe() to check if it is a hub. The XHCI special case is now a parameter to usb_setup_device(). The latter will be used by the USB uclass when it is added, since it does not rely on any CONFIGs or legacy data structures. Signed-off-by: Simon Glass <sjg@chromium.org> Bug-fixes for descriptor reading and usb_new_device() return value Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Marek Vasut <marex@denx.de> Tested-by: Tom Rini <trini@konsulko.com>
* | dm: usb: Split out more code from usb_new_device()Simon Glass2015-04-181-30/+42
| | | | | | | | | | | | | | | | Move the code that sets up the device with a new address into its own function, usb_prepare_device(). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Move descriptor setup code into its own functionSimon Glass2015-04-181-65/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usb_new_device() is far too long and does far too much. As a first step, move the code that does initial setup and reads a descriptor into its own function called usb_setup_descriptor(). For XHCI the init order is different - we set up the device but don't actually read the descriptor until after we set an address. Support this option as a parameter to usb_setup_descriptor(). Avoid changing this torturous code more than necessary to make it easy to review. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Refactor port resetsSimon Glass2015-04-182-16/+28
| | | | | | | | | | | | | | | | Move the port reset code into its own function. Rename usb_hub_reset() to indicate that is is now a legacy function. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Drop the legacy USB init sequenceSimon Glass2015-04-181-22/+4
| | | | | | | | | | | | | | This CONFIG is not used anywhere in U-Boot, so drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
* | dm: usb: Convert 'usb' command to support driver modelSimon Glass2015-04-181-2/+145
| | | | | | | | | | | | | | | | | | | | Adjust this command to work with the new driver model uclass. It needs to iterate through multiple independent controllers to find hubs, and work through their children recursively in a different way. Otherwise the functionality is much the same. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Adjust usb_alloc_new_device() to return an errorSimon Glass2015-04-182-25/+35
| | | | | | | | | | | | | | | | | | | | This function returns NULL on error at present. Adjust it so that we can return a real error, as is needed with driver model. Also improve the error handling in its caller, usb_hub_port_connect_change(), and adjust the code order to prepare for driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Adjust usb command to prepare for driver modelSimon Glass2015-04-181-26/+25
| | | | | | | | | | | | | | | | | | Use 'udev' instead of 'dev' in a few places, reserving 'dev' for driver model's struct udevice. Also adjust the code in a few minor ways to make it easier to plumb in driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | cros_ec: Remove unused cros_ec_board_init() functionSimon Glass2015-04-181-5/+0
| | | | | | | | | | | | Now that driver model handles cros_ec init, we can drop this special code. Signed-off-by: Simon Glass <sjg@chromium.org>
* | cros_ec: Drop unused CONFIG_DM_CROS_ECSimon Glass2015-04-181-29/+1
| | | | | | | | | | | | | | Since all supported boards enable this option now, we can remove it along with the old code. Signed-off-by: Simon Glass <sjg@chromium.org>
* | dm: x86: spi: Convert ICH SPI driver to driver modelSimon Glass2015-04-181-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | Convert this driver over to use driver model. Since all x86 platforms use it, move x86 to use driver model for SPI and SPI flash. Adjust all dependent code and remove the old x86 spi_init() function. Note that this does not make full use of the new PCI uclass as yet. We still scan the bus looking for the device. It should move to finding its details in the device tree. Signed-off-by: Simon Glass <sjg@chromium.org>
* | dm: eth: Add basic driver model support to Ethernet stackJoe Hershberger2015-04-181-0/+2
| | | | | | | | | | | | | | First just add support for MAC drivers. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | cmd: net: Clean up return codesJoe Hershberger2015-04-181-24/+21
| | | | | | | | | | | | | | | | The return codes in common/cmd_net.c had a number of inconsistencies. Update them to all use the enum from command.h Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | net: Remove the bd* parameter from net stack functionsJoe Hershberger2015-04-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This value is not used by the network stack and is available in the global data, so stop passing it around. For the one legacy function that still expects it (init op on old Ethernet drivers) pass in the global pointer version directly to avoid changing that interface. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reported-by: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> (Trival fix to remove an unneeded variable declaration in 4xx_enet.c)
* | common: Make sure arch-specific map_sysmem() is definedJoe Hershberger2015-04-1823-0/+23
| | | | | | | | | | | | | | | | | | | | | | In the case where the arch defines a custom map_sysmem(), make sure that including just mapmem.h is sufficient to have these functions as they are when the arch does not override it. Also split the non-arch specific functions out of common.h Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | dm: pci: Add a uclass for PCISimon Glass2015-04-162-3/+13
| | | | | | | | | | | | | | | | | | | | | | Add a uclass for PCI controllers and a generic one for PCI devices. Adjust the 'pci' command and the existing PCI support to work with this new uclass. Keep most of the compatibility code in a separate file so that it can be removed one day. TODO: Add more header file comments to the new parts of pci.h Signed-off-by: Simon Glass <sjg@chromium.org>
OpenPOWER on IntegriCloud