summaryrefslogtreecommitdiff
path: root/drivers/misc
AgeCommit message (Collapse)Author
2015-01-05i2c_eeprom: include <linux/err.h> to fix build errorMasahiro Yamada
drivers/misc/i2c_eeprom.c fails to build unless CONFIG_FIT_SIGNATURE is defined. CC drivers/misc/i2c_eeprom.o drivers/misc/i2c_eeprom.c: In function 'i2c_eeprom_read': drivers/misc/i2c_eeprom.c:15:10: error: 'ENODEV' undeclared (first use in this function) drivers/misc/i2c_eeprom.c:15:10: note: each undeclared identifier is reported only once for each function it appears in drivers/misc/i2c_eeprom.c: In function 'i2c_eeprom_write': drivers/misc/i2c_eeprom.c:21:10: error: 'ENODEV' undeclared (first use in this function) drivers/misc/i2c_eeprom.c:22:1: warning: control reaches end of non-void function [-Wreturn-type] drivers/misc/i2c_eeprom.c: In function 'i2c_eeprom_read': drivers/misc/i2c_eeprom.c:16:1: warning: control reaches end of non-void function [-Wreturn-type] make[2]: *** [drivers/misc/i2c_eeprom.o] Error 1 make[1]: *** [drivers/misc] Error 2 make: *** [drivers] Error 2 By the way, Sandbox (enabling CONFIG_FIT_SIGNATURE) is luckily working depending on it. Sandbox includes include/asm-generic/errno.h from include/errno.h from include/u-boot/rsa-checksum.h from include/image.h from include/common.h from drivers/misc/i2c_eeprom.c Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-12-13x86: Add a simple superio driver for SMSC LPC47MBin Meng
On most x86 boards, the legacy serial ports (io address 0x3f8/0x2f8) are provided by a superio chip connected to the LPC bus. We must program the superio chip so that serial ports are available for us. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-12-11dm: Add a simple EEPROM driverSimon Glass
There seem to be a few EEPROM drivers around - perhaps we should have a single standard one? This simple driver is used for sandbox testing, but could be pressed into more active service. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2014-12-11dm: i2c: Add an I2C EEPROM simulatorSimon Glass
To enable testing of I2C, add a simple I2C EEPROM simulator for sandbox. It supports reading and writing from a small data store. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2014-12-01mxc_ocotp: Do not disable the OCOTP clock after every accessFabio Estevam
Leave the OCOTP turned on, so that we subsequent access do not fail. After enabling the thermal driver on a mx6sxsabresd board: U-Boot 2015.01-rc1-18267-g99d4189-dirty (Nov 24 2014 - 12:59:01) CPU: Freescale i.MX6SX rev1.0 at 792 MHz CPU: Temperature 48 C Reset cause: POR Board: MX6SX SABRE SDB I2C: ready DRAM: 1 GiB PMIC: PFUZE100 ID=0x10 MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 00:01.0 - 16c3:abcd - Bridge device 01:00.0 - 8086:08b1 - Network controller In: serial Out: serial Err: serial Net: (hang) As the thermal driver accesses the ocotp registers, its clock will be disabled afterwards. Then when the MAC address is read (also from ocotp registers) it will cause a hang. Do not disable the ocotp clock to prevent this problem. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Benoît Thébaudeau <[email protected]>
2014-12-01mxs_ocotp: clear the error flag before initiating write operationHector Palacios
A previous operation may have set the error flag, which must be cleared before a new write operation can be issued. Signed-off-by: Hector Palacios <[email protected]>
2014-12-01mxs_ocotp: check for errors from the OTP controller after writingHector Palacios
The write operation may fail when trying to write to a locked area. In this case the ERROR bit is set in the CTRL register. Check for that condition and return an error. Signed-off-by: Hector Palacios <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2014-12-01mxs_ocotp: prevent error path from returning successHector Palacios
The code may goto 'fail' upon error with 'ret' variable set to an error code, but this variable was being overwritten by a final preparation function to restore the HCLK, so success was (in general) returned even after an error was hit previously. With this change, the function may now return success even if the final preparation function fails, but it's probably enough to print a message because (if successful) the real programming of the fuses has already completed. Signed-off-by: Hector Palacios <[email protected]>
2014-11-24Merge git://git.denx.de/u-boot-dmTom Rini
Conflicts: drivers/serial/serial-uclass.c Signed-off-by: Tom Rini <[email protected]>
2014-11-23linux/kernel.h: sync min, max, min3, max3 macros with LinuxMasahiro Yamada
U-Boot has never cared about the type when we get max/min of two values, but Linux Kernel does. This commit gets min, max, min3, max3 macros synced with the kernel introducing type checks. Many of references of those macros must be fixed to suppress warnings. We have two options: - Use min, max, min3, max3 only when the arguments have the same type (or add casts to the arguments) - Use min_t/max_t instead with the appropriate type for the first argument Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Pavel Machek <[email protected]> Acked-by: Lukasz Majewski <[email protected]> Tested-by: Lukasz Majewski <[email protected]> [trini: Fixup arch/blackfin/lib/string.c] Signed-off-by: Tom Rini <[email protected]>
2014-11-22cros_ec: Fix uninitialised variable in cros_ec.cSimon Glass
This fixes this cppcheck report: [drivers/misc/cros_ec.c:704]: (error) Uninitialized variable: req Signed-off-by: Simon Glass <[email protected]> Reported-by: Wolfgang Denk <[email protected]>
2014-11-20replace DIV_ROUND with DIV_ROUND_CLOSESTMasahiro Yamada
The Linux-compatible macro DIV_ROUND_CLOSEST is a bit more flexible and safer than DIV_ROUND. For example, foo = DIV_ROUND_CLOSEST(x, y++) works expectedly, but foo = DIV_ROUND(x, y++) does not. (y is incremented twice.) Signed-off-by: Masahiro Yamada <[email protected]>
2014-10-23Merge git://git.denx.de/u-boot-x86Tom Rini
2014-10-22x86: cros_ec: Update LPC driver for new cros_ec headerSimon Glass
There was a minor rename of one of the defines, so update the driver. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: cros_ec: Move cros_ec_spi to driver modelSimon Glass
Adjust this driver to use driver model and move smdk5420 boards over to use it. Acked-by: Jagannadha Sutradharudu Teki <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: sandbox: cros_ec: Move sandbox cros_ec to driver moduleSimon Glass
Adjust the sandbox cros_ec emulation driver to work with driver model, and switch over to driver model for sandbox cros_ec. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: cros_ec: Add support for driver modelSimon Glass
Add support for driver model if enabled. This involves minimal changes to the code, mostly just plumbing around the edges. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-09-24kconfig: add blank Kconfig filesMasahiro Yamada
This would be useful to start moving various config options. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2014-08-06cros_ec: Fix two bugs in the SPI implementationSimon Glass
An incorrect message version is passed to the EC in some cases and the parameters of one function are switched. Fix these problems. Signed-off-by: Simon Glass <[email protected]> Tested-by: Ajay Kumar <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-07-23stdio: Pass device pointer to stdio methodsSimon Glass
At present stdio device functions do not get any clue as to which stdio device is being acted on. Some implementations go to great lengths to work around this, such as defining a whole separate set of functions for each possible device. For driver model we need to associate a stdio_dev with a device. It doesn't seem possible to continue with this work-around approach. Instead, add a stdio_dev pointer to each of the stdio member functions. Note: The serial drivers have the same problem, but it is not strictly necessary to fix that to get driver model running. Also, if we convert serial over to driver model the problem will go away. Code size increases by 244 bytes for Thumb2 and 428 for PowerPC. 22: stdio: Pass device pointer to stdio methods arm: (for 2/2 boards) all +244.0 bss -4.0 text +248.0 powerpc: (for 1/1 boards) all +428.0 text +428.0 Signed-off-by: Simon Glass <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2014-06-19includes: move openssl headers to include/u-bootJeroen Hofstee
commit 18b06652cd "tools: include u-boot version of sha256.h" unconditionally forced the sha256.h from u-boot to be used for tools instead of the host version. This is fragile though as it will also include the host version. Therefore move it to include/u-boot to join u-boot/md5.h etc which were renamed for the same reason. cc: Simon Glass <[email protected]> Signed-off-by: Jeroen Hofstee <[email protected]>
2014-04-22driver/fsl_ifc: Add a function to finalize CS0 address bindingYork Sun
For fsl-lsch3 NOR flash boot, IFC CS0 needs to be binded with address within 32-bit at fist. After u-boot relocates to DDR, CS0 can be binded to higher address to support large space. Signed-off-by: York Sun <[email protected]> CC: Prabhakar Kushwaha <[email protected]>
2014-04-04Merge branch 'master' of git://git.denx.de/u-boot-arm into masterStefano Babic
Conflicts: arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg Signed-off-by: Stefano Babic <[email protected]>
2014-03-31ARM: mxs: Add OCOTP driverMarek Vasut
Add yet another OCOTP driver for this i.MX family. This time, it's a driver for the OCOTP variant found in the i.MX23 and i.MX28. This version of OCOTP is too different from the i.MX6 one that I could not use the mxc_ocotp.c driver without making it into a big pile of #ifdef . This driver implements the regular fuse command interface, but due to the IP blocks' limitation, we support only READ and PROG functions. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]>
2014-03-17cros_ec: Implement I2C pass-throughSimon Glass
The Chrome EC has a feature where you can access its I2C buses through a pass-through arrangement. Add a command to support this, and export the function for it also. Reviewed-by: Vadim Bendebury <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: sandbox: Add Chrome OS EC emulationSimon Glass
Add a simple emulation of the Chrome OS EC for sandbox, so that it can perform various EC tasks such as keyboard handling. Reviewed-by: Vadim Bendebury <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: Correct comparison between signed and unsigned numbersSimon Glass
Due to signed/unsigned comparison, '< sizeof(struct)' does not do the right thing, since if ec_command() returns a -ve number we will consider this be success. Adjust all comparisons to avoid this problem. This error was found with sandbox, which gives a segfault in this case. On ARM we may instead silently fail. We should also consider turning on -Wsign-compare to catch this sort of thing in future. Reviewed-by: Andrew Chew <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Vadim Bendebury <[email protected]> Tested-by: Andrew Chew <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Jimmy Zhang <[email protected]>
2014-03-17cros_ec: spi: Add support for EC protocol version 3Randall Spangler
Protocol version 3 will be attempted first; if the EC doesn't support it, u-boot will fall back to the old protocol version (2). Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: Add base support for protocol v3Simon Glass
Protocol v2 was shipped with snow, link and spring. Protocol v3 is for pit and is targetted at SPI operation. Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: Clean up multiple EC protocol supportRandall Spangler
Version 1 protocols (without command version) were already no longer supported in cros_ec.c. This removes some dead code from the cros_ec_i2c driver. Version 2 protcols (with command version) are now called protocol_version=2, instead of cmd_version_is_supported=1. A subsequent change will introduce protocol version 3 for SPI. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: Sync up with latest Chrome OS EC versionSimon Glass
The EC messages have been expanded and some parts have been renamed. Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: Move #ifdef to permit flash region accessSimon Glass
Flash region access is not tied to having commands, so adjust the #ifdef to reflect this. Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: Drop old EC version support from EC driverVadim Bendebury
There is no need to support old style EC moving forward. Ultimately we should get rid of the check_version() API. For now just return error in case the EC does not seem to support the new API. Reviewed-by: Vadim Bendebury <[email protected]> Tested-by: Vadim Bendebury <[email protected]> Signed-off-by: Vadim Bendebury <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-03-17cros_ec: Add a function for decoding the Chrome OS EC flashmapSimon Glass
In order to talk to the EC properly we need to be able to understand the layout of its internal flash memory. This permits emulation of the EC for sandbox, and also software update in a system with a real EC. Signed-off-by: Simon Glass <[email protected]>
2014-01-06Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'Albert ARIBAUD
Conflicts: include/micrel.h The conflict above was trivial, caused by four lines being added in both branches with different whitepace.
2014-01-03arm: mx5: Add fuse supply enable in fsl_iimSergey Alyoshin
Enable fuse supply before fuse programming and disable after. Signed-off-by: Sergey Alyoshin <[email protected]> Reviewed-by: Benoît Thébaudeau <[email protected]>
2013-12-09spi_flash: Add spi_flash_probe_fdt() to locate SPI by FDT nodeSimon Glass
This allows us to put the SPI flash chip inside the SPI interface node, with U-Boot finding the correct bus and chip select automatically. Signed-off-by: Simon Glass <[email protected]>
2013-12-02Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini
2013-11-25Driver/IFC: Move Freescale IFC driver to a common driverYork Sun
Freescale IFC controller has been used for mpc8xxx. It will be used for ARM-based SoC as well. This patch moves the driver to driver/misc and fix the header file includes. Signed-off-by: York Sun <[email protected]>
2013-11-25gpio_led: add support for inverted polarityIgor Grinberg
Some GPIO connected LEDs have inverted polarity. Introduce new config option: CONFIG_GPIO_LED_INVERTED_TABLE for the specifying the inverted GPIO LEDs list and add support for this in the gpio_led driver. Signed-off-by: Igor Grinberg <[email protected]> Tested-by: Ilya Ledvich <[email protected]>
2013-11-25gpio_led: check gpio_request() return valueIgor Grinberg
Add a check for the gpio_request() function return value and do not try to configure the GPIO if the gpio_request() call fails. Also, print an error message indicating the gpio_request() has failed. Signed-off-by: Igor Grinberg <[email protected]> Tested-by: Ilya Ledvich <[email protected]>
2013-10-31drivers: convert makefiles to Kbuild styleMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2013-10-14Coding Style cleanup: remove trailing white spaceWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-06-26cros: add LPC support for cros_ecHung-ying Tyan
This patch adds LPC support for carrying out the cros_ec protocol. Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Hung-ying Tyan <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2013-06-26cros: exynos: add SPI support for cros_ecHung-ying Tyan
This patch adds SPI support for carrying out the cros_ec protocol. Signed-off-by: Hung-ying Tyan <[email protected]> Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-06-26cros: add I2C support for cros_ecHung-ying Tyan
This patch adds I2C support for carrying out the cros_ec protocol. Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Hung-ying Tyan <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2013-06-26cros: add cros_ec driverHung-ying Tyan
This patch adds the cros_ec driver that implements the protocol for communicating with Google's ChromeOS embedded controller. Signed-off-by: Bernie Thompson <[email protected]> Signed-off-by: Bill Richardson <[email protected]> Signed-off-by: Che-Liang Chiou <[email protected]> Signed-off-by: Doug Anderson <[email protected]> Signed-off-by: Gabe Black <[email protected]> Signed-off-by: Hung-ying Tyan <[email protected]> Signed-off-by: Louis Yung-Chieh Lo <[email protected]> Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Vincent Palatin <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2013-05-11Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'Albert ARIBAUD
2013-05-10twl4030: make twl4030_i2c_write_u8 prototype consistentNishanth Menon
u-boot standard i2c register write prototype is i2c_reg_write(u8 addr, u8 reg, u8 val) twl4030_i2c_write_u8(u8 addr, u8 val, u8 reg) does not provide consistency, so switch the prototype to be consistent with rest of u-boot i2c operations: twl4030_i2c_write_u8(u8 addr, u8 reg, u8 val) Signed-off-by: Nishanth Menon <[email protected]>