- Jan 30, 2015
-
-
Simon Glass authored
This is useful to check which uclass a device is in. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
Allow parent drivers to be called when a new child is bound to them. This allows a bus to set up information it needs for that child. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
In many cases the child platform data for a device's children is defined by the uclass rather than the individual devices. For example, a SPI bus needs to know the chip select and speed for each of its children. It makes sense to allow this information to be defined the SPI uclass rather than each individual driver. If the device provides a size value for its child platdata, then use it. Failng that, fall back to that provided by the uclass. Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
For buses it is common for parents to need to know the address of the child on the bus, the bus speed to use for that child, and other information. This can be provided in platform data attached to each child. Add driver model support for this, including auto-allocation which can be requested using a new property to specify the size of the data. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
When using allocated platform data, allocate it when we bind the device. This makes it possible to fill in this information before the device is probed. This fits with the platform data model (when not using device tree), since platform data exists at bind-time. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
Make the error handling more standard to make it easier to build on top of it. Also correct a bug in the error path where there is no parent. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
The root device corresponds to the root device tree node, so set this up. Also add a few notes to the documentation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Mention that the devices are probed ready for use. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
There is no point in running the tests if U-Boot cannot be built. Abort in this case. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Rather than assuming that the chip offset length is 1, allow it to be provided. This allows chips that don't use the default offset length to be used (at present they are only supported by the command line 'i2c' command which sets the offset length explicitly). Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
For boards which use multiple I2C devices, or for SOCs which support multiple boards, we might want to convert these to driver model at different times. At present this is difficult because we need to either use CONFIG_DM_I2C for a board or not. Add a compatibility layer which implements the old API, thus allowing a board to move to driver model for I2C without requiring that everything it uses is moved in the same commit. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a dm_ prefix to driver model I2C functions so that we can keep the old ones around. This is a little unfortunate, but on reflection it is too difficult to change the API. We can undo this rename when most boards and drivers are converted to use driver model for I2C. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Since GPIO support has now moved to the driver model uclass, we can drop this include. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Now that we support device tree GPIO bindings directly in the driver model GPIO uclass we can remove these functions. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
U-Boot now supports using GPIOs using bank phandles instead of global numbers. Update the exynos device tree files to use this. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Minkyu Kang <mk7.kang@samsung.com>
-
Simon Glass authored
This new method is much easier and matches the kernel. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These functions are going away, so use the new uclass support instead. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These functions are going away, so use the new uclass support instead. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These functions are going away, so use the new uclass support instead. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These functions serve no useful purpose, and conflict with the generic API. Drop them. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These functions are going away, so use the new uclass support instead. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These functions are going away, so use the new uclass support instead. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This deals with the polarity bit. It also changes the GPIO devices so that the correct device tree node is linked to each one. This allows us to use the new uclass phandle functionality to implement a proper GPIO binding. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This deals with the polarity bit and selecting the correct bank device given a GPIO number. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These functions are going away, so use the new uclass support instead. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a new 'demo light' command which uses GPIOs to control imaginary lights. Each light is assigned a bit number in the overall value. This provides an example driver for using the new GPIO API. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a deprecation notice to each function so that it is more obvious that we are moving GPIOs to driver model. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present U-Boot sort-of supports the standard way of reading GPIOs from device tree nodes, but the support is incomplete, a bit clunky and only works for GPIO bindings where #gpio-cells is 2. Add new functions to request GPIOs, taking full account of the device tree binding. These permit requesting a GPIO with a simple call like: gpio_request_by_name(dev, "cd-gpios", 0, &desc, GPIOD_IS_IN); This will request the GPIO, looking at the device's node which might be this, for example: cd-gpios = <&gpio TEGRA_GPIO(B, 3) GPIO_ACTIVE_LOW>; The GPIO will be set to input mode in this case and polarity will be honoured by the GPIO calls. It is also possible to request and free a list of GPIOs. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Only the GPIO driver knows about the full GPIO device tree binding used by a device. Add a method to allow the driver to provide this information to the uclass, including the GPIO offset within the device and flags such as the polarity. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
So far driver model's GPIO uclass just implements the existing GPIO API. This has some limitations: - it requires manual device tree munging to support GPIOs in device tree (fdtdec_get_gpio() and friends) - it does not understand polarity - it is somewhat slower since we must scan for the GPIO device each time - Global GPIO numbering can change if other GPIO drivers are probed - it requires extra steps to set the GPIO direction and value The new functions have a dm_ prefix where necessary to avoid name conflicts but we can remove that when it is no-longer needed. The new struct gpio_desc holds all required information about the GPIO. For now this is intended to be stored by the client requesting the GPIO, but in future it might be brought into the uclass in some way. With these changes the old GPIO API still works, and uses the driver model API underneath. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
For GPIOs and other functions we want to look up a phandle and then decode a list of arguments for that phandle. Each phandle can have a different number of arguments, specified by a property in the target node. This is the "#gpio-cells" property for GPIOs. Add a function to provide this feature, taken modified from Linux 3.18. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present the tegra GPIO driver does not fully support the existing device tree binding, but add the binding file to cover the existing partial support. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present the exynos GPIO driver does not fully support the existing device tree binding, but add the binding file to cover the existing partial support. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add the binding file that we are about to support. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
The common/board_r.c has show_model_r() to display the model name if the DTB has a "model" property. It sounds useful to have a similar function in common/board_f.c too because most of the boards show their board name before relocation. Instead of implementing the same function in both common/board_f.c and common/board_r.c, let's split it up into common/show_board_info.c. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
To store 10bit chip address, the variable type should not be uchar, but uint. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Heiko Schocher <hs@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko <Schocher<hs@denx.de>
-
Masahiro Yamada authored
Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
This commit adds on-chip I2C driver used on newer SoCs of Panasonic UniPhier platform. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-
Masahiro Yamada authored
This commit adds on-chip I2C driver used on some old Panasonic UniPhier SoCs. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org> Acked-by:
Heiko Schocher <hs@denx.de>
-