u-boot/doc
Przemyslaw Marczak c54473cb25 dm: i2c: add i2c-gpio driver
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>
2015-04-18 11:11:17 -06:00
..
device-tree-bindings dm: i2c: add i2c-gpio driver 2015-04-18 11:11:17 -06:00
DocBook kbuild: docbook: sync with Linux Kernel v3.15-rc1 2014-04-18 11:43:36 -04:00
driver-model dm: pci: Add a uclass for PCI 2015-04-16 19:27:43 -06:00
SPI spi: altera: Add short note about EPCS/EPCQx1 2014-10-27 22:37:03 +05:30
SPL Fix references to the documentation files 2013-05-10 08:16:33 -04:00
uImage.FIT doc: fix misspellings 2015-01-29 13:38:40 -05:00
feature-removal-schedule.txt Change Andy Fleming's email address 2014-08-06 09:12:30 -04:00
git-mailrc git-mailrc: update Masahiro's email address 2015-03-15 13:33:06 +09:00
I2C_Edge_Conditions rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
kwboot.1 Change e-mail address of Luka Perkov 2012-12-07 08:47:52 -07:00
mkimage.1 Fix cosmetic issues in mkimage manpage 2014-11-04 15:02:08 -05:00
README.440-DDR-performance PPC440 DDR setup: Set SDRAM0_CFG0[PMU]=0 for best performance 2006-07-28 18:34:58 +02:00
README.ag102 board/adp-ag102: add configuration of adp-ag102 2012-04-22 16:58:23 +08:00
README.AMCC-eval-boards-cleanup Major cleanup for AMCC PPC4xx eval boards. 2005-08-01 16:49:12 +02:00
README.android-fastboot fastboot: check for alias when looking up partition by name 2015-04-14 10:19:04 +02:00
README.android-fastboot-protocol usb/gadget: add the fastboot gadget 2014-05-08 10:38:30 +02:00
README.ARC arc: add README for architecture 2014-02-07 08:14:34 -05:00
README.arm-caches doc: ARM: Use the right function name 2015-01-14 11:37:39 -05:00
README.ARM-memory-map Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
README.arm-relocation nand: mxc: Switch NAND SPL to generic SPL 2013-04-12 07:55:07 +02:00
README.arm64 arm64: core support 2014-01-09 16:08:44 +01:00
README.at91 ARM: at91: add NAND partition table and index 2013-05-21 11:54:21 +02:00
README.at91-soc at91: remove all occourances of CONFIG_AT91_LEGACY 2013-11-13 22:17:57 +01:00
README.atmel_mci ATMEL: remove old atmel_mci driver 2012-03-13 12:06:42 +01:00
README.atmel_pmecc arm:at91: enable ROM loadable atmel image 2014-05-27 00:10:49 +02:00
README.autoboot autoboot: add an option to override keyed autoboot 2013-11-08 15:25:14 -05:00
README.AVR32 avr32: Update README 2008-09-01 13:41:58 +02:00
README.AVR32-port-muxing doc: Fix some typos in different files 2012-03-27 13:31:37 +02:00
README.b4860qds board/b4qds:Add support of 2 stage NAND boot-loader 2014-04-22 17:58:51 -07:00
README.bedbug Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.bitbangMII Coding Style cleanup; update CHANGELOG, prepare -rc1 2009-10-28 00:49:47 +01:00
README.blackfin add some more Blackfin docs 2008-02-04 19:26:54 -05:00
README.bootmenu Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.bus_vcxk Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.cfi board/ti/am335x: add support for beaglebone NOR Cape 2014-08-25 10:47:56 -04:00
README.clang ARM: rpi: rename rpi_b to rpi 2014-12-08 09:35:42 -05:00
README.commands kbuild: rename TOPDIR to stctree 2014-03-12 17:04:55 -04:00
README.commands.itest * Patch by Laurent Mohin, 10 Feb 2004: 2004-02-23 20:48:38 +00:00
README.commands.spl Add cmd_spl command 2012-03-27 22:05:28 +02:00
README.console powerpc: remove genietv board support 2014-04-18 10:42:29 -04:00
README.davinci arm, da850evm: Add an SPL for SPI boot 2011-12-24 10:23:30 +01:00
README.davinci.nand_spl arm, davinci: add cam_enc_4xx support 2011-11-03 22:56:25 +01:00
README.displaying-bmps lcd: implement a callback for splashimage 2013-03-11 11:06:09 -04:00
README.distro Document config_distro_bootcmd environment variables for interactive booting. 2015-03-28 12:07:45 -04:00
README.dns Coding Style cleanup; update CHANGELOG. 2009-07-23 22:23:23 +02:00
README.drivers.eth dm: eth: Add basic driver model support to Ethernet stack 2015-04-18 11:11:12 -06:00
README.enetaddr net: allow setting env enetaddr from net device setting 2012-07-11 13:15:32 -05:00
README.esbc_validate SECURE BOOT: Add command for validation of images 2015-03-05 12:04:59 -08:00
README.ext4 Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.falcon doc/README.falcon: Clarify steps slightly. 2014-07-07 19:42:34 -04:00
README.fdt-control x86: video: Allow keyboard presence to be controlled by device tree 2015-04-16 19:27:40 -06:00
README.fec_mxc doc/README.fec_mxc: add documentation 2013-01-28 06:57:49 +01:00
README.fsl-ddr README.fsl-ddr typos and update to reflect hotkey 2013-01-30 11:25:13 -06:00
README.fsl-dpaa net/fman: update 10GEC to fit new SoC 2014-12-05 08:06:15 -08:00
README.fsl-esdhc mmc: fsl_esdhc: Add support to force VSELECT set 2015-02-23 09:11:42 +01:00
README.fsl-hwconfig powerpc/85xx: Specify hwconfig usage for USB controller 2011-07-11 13:24:20 -05:00
README.fsl-trustzone-components fsl-ch3/lowlevel: TZPC and TZASC programming to configure non-secure accesses 2015-02-24 13:08:06 -08:00
README.fsl_iim Add fsl_iim driver 2013-04-28 11:07:41 +02:00
README.fuse Add fuse API and commands 2013-04-28 11:07:40 +02:00
README.generic-board generic-board: move __HAVE_ARCH_GENERIC_BOARD to Kconfig 2015-03-28 09:03:08 -04:00
README.generic_usb_ohci rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.gpt gpt: support random UUIDs without setting environment variables 2015-03-05 11:17:53 -05:00
README.Heterogeneous-SoCs powerpc/mpc85xx: Add DSP side awareness for Freescale Heterogeneous SoCs 2015-03-04 10:15:29 -08:00
README.hwconfig Cosmetic: Fix a number of typos, no functional changes. 2013-09-20 10:30:54 -04:00
README.idma2intr
README.imx5 imx: Document fuse assignments for MAC addresses 2013-04-28 11:07:44 +02:00
README.imx6 doc: README.fuse: Add an example on how to use the fuse API on mx6q 2014-01-02 17:16:50 +01:00
README.imx25 imx: Document fuse assignments for MAC addresses 2013-04-28 11:07:44 +02:00
README.imx27 imx: Document fuse assignments for MAC addresses 2013-04-28 11:07:44 +02:00
README.imx31 move README.imx31 to doc/ and merge with README.mx31 2008-10-08 18:59:04 +02:00
README.imximage README.imximage: Fix the maximum DCD size 2014-09-11 10:14:04 +02:00
README.iomux Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.JFFS2 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.JFFS2_NAND doc: Fix a typo in the description in doc/README.JFFS2_NAND 2013-10-07 08:21:13 -04:00
README.kconfig kconfig: switch to single .config configuration 2015-02-24 17:06:23 -05:00
README.kwbimage doc: fix documentation of out-of-tree build 2014-11-07 16:27:07 -05:00
README.LED Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
README.LED_display led_display: remove unused DISPLAY_MARK define 2010-10-21 22:25:04 +02:00
README.link-local Minor Coding Style cleanup 2012-07-10 09:18:33 +02:00
README.lynxkdi rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.m68k cleanup: Fix typos and misspellings in various files. 2011-07-28 21:27:36 +02:00
README.m54418twr ColdFire: Add Freescale MCF54418TWR ColdFire development board support 2012-10-24 22:27:46 +08:00
README.malta malta: correct tcl script path in README.malta 2014-03-04 23:41:54 +01:00
README.marubun-pcmcia rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.memory-test Feature Removal: disable "mtest" command by default 2013-03-11 15:26:59 -04:00
README.menu Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.mips MIPS: remove obsolete TODO items 2013-07-24 09:51:05 -04:00
README.Modem * Code cleanup: 2003-06-27 21:31:46 +00:00
README.mpc5xx Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.mpc74xx
README.mpc83xx.ddrecc mpc83xx: Correct the README for DDR ECC 2007-08-10 01:13:11 -05:00
README.mpc83xxads Add support for ep8248 board 2005-08-06 01:42:58 +02:00
README.mpc85xx spl/85xx: new SPL support 2012-11-26 15:41:25 -06:00
README.mpc85xx-sd-spi-boot powerpc: mpc85xx: Support booting from SD Card with SPL 2013-08-20 09:47:26 -07:00
README.mpc85xx-spin-table powerpc/mpc85xx: Rewrite spin table to comply with ePAPR v1.1 2012-10-22 14:31:32 -05:00
README.mpc85xxads doc: Fix some typos in different files 2012-03-27 13:31:37 +02:00
README.mpc85xxcds * Patch by Jon Loeliger, 2005-05-05 2005-07-25 14:05:07 -05:00
README.MPC866 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.mxc_hab Fix mxc_hab documenation for DEK blob generation 2015-04-08 10:54:10 +02:00
README.mxc_ocotp arm: vf610: Add Vybrid VF610 to mxc_ocotp document 2013-06-03 10:56:54 +02:00
README.mxs mx28evk: Add documentation on how to boot from SPI NOR 2014-06-17 16:39:10 +02:00
README.mxsimage ARM: mxs: tools: Add support for boot progress display flag 2014-11-20 10:13:45 +01:00
README.N1213 doc/README: documents and readme for NDS32 arch 2011-10-22 00:54:45 +02:00
README.nand nand: Remove unused CONFIG_MTD_NAND_ECC_JFFS2 option 2015-03-30 23:16:54 -05:00
README.nand-boot-ppc440 Fix some typos 2008-05-09 20:53:52 +02:00
README.NDS32 doc/README: documents and readme for NDS32 arch 2011-10-22 00:54:45 +02:00
README.ne2000 * Patches by Richard Woodruff, 01 Oct 2004: 2005-01-09 23:16:25 +00:00
README.NetConsole net: Make the netconsole buffer size configurable 2012-09-24 13:55:43 -05:00
README.nokia_rx51 Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.odroid Odroid-XU3: Add documentation for Odroid-XU3 2014-12-22 20:37:10 +09:00
README.OFT Code cleanup, especially MIPS for GCC 4.x 2005-12-04 00:40:34 +01:00
README.omap-reset-time ARM: OMAP5: Fix warm reset with USB cable connected 2013-05-10 08:25:55 -04:00
README.omap-ulpi-viewport usb: ulpi: Add omap-ulpi-view port support 2012-02-12 10:11:30 +01:00
README.omap3 mtd: nand: omap: add CONFIG_NAND_OMAP_ECCSCHEME for selection of ecc-scheme 2013-11-21 13:33:41 -06:00
README.pblimage powerpc/tool/pbl: fix pbl image compiling process 2013-10-16 16:13:13 -07:00
README.plan9 cmd_bootm: Add command line arguments to Plan 9 2013-06-26 10:25:22 -04:00
README.POST post/i2c: Add ability to ignore I2C devices 2010-10-22 02:19:14 -05:00
README.power-framework doc:power:pmic: Add doc entry for PMIC(v2) framework 2014-04-18 10:42:30 -04:00
README.ppc440 Remove unused CONFIG_SERIAL_SOFTWARE_FIFO feature 2010-09-23 09:02:05 +02:00
README.pxe Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.qemu-mips Coding Style cleanup: drop some excessive empty lines 2013-10-14 16:06:54 -04:00
README.ramboot-ppc85xx Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.rmobile arm: rmobile: Update README.rmobile 2013-12-18 16:35:45 +09:00
README.s5pc1xx s5pc1xx: update the README file 2010-04-03 15:24:26 -05:00
README.sata doc: english polishing for README.sata 2008-04-13 14:56:51 -07:00
README.sched
README.scrapyard powerpc: ppc4xx: remove korat board support 2015-03-17 11:00:26 -04:00
README.semihosting armv8: semihosting: add a command to load semihosted images 2015-03-28 12:07:45 -04:00
README.serial_multi rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.sh sh: Add support Renesas Solutions R7780MP 2008-03-28 14:16:12 +09:00
README.sh7752evb sh: add support for sh7752evb board 2012-12-20 13:20:17 +09:00
README.sh7753evb sh: add support for sh7753evb board 2013-12-18 16:49:08 +09:00
README.sha1 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.silent Allow u-boot to be silent without forcing Linux to be 2013-03-11 17:01:02 -04:00
README.SNTP doc: Fix some typos in different files 2012-03-27 13:31:37 +02:00
README.socfpga socfpga/dwmmc: Adding DesignWare MMC driver support for SOCFPGA 2014-01-09 11:53:55 +02:00
README.spear SPEAr: Add configuration options for spear3xx and spear6xx boards 2012-07-07 14:07:40 +02:00
README.SPL doc: Update documentation according to the EXT SPL support patch set 2014-10-27 17:54:08 -04:00
README.splashprepare common: convert compulab splash load code to common code 2015-01-29 17:44:08 +01:00
README.srio-pcie-boot-corenet powerpc/doc: Update the README.srio-pcie-boot-corenet 2013-06-20 17:08:47 -05:00
README.standalone Export redesign 2015-01-29 17:09:57 -07:00
README.switch_config arm,davinci: update for enbw_cmc board 2012-07-07 14:07:21 +02:00
README.t1040-l2switch net/vsc9953: Add driver for Vitesse VSC9953 L2 Switch IP 2015-01-16 09:32:38 -08:00
README.TPL kbuild: rename TOPDIR to stctree 2014-03-12 17:04:55 -04:00
README.trace Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.ubi Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.ublimage Minor coding style cleanup. 2011-09-11 21:24:09 +02:00
README.unaligned-memory-access.txt doc: Fix comparison operator 2014-10-27 11:04:00 -04:00
README.uniphier usb: UniPhier: add UniPhier on-chip xHCI host driver support 2015-03-01 00:03:00 +09:00
README.update add command fitupd to run an update from a FIT image 2011-07-26 16:58:48 +02:00
README.usb usb: net: update README.usb to list all USB ethernet options 2014-03-12 17:04:35 -04:00
README.vf610 arm: vf610: Add Vybrid VF610 CPU support 2013-06-03 10:56:53 +02:00
README.video sunxi: video: Add a hpd_delay parameter to configure hpd delay 2015-01-14 14:56:39 +01:00
README.VLAN Patches by Pantelis Antoniou, 30 Mar 2004: 2004-04-15 21:48:45 +00:00
README.VSC3316-3308 board/freescale/common: VSC3316/VSC3308 initialization code 2012-10-22 14:31:21 -05:00
README.vxworks README.vxworks: add a document describing the new VxWorks boot interface 2013-12-16 08:59:42 -05:00
README.watchdog blackfin: Move blackfin watchdog driver out of the blackfin arch folder. 2013-05-13 16:30:26 +08:00
README.x86 x86: Add queensbay fsp patch information in README.x86 2015-03-24 21:22:37 -06:00
README.zfs Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.zynq doc: Update the zynq u-boot status 2014-01-10 15:18:33 +01:00

#
# 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