summaryrefslogtreecommitdiff
path: root/arch/sandbox
Commit message (Collapse)AuthorAgeLines
* sandbox: Fix building with LLVMTom Rini2016-03-08-1/+7
| | | | | | | | | | | | - The macro __BIGGEST_ALIGNMENT__ is gcc-specific. If it is not defined we'll just assume 16. This is correct for at least the common cases and LLVM does not provide an equivalent macro. - When linking U-Boot we're passing -T to the linker, and while gcc will just pass this along with LLVM we need to be specific. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: video: test: Add tests for the video uclassSimon Glass2016-01-20-0/+7
| | | | | | | | | Add tests that check that the video console is working correcty. Also check that text output produces the expected result. Test coverage includes character output, wrapping and scrolling. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de>
* dm: video: sandbox: Convert sandbox to use driver model for videoSimon Glass2016-01-20-0/+1
| | | | | | | | Now that driver model support is available, convert sandbox over to use it. We can remove a few of the special hooks that sandbox currently has. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de>
* eth-raw-os.c: Add cast to bind(2) callTom Rini2016-01-15-1/+2
| | | | | | | | | | | | | | With more recent gcc versions we otherwise get an error like: note: expected 'const struct sockaddr *' but argument is of type 'struct sockaddr_in *' and the common solution here is to cast, rather than re-work the code. Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* sandbox: eth-raw-os.c: Ensure that our interface name is not too longTom Rini2016-01-12-0/+4
| | | | | | | | | | | | Coverity notes that we do not ensure when we copy ifname we still have space left to ensure NULL termination. As cannot control the size of ifr_name we must make sure that our argument will not overflow the buffer. Reported-by: Coverity (CID 131094) Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: add sandbox timer to test.dtsThomas Chou2016-01-07-0/+5
| | | | | | | | Add missing sandbox timer to test.dts, so that test-dm works. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
* timer: sandbox: Use device tree to pass the clock frequencyBin Meng2015-12-01-0/+1
| | | | | | | | We should use device tree to pass the clock frequency of the timer instead of hardcoded in the driver codes. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* dm: test: usb: sandbox: Add keyboard tests for sandboxSimon Glass2015-11-19-0/+5
| | | | | | | Add a test that verifies that USB keyboards work correctly on sandbox. This verifies some additional parts of the USB stack. Signed-off-by: Simon Glass <sjg@chromium.org>
* usb: sandbox: Add a USB emulation driverSimon Glass2015-11-19-0/+2
| | | | | | | | | Add a simple USB keyboard driver for sandbox. It provides a function to 'load' it with input data, which it will then stream through to the normal U-Boot input subsystem. When the input data is exhausted, the keyboard stops providing data. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: test: usb: Add tests for the 'usb tree' commandSimon Glass2015-11-19-1/+13
| | | | | | | Add tests that this command produces the right output, even when a rescan results in a device disappearing from the bus. Signed-off-by: Simon Glass <sjg@chromium.org>
* test: Record and silence console in testsSimon Glass2015-11-19-0/+9
| | | | | | | | | When running sandbox tests, silence the console to avoid unwanted output. Also, record the console in case tests want to check it. The -v option can be used to enable stdout during tests. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Add a way to skip time delaysSimon Glass2015-11-19-1/+37
| | | | | | | | Some tests are slow due to delays which are unnecessary on sandbox. The worst offender is USB where we lose two seconds. Add a way to disable time delays. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: add a sandbox timer and basic testThomas Chou2015-11-19-0/+4
| | | | | | | | Add a sandbox timer which get time from host os and a basic test. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: cros_ec: Convert cros_ec keyboard driver to driver modelSimon Glass2015-11-19-0/+3
| | | | | | | | Adjust the cros_ec keyboard driver to support driver model. Make this the default for all Exynos boards so that those that use a keyboard will build correctly with this driver. Signed-off-by: Simon Glass <sjg@chromium.org>
* Various Makefiles: Add SPDX-License-Identifier tagsTom Rini2015-11-10-0/+4
| | | | | | | | | | | After consulting with some of the SPDX team, the conclusion is that Makefiles are worth adding SPDX-License-Identifier tags too, and most of ours have one. This adds tags to ones that lack them and converts a few that had full (or in one case, very partial) license blobs into the equivalent tag. Cc: Kate Stewart <kstewart@linuxfoundation.org> Signed-off-by: Tom Rini <trini@konsulko.com>
* sandbox: Use the generic bitops headersFabio Estevam2015-11-05-0/+4
| | | | | | | | | | The generic bitops headers are required when calling logarithmic functions, such as ilog2(). Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Jagan Teki <jteki@openedev.com>
* sandbox: add ADC driverPrzemyslaw Marczak2015-11-02-1/+7
| | | | | | | | | | | | This commit adds implementation of Sandbox ADC device emulation. The device provides: - single and multi-channel conversion - 4 channels with predefined conversion output data - 16-bit resolution Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* sandbox: Introduce dummy remoteproc nodesNishanth Menon2015-10-22-0/+13
| | | | | | | | | Introduce dummy devices for sandbox remoteproc device and enable it by default Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
* sandbox: Correct operaion of 'reset' commandSimon Glass2015-10-05-0/+4
| | | | | | | | | | | | | | Currently 'reset' only works with the test device tree. When run without a device tree, or with the normal device tree, the following error is displayed: Reset not supported on this platform Fix the driver and the standard device tree to avoid this. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
* dm: test: Add a new test case for dm_test_eth_rotateBin Meng2015-09-09-0/+7
| | | | | | | | | Add one more ethernet device node in the sandbox test device tree, with name 'sbe5'. This is to support a new test case for testing network device rotation. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* pinctrl: sandbox: add sandbox pinctrl driverMasahiro Yamada2015-08-31-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | This driver actually does nothing but test pinctrl uclass, and demonstrate how things work. To try this driver, uncomment /* #define DEBUG */ in the drivers/pinctrl/pinctrl-sandbox.c, and debug messages will be displayed. DRAM: 128 MiB sandbox pinmux: group = 1 (serial_a), function = 1 (serial) Using default environment In: cros-ec-keyb Out: lcd Err: lcd Net: Net Initialization Skipped eth0: eth@10002000, eth1: eth@80000000, eth5: eth@90000000 => i2c dev 0 Setting bus to 0 sandbox pinmux: group = 0 (i2c), function = 0 (i2c) sandbox pinconf: group = 0 (i2c), param = 3, arg = 1 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Simon Glass <sjg@chromium.org>
* dm: tpm: sandbox: Convert TPM driver to driver modelSimon Glass2015-08-31-0/+4
| | | | | | | | | Convert the sandbox TPM driver to use driver model. Add it to the device tree so that it can be found on start-up. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Christophe Ricard <christophe-h.ricard@st.com> Reviewed-by: Heiko Schocher <hs@denx.de>
* dm: test: Add a size to each reg propertySimon Glass2015-07-21-12/+15
| | | | | | | | Each sandbox peripheral should have a size as well as a base address. This is required for regmaps to work, so make this change for all nodes that have an address. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: test: Add a test for the system controller uclassSimon Glass2015-07-21-0/+18
| | | | | | | Add a test to confirm that we can access system controllers and find their driver data. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: test: Add a test for the LED uclassSimon Glass2015-07-21-0/+14
| | | | | | Add a test to confirm that we can adjust LEDs using the led_gpio driver. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: test: Add a test for the mmc uclassSimon Glass2015-07-21-0/+4
| | | | | | | Add a test to confirm that we can probe this device. Since there is no MMC stack support in sandbox at present, this is as far as the test goes. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: test: Add a test for the ram uclassSimon Glass2015-07-21-0/+4
| | | | | | | Add a test to confirm that we can probe this device and get information on the available RAM. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Use the reset driver to handle resetSimon Glass2015-07-21-8/+12
| | | | | | | Move sandbox over to use the reset uclass for reset, instead of a direct call to do_reset(). This allows us to add tests. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Support multiple reset typesSimon Glass2015-07-21-0/+7
| | | | | | | Add settings for the last reset generated, and the types of resets which are permitted. This will be used for testing. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: test: Add tests for the clk uclassSimon Glass2015-07-21-0/+15
| | | | | | Add tests of each API call using a sandbox clock device. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Add an implementation for cleanup_before_linux_select()Simon Glass2015-06-10-0/+5
| | | | | | Support this function so we can use Chrome OS verified boot with sandbox. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Compile test device tree when CONFIG_UT_DM is definedSimon Glass2015-06-04-1/+1
| | | | | | | | | | | A conflict between the PMIC and unit test work means that the sandbox test device tree file is no-longer built. Fix this. Series-to: u-boot Series-cc: joe, prz Change-Id: I6616428e05713e5306f848e7dd0a645dedf0934e Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: dts: Add the real-time-clock test nodes back inSimon Glass2015-06-04-0/+18
| | | | | | | | | These were lost when the PMIC series was applied. Add them back so that the tests pass again. Reported-by: Joe Hershberger <joe.hershberger@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* sandbox: dts: Sort the sandbox.dts fileSimon Glass2015-06-04-52/+54
| | | | | | Sort this by node name for easier browsing. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: dts: Sort the test.dts file a littleSimon Glass2015-06-04-24/+24
| | | | | | | | There are some core test nodes near the beginning of the file which should be grouped together. But for other nodes, let's sort them. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* sandbox: Tidy up terminal restoreSimon Glass2015-06-04-3/+7
| | | | | | | | | For some reason 'u-boot -D' does not restore the terminal correctly when the 'reset' command is used. Call the terminal restore function explicitly in this case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* sandbox: Use defconfig to enable featuresJoe Hershberger2015-05-21-15/+0
| | | | | | | Stop using the sandbox arch Kconfig to override defaults for config options. This is a bit of abuse and may be causing build problems. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* sandbox: dts: add sandbox_pmic.dtsi and include it to sandbox.dts and test.dtsPrzemyslaw Marczak2015-05-14-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds dtsi file for Sandbox PMIC. It fully describes the PMIC by: - i2c emul node - with a default settings of 16 registers - 2x buck regulator nodes - 2x ldo regulator nodes The default register settings are set with preprocessor macros: - VAL2REG(min[uV/uA], step[uV/uA], val[uV/uA]) - VAL2OMREG(mode id) Both defined in file: - include/dt-bindings/pmic/sandbox_pmic.h The Voltage ranges of each regulator can be found in: - include/power/sandbox_pmic.h The new file is included into: - sandbox.dts - test.dts Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested on sandbox: Tested-by: Simon Glass <sjg@chromium.org>
* test: dm: test.dts - move to sandbox dts directoryPrzemyslaw Marczak2015-05-14-0/+231
| | | | | | | | | | | | | | | | | The file test.dts from driver model test directory, was compiled by call dtc in script: test/dm/test-dm.sh. This doesn't allow for including of dtsi files and using of C preprocessor routines in this dts file. Since the mentioned script builds U-Boot before tests, then moving the test.dts file into sandbox dts directory is reasonable. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested on sandbox: Tested-by: Simon Glass <sjg@chromium.org>
* sandbox: Support wide-screen LCD emulationSimon Glass2015-05-14-2/+2
| | | | | | Increase the LCD size to 1366x768. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Add missing errno.h includes in a few filesSimon Glass2015-05-14-0/+1
| | | | | | These files use error numbering, so add the include. Signed-off-by: Simon Glass <sjg@chromium.org>
* sandbox: Correct error handling in state_read_file()Simon Glass2015-05-14-1/+1
| | | | | | | This function should return a useful error for U-Boot, rather than -1. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* sandbox: Don't try distro_bootcmd by defaultSjoerd Simons2015-05-06-3/+18
| | | | | | | | | | | | For the distro_bootcmds to succeed on the sandbox a bit of setup is required (e.g. network configured or host image bound), so running them by default isn't that useful. Add a -b/--boot command to the sandbox binary, which triggers the distro_bootcmds to run after the other command-line commands. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org>
* dm: sandbox: dts: Add a real-time clock attached to I2CSimon Glass2015-05-05-1/+11
| | | | | | | Add an emulated RTC device for sandbox, so that the 'date' command can be used. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: rtc: sandbox: Add an emulated I2C RTC deviceSimon Glass2015-05-05-0/+49
| | | | | | | | | | | | 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>
* dm: sandbox: Add os_localtime() to obtain the system timeSimon Glass2015-05-05-0/+18
| | | | | | Add a function to read the system time into U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: i2c: Add an explicit test mode to the sandbox I2C driverSimon Glass2015-05-05-0/+10
| | | | | | | | | 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>
* sandbox: eth: Add a function to skip ping timeoutsJoe Hershberger2015-05-05-0/+2
| | | | | | | | | 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>
* sandbox: Add test function to advance timeJoe Hershberger2015-05-05-5/+8
| | | | | | | | | | Add a function that maintains an offset to include in the system timer values returned from the lib/time.c APIs. This will allow timeouts to be skipped instantly in tests Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* fdt: sandbox: Move setup code from board_f to fdtdecSimon Glass2015-04-23-0/+49
| | | | | | | We want to be able to set up the device tree in SPL, so move this code to a common place. Signed-off-by: Simon Glass <sjg@chromium.org>