- May 06, 2015
-
-
Hans de Goede authored
Fix taken from the Linux kernel ohci driver. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
Non static function and variable declarations do not belong in a .h file. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
This is a preparation patch for adding driver-model support. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
This is a preparation patch for adding driver-model support. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
This is a preparation patch for adding driver-model support. Note we do keep ohci_dev as a separate struct so that we can later add support for interrupt-queues which requires allocating a separate ohci_dev per interrupt-queue. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
This is a preparation patch for adding driver-model support. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
devgone is never assigned a value, so the one comparisson reading it will never be true, and devgone can be completely removed. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
This fixes descriptor reading of lowspeed devices through ohci not working. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de>
-
Hans de Goede authored
Without this usb-1 device descriptors do not get read properly. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Hans de Goede authored
The ehci driver model code for finding the first upstream usb-2 hub before this commit has a number of issues: 1) "if (!ttdev->speed != USB_SPEED_HIGH)" does not work because the '!' takes presedence over the '!=' this should simply be "if (ttdev->speed == USB_SPEED_HIGH)" 2) It makes ttdev point to the first upstream usb-2 hub, but ttdev should point to the last usb-1 device before the first usb-2 hub (when going upstream from the device), as ttdev is used to find the port of the first usb-2 hub to which the the last usb-1 device is connected. 3) parent_devnum however should be set to the devnum of the first usb-2 hub, so we need to keep pointers around to both usb_device structs. To complicate things further during enumeration usb_device.dev will point to the parent udevice, where as during normal use it will point to the actual udevice, we must handle both cases correctly. This commit fixes all this making usb-1 devices attached to usb-2 hubs, including usb-1 devices attached to usb-1 hubs attached to usb-2 hubs, work. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Hans de Goede authored
Use usb_get_bus in dm ehci code rather then re-implementing it. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Hans de Goede authored
Currently we copy over a number of usb_device values stored in the on stack struct usb_device probed in usb_scan_device() to the final driver-model managed struct usb_device in usb_child_pre_probe() through usb_device_platdata, and then call usb_select_config() to fill in the rest. There are 3 problems with this approach: 1) It does not fill in enough fields before calling usb_select_config(), specifically it does not fill in ep0's maxpacketsize causing a div by zero exception in the ehci driver. 2) It unnecessarily redoes a number of usb requests making usb probing slower 3) Calling usb_select_config() a second time fails on some usb-1 devices plugged into usb-2 hubs, causing u-boot to not recognize these devices. This commit fixes these issues by removing (*) the usb_select_config() call from usb_child_pre_probe(), and instead of copying over things field by field through usb_device_platdata, store a pointer to the in stack usb_device (which is still valid when usb_child_pre_probe() gets called) and copy over the entire struct. *) Except for devices which are explictly instantiated through device-tree rather then discovered through usb_scan_device() such as emulated usb devices in the sandbox. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Hans de Goede authored
Make usb_get_bus easier to use for callers, by directly returning the bus rather then returning it via a pass-by-ref argument. This also removes the error checking from the current callers, as we already have an assert() for bus not being NULL in usb_get_bus(). Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Hans de Goede authored
Do not use bus->seq before device_probe(bus), as bus->seq is not set until after the device_probe() call. This fixes u-boot printing: "USB-1: " for each bus it scans. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Axel Lin authored
dm_gpio_set_dir_flags() will also set gpio output value when switching to gpio output. So it's not necessary to call dm_gpio_set_value() after dm_gpio_set_dir_flags() call. Signed-off-by:
Axel Lin <axel.lin@ingics.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add some simple tests to verify that the RTC uclass works correctly in U-Boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Sort these aliases to avoid confusion as to what is present. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Joe Hershberger <joe.hershberger@ni.com>
-
Simon Glass authored
Enable real-time-clock support in sandbox. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add an emulated RTC device for sandbox, so that the 'date' command can be used. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
When setting the date, support driver model RTC also. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Joe Hershberger <joe.hershberger@ni.com>
-
Simon Glass authored
Adjust this command so that it supports using driver model for I2C, i.e. CONFIG_DM_I2C. This will permit it to be used in sandbox also. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a driver which communicates with the sandbox I2C emulation RTC device and permits it to be used in U-Boot. This driver is very simple - it just reads and writes selected I2C registers in the device. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a sandbox I2C emulation device which emulates a real-time clock. The clock works off an offset from the current system time, and supports setting and getting the clock, as well as access to byte-width regisers in the RTC. It does not support changing the system time. This device can be used for testing the 'date' command on sandbox, as well as the RTC uclass. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a uclass for real-time clocks which support getting the current time, setting it and resetting the chip to a known-working state. Some RTCs have additional registers which can be used to store settings, so also provide an interface to these. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a function to read the system time into U-Boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move the definition of struct rtc_time into a separate file so that sandbox can include it without requiring common.h and the like. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We don't need to use u8, and if we avoid it, it isn't so much of a problem that rtc.h includes this header. With this change we can include rtc.h from sandbox files. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Most callers unpack the structure and pass each member. It seems better to pass the whole structure instead, as with the C library. Also add an rtc_ prefix. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
Rename this function so that it is clear that it is provided by the RTC. Also return an error when it cannot function as expected. This is unlikely to occur since it works for dates since 1752 and many RTCs do not support such old dates. Still it is better to be accurate. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
Change this function name to something more descriptive. Also return a failure code if it cannot calculate a correct value. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
Adjust the printf() string to avoid a warning on sandbox. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present this driver has a few test features. They are needed for running the driver model unit tests but are confusing and unnecessary if using sandbox at the command line. Add a flag to enable the test mode, and don't enable it by default. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add driver model versions of the legacy functions to read and write a single byte register. These are a useful shortcut in many cases. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
Print a debug() message with the I2C speed is exceeded. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
This comment should refer to SPI, not serial. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
-
Simon Glass authored
With several chips using the SPI protocol it seems better to put the single duplex functionality in the EC rather than the SPI driver. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
When starting up, show the protocol version that has been negotiated with the EC. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Only set the speed if it has changed from last time. Since the speed will be 0 when the device is probed it will always be changed on the first transfer after the device is probed. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Joe Hershberger authored
Indicate to the emulated sandbox Ethernet driver when we expect a timeout and tell it to leap forward. Signed-off-by:
Joe Hershberger <joe.hershberger@ni.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Joe Hershberger authored
When called, the next call to receive will trigger a 10-second leap forward in time to avoid waiting for time to pass when tests are evaluating timeout behavior. Signed-off-by:
Joe Hershberger <joe.hershberger@ni.com> Acked-by:
Simon Glass <sjg@chromium.org>
-