mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-04 18:41:03 +00:00
c54473cb25
This commit adds driver model support to software emulated i2c bus driver. This driver supports kernel-style device tree bindings. Fdt properties in use: - compatible - "i2c-gpio" - gpios - data and clock GPIO pin phandles - delay-us - micro seconds delay between GPIOs toggle operations, which is 1/4 of I2C speed clock period. Added: - Config: CONFIG_DM_I2C_GPIO - File: drivers/i2c/i2c-gpio.c - File: doc/device-tree-bindings/i2c/i2c-gpio.txt Driver base code is taken from: drivers/i2c/soft-i2c.c, changes: - use "i2c-gpio" naming - update comments style - move preprocesor macros into functions - add device tree support - add driver model i2c support - code cleanup, - add Kconfig entry Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Added braces in i2c_gpio_xfer() to fix style nit: Signed-off-by: Simon Glass <sjg@chromium.org> |
||
---|---|---|
.. | ||
device-tree-bindings | ||
DocBook | ||
driver-model | ||
SPI | ||
SPL | ||
uImage.FIT | ||
feature-removal-schedule.txt | ||
git-mailrc | ||
I2C_Edge_Conditions | ||
kwboot.1 | ||
mkimage.1 | ||
README.440-DDR-performance | ||
README.ag102 | ||
README.AMCC-eval-boards-cleanup | ||
README.android-fastboot | ||
README.android-fastboot-protocol | ||
README.ARC | ||
README.arm-caches | ||
README.ARM-memory-map | ||
README.arm-relocation | ||
README.arm64 | ||
README.at91 | ||
README.at91-soc | ||
README.atmel_mci | ||
README.atmel_pmecc | ||
README.autoboot | ||
README.AVR32 | ||
README.AVR32-port-muxing | ||
README.b4860qds | ||
README.bedbug | ||
README.bitbangMII | ||
README.blackfin | ||
README.bootmenu | ||
README.bus_vcxk | ||
README.cfi | ||
README.clang | ||
README.commands | ||
README.commands.itest | ||
README.commands.spl | ||
README.console | ||
README.davinci | ||
README.davinci.nand_spl | ||
README.displaying-bmps | ||
README.distro | ||
README.dns | ||
README.drivers.eth | ||
README.enetaddr | ||
README.esbc_validate | ||
README.ext4 | ||
README.falcon | ||
README.fdt-control | ||
README.fec_mxc | ||
README.fsl-ddr | ||
README.fsl-dpaa | ||
README.fsl-esdhc | ||
README.fsl-hwconfig | ||
README.fsl-trustzone-components | ||
README.fsl_iim | ||
README.fuse | ||
README.generic-board | ||
README.generic_usb_ohci | ||
README.gpt | ||
README.Heterogeneous-SoCs | ||
README.hwconfig | ||
README.idma2intr | ||
README.imx5 | ||
README.imx6 | ||
README.imx25 | ||
README.imx27 | ||
README.imx31 | ||
README.imximage | ||
README.iomux | ||
README.JFFS2 | ||
README.JFFS2_NAND | ||
README.kconfig | ||
README.kwbimage | ||
README.LED | ||
README.LED_display | ||
README.link-local | ||
README.lynxkdi | ||
README.m68k | ||
README.m54418twr | ||
README.malta | ||
README.marubun-pcmcia | ||
README.memory-test | ||
README.menu | ||
README.mips | ||
README.Modem | ||
README.mpc5xx | ||
README.mpc74xx | ||
README.mpc83xx.ddrecc | ||
README.mpc83xxads | ||
README.mpc85xx | ||
README.mpc85xx-sd-spi-boot | ||
README.mpc85xx-spin-table | ||
README.mpc85xxads | ||
README.mpc85xxcds | ||
README.MPC866 | ||
README.mxc_hab | ||
README.mxc_ocotp | ||
README.mxs | ||
README.mxsimage | ||
README.N1213 | ||
README.nand | ||
README.nand-boot-ppc440 | ||
README.NDS32 | ||
README.ne2000 | ||
README.NetConsole | ||
README.nokia_rx51 | ||
README.odroid | ||
README.OFT | ||
README.omap-reset-time | ||
README.omap-ulpi-viewport | ||
README.omap3 | ||
README.pblimage | ||
README.plan9 | ||
README.POST | ||
README.power-framework | ||
README.ppc440 | ||
README.pxe | ||
README.qemu-mips | ||
README.ramboot-ppc85xx | ||
README.rmobile | ||
README.s5pc1xx | ||
README.sata | ||
README.sched | ||
README.scrapyard | ||
README.semihosting | ||
README.serial_multi | ||
README.sh | ||
README.sh7752evb | ||
README.sh7753evb | ||
README.sha1 | ||
README.silent | ||
README.SNTP | ||
README.socfpga | ||
README.spear | ||
README.SPL | ||
README.splashprepare | ||
README.srio-pcie-boot-corenet | ||
README.standalone | ||
README.switch_config | ||
README.t1040-l2switch | ||
README.TPL | ||
README.trace | ||
README.ubi | ||
README.ublimage | ||
README.unaligned-memory-access.txt | ||
README.uniphier | ||
README.update | ||
README.usb | ||
README.vf610 | ||
README.video | ||
README.VLAN | ||
README.VSC3316-3308 | ||
README.vxworks | ||
README.watchdog | ||
README.x86 | ||
README.zfs | ||
README.zynq |
# # Xilinx ZYNQ U-Boot # # (C) Copyright 2013 Xilinx, Inc. # # SPDX-License-Identifier: GPL-2.0+ # 1. About this This document describes the information about Xilinx Zynq U-Boot - like supported boards, ML status and TODO list. 2. Zynq boards Xilinx Zynq-7000 All Programmable SoCs enable extensive system level differentiation, integration, and flexibility through hardware, software, and I/O programmability. * zc70x - zc702 (single qspi, gem0, mmc) [1] - zc706 (dual parallel qspi, gem0, mmc) [2] * zed (single qspi, gem0, mmc) [3] * microzed (single qspi, gem0, mmc) [4] * zc770 - zc770-xm010 (single qspi, gem0, mmc) - zc770-xm011 (8 or 16 bit nand) - zc770-xm012 (nor) - zc770-xm013 (dual parallel qspi, gem1) 3. Building # Configure for zc70x board $ make zynq_zc70x_config Configuring for zynq_zc70x board... # Building default dts for zc702 board $ make # Building specified dts for zc706 board $ make DEVICE_TREE=zynq-zc706 4. Bootmode Zynq has a facility to read the bootmode from the slcr bootmode register once user is setting through jumpers on the board - see page no:1546 on [5] All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins on [5]. board_late_init() will read the bootmode values using slcr bootmode register at runtime and assign the modeboot variable to specific bootmode string which is intern used in autoboot. SLCR bootmode register Bit[3:0] values #define ZYNQ_BM_NOR 0x02 #define ZYNQ_BM_SD 0x05 #define ZYNQ_BM_JTAG 0x0 "modeboot" variable can assign any of "norboot", "sdboot" or "jtagboot" bootmode strings at runtime. 5. Mainline status - Added basic board configurations support. - Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq - Added zynq boards named - zc70x, zed, microzed, zc770_xm010, zc770_xm012, zc770_xm013 - Added zynq drivers: serial - drivers/serial/serial_zynq.c net - drivers/net/zynq_gem.c mmc - drivers/mmc/zynq_sdhci.c mmc - drivers/mmc/zynq_sdhci.c spi- drivers/spi/zynq_spi.c i2c - drivers/i2c/zynq_i2c.c - Done proper cleanups on board configurations - Added basic FDT support for zynq boards - d-cache support for zynq_gem.c 6. TODO - Add zynq boards support - zc770_xm011 - Add zynq qspi controller driver - Add zynq nand controller driver - Add FDT support on individual drivers [1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm [2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm [3] http://zedboard.org/product/zedboard [4] http://zedboard.org/product/microzed [5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf -- Jagannadha Sutradharudu Teki <jaganna@xilinx.com> Sun Dec 15 14:52:41 IST 2013