summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2017-07-25Convert CONFIG_ENV_IS_IN_MMC/NAND/UBI and NOWHERE to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_ENV_IS_IN_MMC CONFIG_ENV_IS_IN_NAND CONFIG_ENV_IS_IN_UBI CONFIG_ENV_IS_NOWHERE In fact this already exists for sunxi as a 'choice' config. However not all the choices are available in Kconfig yet so we cannot use that. It would lead to more than one option being set. In addition, one purpose of this series is to allow the environment to be stored in more than one place. So the existing choice is converted to a normal config allowing each option to be set independently. There are not many opportunities for Kconfig updates to reduce the size of this patch. This was tested with ./tools/moveconfig.py -i CONFIG_ENV_IS_IN_MMC And then manual updates. This is because for CHAIN_OF_TRUST boards they can only have ENV_IS_NOWHERE set, so we enforce that via Kconfig logic now. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2017-07-25efi_loader: expose protocols via GUIDRob Clark
shim.efi (or rather gnu-efi's LibLocateProtocol() which shim.efi uses) resolves protocols via efi_locate_handle() so the console protocols need to be added to the efi object list. Signed-off-by: Rob Clark <[email protected]> [agraf: whitespace fixes] Signed-off-by: Alexander Graf <[email protected]>
2017-07-25efi_loader: add helper macro to construct protocol objectsRob Clark
There are a bunch of protocols which should be exposed by GUID but are not. Add a helper macro to create an efi_object, to avoid much typing. Note that using the pointer for efiobj->handle is semi-arbitrary. We just need a unique value to match the efiobj supporting the protocol with the handle that LocateHandle() returns.. See LibLocateProtocol() in gnu-efi. It does LocateHandle() to find all the handles, and then loops over them calling HandleProtocol() with the GUID of the protocol it is trying to find. Signed-off-by: Rob Clark <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-25efi_loader: log EFI return values tooRob Clark
Turns out this is rather useful to tracking down where things fail. Signed-off-by: Rob Clark <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-24configs: Migrate RBTREE, LZO, CMD_MTDPARTS, CMD_UBI and CMD_UBIFSTom Rini
The above CONFIG options are in Kconfig, and now have correct depends and inter-dependencies. Migrate these to configs/ from include/configs/. In the case of CMD_UBIFS also change it to be a default y if CMD_UBI. Signed-off-by: Tom Rini <[email protected]>
2017-07-24efi_loader: parameter types for CreateEvent, SetTimer[email protected]
The first argument 'type' of CreateEvent is an 32bit unsigned integer bitmap and not an enum. The second argument 'type' of SetTimer take values of an enum which is called EFI_TIMER_DELAY in the UEFI standard. To avoid confusion rename efi_event_type to efi_timer_delay. Reported-by: Alexander Graf <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-24efi_loader: move guidcmp to headerRob Clark
Want to re-use this for file protocol, which I'm working on. Signed-off-by: Rob Clark <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-23xilinx-ppc.h: DropTom Rini
With PowerPC 4xx support removed, we have removed xilinx-ppc support as well, remove this file now. Fixes 98f705c9cefd ("powerpc: remove 4xx support") Reviewed-by: Bin Meng <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2017-07-23serial: ns16550: Add RX interrupt buffer supportStefan Roese
Pasting longer lines into the U-Boot console prompt sometimes leads to characters missing. One problem here is the small 16-byte FIFO of the legacy NS16550 UART, e.g. on x86 platforms. This patch now introduces a Kconfig option to enable RX interrupt buffer support for NS16550 style UARTs. With this option enabled, I was able paste really long lines into the U-Boot console, without any characters missing. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Bin Meng <[email protected]> [trini: Guard ns16550_serial_remove with CONFIG_IS_ENABLED(SERIAL_PRESENT) to match struct assignment] Signed-off-by: Tom Rini <[email protected]>
2017-07-23powerpc: Remove 8260 remaindersChristophe Leroy
commit 2eb48ff7a210d ("powerpc, 8260: remove support for mpc8260") removed support for 8260 CPU. This patch remove some remainders. Signed-off-by: Christophe Leroy <[email protected]>
2017-07-22powerpc: Remove unneccessary #ifdefs in reginfoChristophe Leroy
reginfo command is calling mpc8xx_reginfo(), mpc85xx_reginfo() or mpc86xx_reginfo() based on CONFIG_ symbol. As those 3 functions can't me defined at the same time, let's rename them print_reginfo() to avoid the #ifdefs The name is kept generic as it is not at all dependent on powerpc arch and any other arch could want to also print such information. In addition, as the Makefile compiles cmd/reginfo.c only when CONFIG_CMD_REGINFO is set, there is no need to enclose the U_BOOT_CMD definition inside a #ifdef CONFIG_CMD_REGINFO Lets all remove the #ifdefs around the U_BOOT_CMD as this file is only compiled when CONFIG_CMD_REGINFO is defined Finally, this is a PowerPC-only command, disable it on a number of non-PowerPC platforms. Signed-off-by: Christophe Leroy <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2017-07-22meson-gx: reserved memory regions[email protected]
The Odroid C2 has two GiB of memory with two reserved regions. reg = <0x0 0x0 0x0 0x1000000>; reg = <0x0 0x10000000 0x0 0x200000>; Patch bfcef28ae4cf (arm: add initial support for Amlogic Meson and ODROID-C2) provided function dram_init_banksize to reserve the first 16 MiB of RAM for firmware in function dram_init_banksize in arch/arm/mach-meson/board.c and defined CONFIG_NR_DRAM_BANKS = 1. With this patch dram_init_banksize is changed to additionally reserve the 2MiB region for the ARM Trusted Firmware (BL31). CONFIG_NR_DRAM_BANKS is set to 2. Cc: Andreas Färber <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2017-07-22env: Add generic redundant environment implementationFiach Antaw
All current environments that implement redundancy use almost identical implementations. This patch implements the env_nand implementation as a function in env_common, and updates the env_export function to export an env_nand-style 'flags' field by default. Signed-off-by: Fiach Antaw <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2017-07-19efi_console: set up events[email protected]
Set up a timer event and the WaitForKey event. In the notify function of the timer event check for console input and signal the WaitForKey event accordingly. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: refactor efi_set_timer[email protected]
efi_set_timer is refactored to make the function callable internally. Wrapper function efi_set_timer_ext is provided for EFI applications. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: refactor efi_create_event[email protected]
efi_create_event is refactored to make it possible to call it internally. For EFI applications wrapper function efi_create_event_ext is created. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: correct size for tpl level[email protected]
The UEFI standard defines the type for the tpl level as EFI_TPL alias UINTN. UINTN is an integer is defined as an unsigned integer of native width. So we can use size_t for the definition. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: implement multiple event support[email protected]
Up to now the boot time supported only a single event. This patch now allows four events. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: use struct efi_event * instead of void *[email protected]
In our implementation the internal structure of events is known. So use the known type instead of void. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: define all known status codes[email protected]
efi.h held only a few EFI status codes. The patch adds the missing definitions for later usage. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: implement EFI_DEVICE_PATH_TO_TEXT_PROTOCOL[email protected]
ConvertPathToText is implemented for * type 4 - media device path * subtype 4 - file path This is the kind of device path we hand out for block devices. All other cases may be implemented later. Signed-off-by: Heinrich Schuchardt <[email protected]> [agraf: fix whitespace] Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: reimplement efi_locate_protocol[email protected]
The UEFI specification requires that LocateProtol finds the first handle supporting the protocol and to return a pointer to its interface. So we have to assign the protocols to an efi_object and not use any separate storage. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: provide a sufficient number of protocols[email protected]
Four protocols per object is too few to run iPXE. Let's raise the number of protocols per object to eight. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: implement InstallProtocolInterface[email protected]
efi_install_protocol_interface up to now only returned an error code. The patch implements the UEFI specification for InstallProtocolInterface with the exception that it will not create new handles. Signed-off-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Alexander Graf <[email protected]>
2017-07-19efi_loader: refactor efi_open_protocol[email protected]
efi_open_protocol was implemented to call a protocol specific open function to retrieve the protocol interface. The UEFI specification does not know of such a function. It is not possible to implement InstallProtocolInterface with the current design. With the patch the protocol interface itself is stored in the list of installed protocols of an efi_object instead of an open function. Signed-off-by: Heinrich Schuchardt <[email protected]> [agraf: fix efi gop support] Signed-off-by: Alexander Graf <[email protected]>
2017-07-19regulator: Change get_enable return type to integer from boolKeerthy
Change get_enable return type to int so errors can be returned. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2017-07-18Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2017-07-14mx6cuboxi: Move CONFIG_CMD_SATA to KconfigFabio Estevam
Move CONFIG_CMD_SATA option to Kconfig to fix the following build error: In file included from include/configs/mx6cuboxi.h:137:0, from include/config.h:7, from include/common.h:21, from common/env_common.c:11: include/config_distro_bootcmd.h:161:2: error: expected '}' before 'BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA' BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA Reported-by: Stefano Babic <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2017-07-12Merge git://www.denx.de/git/u-boot-marvellTom Rini
2017-07-12imx: cx9020: try pxe boot, if no vmlinuz on mmcPatrick Bruenn
If no vmlinuz is found on mmc, try to boot from pxe. Signed-off-by: Patrick Bruenn <[email protected]>
2017-07-12imx: cx9020: use fdt_addr_r and ramdisk_addr_rPatrick Bruenn
Replace fdtaddr and rdaddr variable names with u-boot standard names fdt_addr_r and ramdisk_addr_r. This will make the use of pxe boot more easy. Signed-off-by: Patrick Bruenn <[email protected]>
2017-07-12mx6sabreauto: Add Falcon mode supportDiego Dorta
Add support for Falcon mode and explain in the README the steps to boot the kernel directly without loading the full U-Boot. Signed-off-by: Diego Dorta <[email protected]> Acked-by: Fabio Estevam <[email protected]>
2017-07-12warp: Use PARTUUID to specify the rootfs locationFabio Estevam
warp can run different kernel versions, such as NXP 4.1 or mainline. Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. Succesfully tested booting a NXP 4.1 and also a mainline 4.12 kernel. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Otavio Salvador <[email protected]>
2017-07-12embestmx6boards: Use PARTUUID to specify the rootfs locationFabio Berton
Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. Also add CONFIG_BOOTCOMMAND to run finduuid function and distro_bootcmd. This change was made based on U-Boot commit: - ca4f338e2efece5196eb2178e5f7d07be828da6e Signed-off-by: Fabio Berton <[email protected]> Signed-off-by: Otavio Salvador <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-07-12mx6cuboxi: Use PARTUUID to specify the rootfs locationFabio Berton
Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. This change was made based on U-Boot commit: - ca4f338e2efece5196eb2178e5f7d07be828da6e Signed-off-by: Fabio Berton <[email protected]> Signed-off-by: Otavio Salvador <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-07-12wandboard: Use PARTUUID to specify the rootfs locationFabio Berton
Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. This change was made based on U-Boot commit: - ca4f338e2efece5196eb2178e5f7d07be828da6e Signed-off-by: Fabio Berton <[email protected]> Signed-off-by: Otavio Salvador <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-07-12mx6sabre: Use PARTUUID to specify the rootfs locationFabio Estevam
mx6sabre boards can run different kernel versions, such as NXP 4.1 or mainline. Currently the rootfs location is passed via mmcblk number and the problem with this approach is that the mmcblk number for the eMMC changes depending on the kernel version. In order to avoid such issue, use UUID method to specify the rootfs location. Succesfully tested booting a NXP 4.1 and also a mainline kernel on a mx6qsabresd and mx6dlsabreauto. Signed-off-by: Fabio Estevam <[email protected]>
2017-07-12mx6sabreauto: Do not enable WEIM by defaultFabio Estevam
WEIM cannot be used when I2C3 is enabled due to pin conflict, so keep WEIM disabled by default. I2C3 controls GPIO I2C expander (USB host and OTG have VBUS controlled by the GPIO I2C expander), magnetometer, accelerometer. Not disabling WEIM in U-Boot causes I2C3 to behave badly when booting a NXP 4.1 kernel, which leads to probe failure on several devices, including the lack of USB: imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517 By keeping WEIM disabled in U-Boot these kernel issues are gone. Reported-by: Takashi Matsuzawa <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
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-12mmc: fsl_esdhc: drop CONFIG_SYS_FSL_ESDHC_FORCE_VSELECTPeng Fan
CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT is not the correct method to set I/O to 1.8. To boards that does not support vqmmc-supply, use vs18_enable in fsl_esdhc_cfg. If regulator is supported, use fixed 1.8V regulator for vqmmc-supply. Signed-off-by: Peng Fan <[email protected]> Cc: Jaehoon Chung <[email protected]> Cc: York Sun <[email protected]> Cc: Stefano Babic <[email protected]>
2017-07-12mmc: fsl_esdhc: introduce vs18_enable for 1.8V fix I/OPeng Fan
When using eMMC with 1.8V I/O, the VSELECT bit need to be set in the USDHC controller when init. This patch adds a parameter "vs18_enable" in fsl_esdhc_cfg structure and priv data, so each controller can have different settings. We could not use CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT, it has problem that it will apply to all USDHC controllers and it only set the 1.8V at init phase. So if user does not select to the eMMC device, the voltage on the I/O pins are not correct. Signed-off-by: Peng Fan <[email protected]> Cc: Jaehoon Chung <[email protected]> Cc: York Sun <[email protected]> Cc: Stefano Babic <[email protected]>
2017-07-12mmc: fsl_esdhc: correct type of wp_enablePeng Fan
The type should be int, not u8. cfg->wp_enable will finally be assigned to priv->wp_enable whose type is int. Signed-off-by: Peng Fan <[email protected]>
2017-07-12imx6_spl: Add u-boot-dtb.img for SPL payloadJagan Teki
Add u-boot-dtb.img for SPL_FS_LOAD_PAYLOAD_NAME when OF_CONTROL used. Signed-off-by: Jagan Teki <[email protected]>
2017-07-12mx6sabreauto: Update to SPL only modeVanessa Maegima
As mx6sabreauto supports SPL now, all variants can boot using the same defconfig. This patch: - Removes non-SPL targets. - Renames target to mx6sabreauto_defconfig. - Renames folder and board files to mx6sabreauto. - Updates MAINTAINERS, Makefile and Kconfig accordingly. - Removes .cfg files. - Adds a README with instructions to build and flash SPL and u-boot.img. Signed-off-by: Vanessa Maegima <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2017-07-12mx6qsabreauto: Add SPL supportVanessa Maegima
Add support for mx6q, mx6dl and mx6qp sabreauto boards in SPL. Retrieved the mx6q DCD table from: board/freescale/mx6qsabreauto/imximage.cfg Retrieved the mx6dl DCD table from: board/freescale/mx6qsabreauto/mx6dl.cfg Retrieved the mx6qp DCD table from: board/freescale/mx6qsabreauto/mx6qp.cfg Flashed SPL and u-boot.img to an SD card and could successfully boot it on mx6q, mx6qp and mx6dl sabreauto boards. Signed-off-by: Vanessa Maegima <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2017-07-12mx6cuboxi: Add support for sataPeter Robinson
The Cubox-i and Hummingboard series of devices have an option of SATA on board, and depending on how the fuses are blown even the option to boot SPL from SATA. So enable support for it so it can be used to boot the OS from if people desire. Cc: Fabio Estevam <[email protected]> Signed-off-by: Peter Robinson <[email protected]> Acked-by: Fabio Estevam <[email protected]>
2017-07-12ot1200: enable CONFIG_IMX_THERMAL for detailed thermal informationChristian Gmeiner
Signed-off-by: Christian Gmeiner <[email protected]>
2017-07-12mx6sabresd: Fix guard file symbolFabio Estevam
Remove the "Q" from the file guard symbol, so that it matches the file name. Signed-off-by: Fabio Estevam <[email protected]>
2017-07-12marvell: armada385: Add the Turris Omnia boardMarek Behún
The Turris Omnia is a open-source router created by CZ.NIC. The code is based on the Marvell/db-88f6820-gp by Stefan Roese with modifications from Tomas Hlavacek in the CZ.NIC turris-omnia-uboot repository, which can be found at https://gitlab.labs.nic.cz/turris/turris-omnia-uboot By default, the Turris Omnia uses btrfs as the main and only filesystem, and also loads kernel and device tree from this filesystem. Since U-Boot does not yet support btrfs, you should not flash your Turris Omnia board with this unless you know what you are doing. Signed-off-by: Tomas Hlavacek <[email protected]> Signed-off-by: Marek Behun <[email protected]> create mode 100644 board/CZ.NIC/turris_omnia/Makefile create mode 100644 board/CZ.NIC/turris_omnia/kwbimage.cfg create mode 100644 board/CZ.NIC/turris_omnia/turris_omnia.c create mode 100644 configs/turris_omnia_defconfig create mode 100644 include/configs/turris_omnia.h Signed-off-by: Stefan Roese <[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]>