summaryrefslogtreecommitdiff
path: root/drivers/misc
AgeCommit message (Collapse)Author
2017-11-29dm: misc: bind STM32F4/F7 clock from rcc MFD driverPatrice Chotard
Like STM32H7, now STM32F4/F7 clock drivers are binded by MFD stm32_rcc driver. This also allows to add reset support to STM32F4/F7 SoCs family. As Reset driver is not part of SPL supported drivers, don't bind it in case of SPL to avoid that stm32_rcc_bind() returns an error. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Vikas Manocha <[email protected]>
2017-11-06stm32: fix STMicroelectronics copyrightPatrice Chotard
Uniformize STMicroelectronics copyrights headers for STM32 related code. Signed-off-by: Patrice Chotard <[email protected]>
2017-10-04treewide: replace with error() with pr_err()Masahiro Yamada
U-Boot widely uses error() as a bit noisier variant of printf(). This macro causes name conflict with the following line in include/linux/compiler-gcc.h: # define __compiletime_error(message) __attribute__((error(message))) This prevents us from using __compiletime_error(), and makes it difficult to fully sync BUILD_BUG macros with Linux. (Notice Linux's BUILD_BUG_ON_MSG is implemented by using compiletime_assert().) Let's convert error() into now treewide-available pr_err(). Done with the help of Coccinelle, excluing tools/ directory. The semantic patch I used is as follows: // <smpl> @@@@ -error +pr_err (...) // </smpl> Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]> [trini: Re-run Coccinelle] Signed-off-by: Tom Rini <[email protected]>
2017-09-22dm: misc: add stm32 rcc driverChristophe Kerello
This patch adds the support of reset and clock control block (rcc) found on STM32 SoCs. This driver is similar to a MFD linux driver. This driver supports currently STM32H7 only. STM32F4 and STM32F7 will be migrated to this rcc MFD driver in the future to uniformize all STM32 SoCs already upstreamed. Signed-off-by: Christophe Kerello <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Vikas Manocha <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-09-18rockchip: efuse: change to use dev_read_addr_ptrPhilipp Tomsich
With the dev_read_addr_ptr function available, we can change the efuse driver to use it (and eliminate the explicit type-cast). Signed-off-by: Philipp Tomsich <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-09-12misc: i2c_eeprom: Add compatible for AT24MAC402Wenyou Yang
Add the new compatible "atmel,24mac402" to accommodate AT24MAC402. The AT24MAC402 is a 2K Serial EEPROM and the 2-Kbit memory array is internally organized as 16 pages of 16 bytes of EEPROM each. The 48-bit EUI address in the AT24MAC402 are located in the extended memory block. Signed-off-by: Wenyou Yang <[email protected]>
2017-09-12misc: i2c_eeprom: Add compatible for 24AA02E48Wenyou Yang
Add the new compatible "microchip,24aa02e48" to accommodate 24AA02E48, the 24AA02E48 is a 2K I2C Serial EEPROM with pre-programmed globally unique, 48-bit node address, and 8-byte page size. Signed-off-by: Wenyou Yang <[email protected]>
2017-09-12Merge git://git.denx.de/u-boot-dmTom Rini
2017-09-11dm: core: Add ofnode_for_each_subnode()Simon Glass
Add a convenience macro to iterate over subnodes of a node. Make use of this where appropriate in the code. Signed-off-by: Simon Glass <[email protected]>
2017-09-11misc: Kconfig: Add SPL_I2C_EEPROM optionWenyou Yang
This option is an SPL-variant of the I2C_EEPROM option to enable the driver for generic I2C-attached EEPROMs for SPL. Signed-off-by: Wenyou Yang <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-09-02Kconfig: Add EEPROM options to Kconfig when I2C_EEPROM is setAdam Ford
Add the following options to drivers/misc/Kconfig: SYS_I2C_EEPROM_ADDR SYS_I2C_EEPROM_BUS SYS_EEPROM_SIZE SYS_EEPROM_PAGE_WRITE_BITS SYS_EEPROM_PAGE_WRITE_DELAY_MS SYS_I2C_EEPROM_ADDR_LEN SYS_I2C_EEPROM_ADDR_OVERFLOW This does not migrate any boards, but provides a foundations for those who want/need these options Signed-off-by: Adam Ford <[email protected]> [trini: Migrate uniphier] Signed-off-by: Tom Rini <[email protected]>
2017-07-27rockchip: efuse: dm: change to use dev_read_addrPhilipp Tomsich
This changes the rockchip-efuse driver to use dev_read_addr instead of devfdt_get_addr. Signed-off-by: Philipp Tomsich <[email protected]> Acked-by: Philipp Tomsich <[email protected]>
2017-07-18Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2017-07-12imx: reorganize IMX code as other SOCsStefano Babic
Change is consistent with other SOCs and it is in preparation for adding SOMs. SOC's related files are moved from cpu/ to mach-imx/<SOC>. This change is also coherent with the structure in kernel. Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]> CC: Akshay Bhat <[email protected]> CC: Ken Lin <[email protected]> CC: Marek Vasut <[email protected]> CC: Heiko Schocher <[email protected]> CC: "Sébastien Szymanski" <[email protected]> CC: Christian Gmeiner <[email protected]> CC: Stefan Roese <[email protected]> CC: Patrick Bruenn <[email protected]> CC: Troy Kisky <[email protected]> CC: Nikita Kiryanov <[email protected]> CC: Otavio Salvador <[email protected]> CC: "Eric Bénard" <[email protected]> CC: Jagan Teki <[email protected]> CC: Ye Li <[email protected]> CC: Peng Fan <[email protected]> CC: Adrian Alonso <[email protected]> CC: Alison Wang <[email protected]> CC: Tim Harvey <[email protected]> CC: Martin Donnelly <[email protected]> CC: Marcin Niestroj <[email protected]> CC: Lukasz Majewski <[email protected]> CC: Adam Ford <[email protected]> CC: "Albert ARIBAUD (3ADEV)" <[email protected]> CC: Boris Brezillon <[email protected]> CC: Soeren Moch <[email protected]> CC: Richard Hu <[email protected]> CC: Wig Cheng <[email protected]> CC: Vanessa Maegima <[email protected]> CC: Max Krummenacher <[email protected]> CC: Stefan Agner <[email protected]> CC: Markus Niebel <[email protected]> CC: Breno Lima <[email protected]> CC: Francesco Montefoschi <[email protected]> CC: Jaehoon Chung <[email protected]> CC: Scott Wood <[email protected]> CC: Joe Hershberger <[email protected]> CC: Anatolij Gustschin <[email protected]> CC: Simon Glass <[email protected]> CC: "Andrew F. Davis" <[email protected]> CC: "Łukasz Majewski" <[email protected]> CC: Patrice Chotard <[email protected]> CC: Nobuhiro Iwamatsu <[email protected]> CC: Hans de Goede <[email protected]> CC: Masahiro Yamada <[email protected]> CC: Stephen Warren <[email protected]> CC: Andre Przywara <[email protected]> CC: "Álvaro Fernández Rojas" <[email protected]> CC: York Sun <[email protected]> CC: Xiaoliang Yang <[email protected]> CC: Chen-Yu Tsai <[email protected]> CC: George McCollister <[email protected]> CC: Sven Ebenfeld <[email protected]> CC: Filip Brozovic <[email protected]> CC: Petr Kulhavy <[email protected]> CC: Eric Nelson <[email protected]> CC: Bai Ping <[email protected]> CC: Anson Huang <[email protected]> CC: Sanchayan Maity <[email protected]> CC: Lokesh Vutla <[email protected]> CC: Patrick Delaunay <[email protected]> CC: Gary Bisson <[email protected]> CC: Alexander Graf <[email protected]> CC: [email protected] Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2017-07-12drivers/misc: Add basic support for ATSHA204A Crypto moduleMarek Behún
This module can be found on the Turris Omnia board connected via the I2C interface. Among some cryptographic functions, the chip has a 512 bit One Time Programmable memory, 88 byte configuration memory and 512 byte general purpose memory. The Turris Omnia stores serial number and device MAC address in the OTP memory. This commit adds basic support for reading the EEPROM and also exposes the chips Random Number Generator. The driver is based on code by Josh Datko, Cryptotronix, [email protected] and also Tomas Hlavacek, CZ.NIC, [email protected] Signed-off-by: Tomas Hlavacek <[email protected]> Signed-off-by: Marek Behun <[email protected]> create mode 100644 drivers/misc/atsha204a-i2c.c create mode 100644 include/atsha204a-i2c.h Signed-off-by: Stefan Roese <[email protected]>
2017-07-11dm: ofnode: rename ofnode_read_prop() to ofnode_get_property()Masahiro Yamada
This function returns the pointer to the value of a node property. The current name ofnode_read_prop() is confusing. Follow the naming of_get_property() from Linux. The return type (const u32 *) is wrong. DT property values can be strings as well as integers. This is why of_get_property/fdt_getprop returns an opaque pointer. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2017-06-26i2c_eeprom: add static to i2c_eeprom_std_ops/probeMasahiro Yamada
These are only used in drivers/mis/i2c_eeprom.c Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2017-06-16powerpc, 5xxx, 512x: remove support for mpc5xxx and mpc512xHeiko Schocher
There was for long time no activity in the mpx5xxx area. We need to go further and convert to Kconfig, but it turned out, nobody is interested anymore in mpc5xxx, so remove it. Signed-off-by: Heiko Schocher <[email protected]>
2017-06-07rockchip: efuse: add (misc) driver for RK3399 non-secure efuse blockPhilipp Tomsich
This adds a simple driver for reading the efuse block of the RK3399. It should be easy enough to add drivers for other devices (e.g. the RK3328, RK3368, etc.) by passing the device details via driver_data. Unlike the kernel driver (using the nvmem subsystem), we don't expose the efuse as multiple named cells, but rather as a linear memory that can be read using misc_read(...). The primary use case (as of today) is the generation of a 'serial#' (and a 'cpuid#') environment variable for the RK3399-Q7 (Puma) system-on-module. Note that this adds a debug-only (i.e. only if DEBUG is defined) command 'rk3399_dump_efuses' that dumps the efuse block's content. N.B.: The name 'rk3399_dump_efuses' was intentionally chosen to include a SoC-name (together with a comment in the function) to remind whoever adds support for additional SoCs that this function currently makes assumptions regarding the size of the fuse-box based on the RK3399. The hope is that the function is adjusted to reflect any changes resulting from generalising the driver for multiple SoCs and is then renamed. Signed-off-by: Philipp Tomsich <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-06-01dm: Update the I2C eeprom driver for livetreeSimon Glass
Update this driver so that it works with livetree. Signed-off-by: Simon Glass <[email protected]>
2017-06-01cros_ec: Convert to support live treeSimon Glass
Convert this driver to support the live device tree and remove the old fdtdec support. The keyboard is not yet converted. Signed-off-by: Simon Glass <[email protected]>
2017-06-01cros_ec: Fix debug() statement in ec_command_inptr()Simon Glass
This prints out the wrong pointers. Fix it. Signed-off-by: Simon Glass <[email protected]>
2017-06-01dm: core: Update device_bind_driver_to_node() to use ofnodeSimon Glass
Adjust this function to us an ofnode instead of an offset, so it can be used with livetree. This involves updating all callers. Signed-off-by: Simon Glass <[email protected]>
2017-06-01dm: Rename dev_addr..() functionsSimon Glass
These support the flat device tree. We want to use the dev_read_..() prefix for functions that support both flat tree and live tree. So rename the existing functions to avoid confusion. In the end we will have: 1. dev_read_addr...() - works on devices, supports flat/live tree 2. devfdt_get_addr...() - current functions, flat tree only 3. of_get_address() etc. - new functions, live tree only All drivers will be written to use 1. That function will in turn call either 2 or 3 depending on whether the flat or live tree is in use. Note this involves changing some dead code - the imx_lpi2c.c file. Signed-off-by: Simon Glass <[email protected]>
2017-05-22Kconfig: Drop CONFIG_SYS_I2C_DS4510_ADDRSimon Glass
This is only used by one board and always set to 0x51. Drop this option. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2017-05-22Convert CONFIG_DS4510 to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_DS4510 Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2017-05-22Kconfig: Drop CONFIG_CMD_DS4510Simon Glass
This option enables a command in the driver. But the functions defined by the driver are not called anywhere else in U-Boot. So it does not seem useful to have this driver without its commands. Drop this option, move the header file out of the common include/ directory and make all the function static. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2017-05-22Kconfig: Drop CONFIG_CMD_DS4510_RSTSimon Glass
This option is only used in one driver and is not enabled by any board. It does not seem worth having the ability to remove this part of the support. Drop the option. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2017-05-22Kconfig: Drop CONFIG_CMD_DS4510_MEMSimon Glass
This option is only used in one driver and is not enabled by any board. It does not seem worth having the ability to remove this part of the support. Drop the option. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2017-05-22Kconfig: Drop CONFIG_CMD_DS4510_INFOSimon Glass
This option is only used in one driver and two boards. It does not seem worth having the ability to remove this part of the support. Drop the option. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2017-05-10i2c_eeprom: add read and write functionsJonas Karlman
Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-04-30Drop the pdsp188x driverSimon Glass
This is not used in U-Boot. Signed-off-by: Simon Glass <[email protected]>
2017-03-17mxc_ocotp: Update driver to support OCOTP controller on i.MX7ULPPeng Fan
Update the mxc_ocotp driver to support i.MX7ULP. The read/write sequence has some changes due to PDN and OUT_STATUS registers added and TIME register is removed. Also update the bank size and number. Add is_mx7ulp macro in sys_proto.h Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Reviewed-by : Stefano Babic <[email protected]>
2017-02-08cros_ec: i2c: Add support for version 3 of the EC protocolMoritz Fischer
Add support for version 3 of the ec protocol. It basically works by stitching some additional header in front (special command code), and having a result and packet_length stitched on for the reply. Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: [email protected] Acked-by: Simon Glass <[email protected]> Tested on snow: Tested-by: Simon Glass <[email protected]>
2017-02-08dm: core: Replace of_offset with accessorSimon Glass
At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree, which uses a node pointer instead, refactor existing code to access this field through an inline function. Signed-off-by: Simon Glass <[email protected]>
2017-02-08cros_ec: i2c: Group i2c write / read into single transactionMoritz Fischer
Replace dm_i2c_write() / dm_i2c_read() with transaction using struct i2c_msg[2] in order to allow for i2c controller to detect write/read cycle to emit a repeated start condition. Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: [email protected] Acked-by: Simon Glass <[email protected]> Tested on snow: Tested-by: Simon Glass <[email protected]>
2017-02-06x86: Use unsigned long for address in table generationSimon Glass
We should use unsigned long rather than u32 for addresses. Update this so that the table-generation code builds correctly on 64-bit machines. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2017-01-21status_led: Kconfig migrationUri Mashiach
Move all of the status LED feature to drivers/led/Kconfig. The LED status definitions were moved from the board configuration files to the defconfig files. TBD: Move all of the definitions in the include/status_led.h to the relevant board's defconfig files. Tested boards: CL-SOM-AM57x, CM-T335 Signed-off-by: Uri Mashiach <[email protected]>
2016-12-16OCOTP: Update OCOTP driver to support i.MX6SLLPeng Fan
Add the i.MX6SLL support to OCOTP driver. The i.MX6SLL reuses the i.MX6ULL fuse, bank 7 and bank8 have 4 words each, and there is a hole between bank 5 and bank 6. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2016-12-02cmd: crosec: Move cros_ec_decode_region helper to cmd/cros_ec.cMoritz Fischer
The cros_ec_decode_region() function is only used in combination with the crosec cmds. Move the function to the correct place. Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: [email protected] Acked-by: Simon Glass <[email protected]>
2016-10-12Merge git://git.denx.de/u-boot-dmTom Rini
2016-10-12Merge git://git.denx.de/u-boot-fsl-qoriqTom Rini
Signed-off-by: Tom Rini <[email protected]> Conflicts: include/configs/ls1021aqds.h include/configs/ls1021atwr.h
2016-10-11cmd: cros_ec: Move crosec commands to cmd subdirectoryMoritz Fischer
Move crosec commands from drivers/misc/cros_ec.c to cmd/cros_ec.c Acked-by: Simon Glass <[email protected]> Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Bin Meng <[email protected]> Cc: Miao Yan <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Przemyslaw Marczak <[email protected]> Cc: Maxime Ripard <[email protected]> Cc: Nishanth Menon <[email protected]> Cc: [email protected]
2016-10-09cros_ec: Fix issue with cros_ec_flash_write commandMoritz Fischer
This commit fixes an issue where data is written to an invalid memory location. The issue has been introduced in commit (88364387 cros: add cros_ec_driver) Cc: Simon Glass <[email protected]> Cc: [email protected] Signed-off-by: Moritz Fischer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-10-09cros_ec: Add crosec flashinfo commandMoritz Fischer
Add command to print out the flash info as reported by the ec. The data read back includes size, write block size, erase block size. Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: [email protected] Acked-by: Simon Glass <[email protected]>
2016-10-09cros_ec: Add function to read back flash parametersMoritz Fischer
Add support for reading back flash parameters as reported by the ec. Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: [email protected] Acked-by: Simon Glass <[email protected]>
2016-10-08Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2016-10-08cros_ec: Honor the google,remote-bus dt propertyMoritz Fischer
Boards where ECs that use a I2C port != 0 specify this in the devicetree file via the google,remote-bus property. Previously this was ignored and hardcoded to port 0. Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: [email protected] Acked-by: Simon Glass <[email protected]>
2016-10-06fsl_sec_mon: Update driver for Security MonitorSumit Garg
Update the API's for transition of Security Monitor states. Instead of providing both initial and final states for transition, just provide final state for transition as Security Monitor driver will take care of it internally. Signed-off-by: Sumit Garg <[email protected]> [York Sun: Reformatted commit message slightly] Reviewed-by: York Sun <[email protected]>
2016-10-04imx: ocotp: support i.MX6ULLPeng Fan
i.MX6ULL has two 128 bits fuse banks, bank 7 and bank 8, while other banks use 256 bits. So we have to adjust the word and bank index when accessing the bank 8. When in command line `fuse read 8 0 1`, you can image `fuse read 7 4 1` in the ocotp driver implementation for 6ULL. When programming, we use word index, so need to fix bank7/8 programming for i.mx6ull. For example: fuse prog 8 3 1; The word index is (8 << 3 | 3) --> 67. But actully it should be (7 << 3 | 7) ---> 63. So fix it. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>