- Jan 30, 2015
-
-
Ruchika Gupta authored
Modify rsa_verify to use the rsa driver of DM library .The tools will continue to use the same RSA sw library. CONFIG_RSA is now dependent on CONFIG_DM. All configurations which enable FIT based signatures have been modified to enable CONFIG_DM by default. Signed-off-by:
Ruchika Gupta <ruchika.gupta@freescale.com> CC: Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org>
-
Ruchika Gupta authored
For the platforms which use,CONFIG_FIT_SIGNATURE, the required configs are moved to the platform's defconfig file. Selecting CONFIG_FIT_SIGNATURE using defconfig automatically resolves the dependencies for signature verification. The RSA library gets automatically selected and user does not have to define CONFIG_RSA manually. Signed-off-by:
Ruchika Gupta <ruchika.gupta@freescale.com> CC: Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org>
-
Ruchika Gupta authored
Add a new rsa uclass for performing modular exponentiation and implement the software driver basing on this uclass. Signed-off-by:
Ruchika Gupta <ruchika.gupta@freescale.com> CC: Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org>
-
Ruchika Gupta authored
For FIT signature based approach to work, RSA library needs to be selected. The FIT_SIGNATURE option in Kconfig is modified to automatically select RSA. Selecting RSA compiles the RSA library required for image verification. Signed-off-by:
Ruchika Gupta <ruchika.gupta@freescale.com> CC: Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org>
-
Ruchika Gupta authored
Public exponentiation which is required in rsa verify functionality is tightly integrated with verification code in rsa_verify.c. The patch splits the file into twp separating the modular exponentiation. 1. rsa-verify.c - The file parses device tree keys node to fill a keyprop structure. The keyprop structure can then be converted to implementation specific format. (struct rsa_pub_key for sw implementation) - The parsed device tree node is then passed to a generic rsa_mod_exp function. 2. rsa-mod-exp.c Move the software specific functions related to modular exponentiation from rsa-verify.c to this file. Signed-off-by:
Ruchika Gupta <ruchika.gupta@freescale.com> CC: Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org>
-
Martin Dorwig authored
this is an atempt to make the export of functions typesafe. I replaced the jumptable void ** by a struct (jt_funcs) with function pointers. The EXPORT_FUNC macro now has 3 fixed parameters and one variadic parameter The first is the name of the exported function, the rest of the parameters are used to format a functionpointer in the jumptable, the EXPORT_FUNC macros are expanded three times, 1. to declare the members of the struct 2. to initialize the structmember pointers 3. to call the functions in stubs.c Signed-off-by:
Martin Dorwig <dorwig@tetronik.com> Acked-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Simon Glass <sjg@chromium.org> (resending to the list since my tweaks are not quite trivial)
-
Simon Glass authored
Now that we have new bus features, update README.txt and the SPI docs to explain these. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This is no-longer needed since all platforms use SPI for cros_ec. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
I2C is now deprecated on ARM platforms and there are no devices that use it with the v3 protocol. We can't require v3 support if we want to support I2C. Adjust the error handling to suit. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We don't want to bind devices which should never be used. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
This has moved to driver model so we don't need the fdtdec support. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Minkyu Kang <mk7.kang@samsung.com>
-
Simon Glass authored
These have moved to driver model so we don't need the fdtdec support. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present we go through various contortions to store the I2C's chip address in its private data. This only exists when the chip is active so must be set up when it is probed. Until the device is probed we don't actually record what address it will appear on. However, now that we can support per-child platform data, we can use that instead. This allows us to set up the address when the child is bound, and avoid the messy contortions. Unfortunately this is a fairly large change and it seems to be difficult to break it down further. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
At present we go through various contortions to store the SPI slave's chip select in its private data. This only exists when the slave is active so must be set up when it is probed. Until the device is probed we don't actually know what chip select it will appear on. However, now that we can support per-child platform data, we can use that instead. This allows us to set up the chip select when the child is bound, and avoid the messy contortions. Unfortunately this is a fairly large change and it seems to be difficult to break it down further. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present we use struct spi_slave as our device pointer in a lot of places to avoid changing the old SPI API. At some point this will go away. But for now, it is better if the SPI uclass sets up this pointer, rather than relying on passing it into the device when it is probed. We can use the new uclass child_pre_probe() method to do this. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Some buses need to set up their devices before they can be used. This setup may well be common to all buses in a particular uclass. Support a common pre-probe method for the uclass, called before any bus devices are probed. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
Use a single exit point when we have an error and add debugging there. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
For buses, after a child is bound, allow the uclass to perform some processing. This can be used to figure out the address of the child (e.g. the chip select for SPI slaves) so that it is ready to be probed. This avoids bus drivers having to repeat the same process, which really should be done by the uclass, since it is common. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
This is common to all SPI drivers and specifies a structure used by the uclass. It makes more sense to define it in the uclass. Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
In many cases the per-child private data for a device's children is defined by the uclass rather than the individual driver. For example, a SPI bus needs to store information about each of its children, but all SPI drivers store the same information. It makes sense to allow the uclass to define this data. If the driver provides a size value for its per-child private data, then use it. Failng that, fall back to that provided by the uclass. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Simon Glass authored
At present we try to use the 'reg' property and device tree aliases to give devices a sequence number. The 'reg' property is often actually a memory address, so the sequence numbers thus-obtained are not useful. It would be better if the devices were just sequentially numbered in that case. In fact neither I2C nor SPI use this feature, so drop it. Some devices need us to look up an alias to number them within the uclass. Add a flag to control this, so it is not done unless it is needed. Adjust the tests to test this new behaviour. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
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>
-