[U-Boot] [PATCH v4 00/10] Bring in new I2C framework

Heiko Schocher hs at denx.de
Sat May 18 11:37:51 CEST 2013


It seems the timing is coming, to bring this finally in mainline
and move boards over to the new i2c framework.

Changes for v3 series:

- Compiler collects the used i2c adapters in _u_boot_list_i2c,
  so no need for defining the used i2c adpaters in the board config file.
  -> drop CONFIG_SYS_NUM_I2C_ADAPTERS and CONFIG_SYS_I2C_ADAPTERS
- Some adaptions for the keymile boards, so we can drop CONFIG_I2C_MUX
  completely
- add ppc4xx_i2c driver, ported from Dirk Eibach

Changes for v4 series:

- rebased against current HEAD: 48e0b2bd2b6ecc80cd25181ca2fb9c0eaffef320
- fixed some missing board configs
  add comment from Daniel Schwierzeck:
    - remove i2c_reloc_fixup in arch/mips/lib/board.c as no longer needed
  add comment from Simon Glass:
    - add CONFIG_I2C_MULTIBUS condition also in help text
    - adapt common/board_f.c

Serie compiles clean on arm and powerpc

Ported i2c drivers:
soft_i2c  : from me, tested on some arm and powerpc boards
fsl_i2c   : from me, only compile tested
tegra_i2c : ported from Simon Glass
ppc4xx_i2c: adapted from Dirk Eibach <dirk.eibach at gdsys.cc>
            tested on (which board?) with 4 soft_i2c drivers
            and one ppc4x_i2c driver.
 
Cc: Dirk Eibach <dirk.eibach at gdsys.cc>                                                                                                          
Cc: Stefan Roese <sr at denx.de>
Cc: Simon Glass <sjg at chromium.org>
Cc: Piotr Wilczek <p.wilczek at samsung.com>
Cc: Holger Brunck <holger.brunck at keymile.com>
Cc: Mike Frysinger <vapier at gentoo.org>
Cc: Stephen Warren <swarren at wwwdotorg.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>

Dirk Eibach (1):
  i2c, ppc4xx_i2c: switch to new multibus/multiadapter support

Heiko Schocher (6):
  i2c: add i2c_core and prepare for new multibus support
  i2c: common changes for multibus/multiadapter support
  i2c, soft-i2c: switch to new multibus/multiadapter support
  i2c, fsl_i2c: switch to new multibus/multiadapter support
  i2c, multibus: get rid of CONFIG_I2C_MUX
  i2c, multibus, keymile: get rid of EEprom_ivm envvariable

Holger Brunck (1):
  arm/km: fix u-boot update functionality

Simon Glass (2):
  tegra: i2c: Add function to know about current bus
  tegra: i2c: Enable new CONFIG_SYS_I2C framework

 README                                      | 175 ++++++----
 arch/arm/include/asm/arch-kirkwood/config.h |   2 +-
 arch/arm/lib/board.c                        |  10 +-
 arch/blackfin/lib/board.c                   |   7 +
 arch/m68k/cpu/mcf5227x/cpu_init.c           |   2 +-
 arch/m68k/cpu/mcf5227x/speed.c              |   2 +-
 arch/m68k/cpu/mcf523x/cpu_init.c            |   2 +-
 arch/m68k/cpu/mcf523x/speed.c               |   2 +-
 arch/m68k/cpu/mcf52x2/cpu_init.c            |   4 +-
 arch/m68k/cpu/mcf52x2/speed.c               |   4 +-
 arch/m68k/cpu/mcf532x/cpu_init.c            |   4 +-
 arch/m68k/cpu/mcf532x/speed.c               |   2 +-
 arch/m68k/cpu/mcf5445x/cpu_init.c           |   2 +-
 arch/m68k/cpu/mcf5445x/speed.c              |   4 +-
 arch/m68k/cpu/mcf547x_8x/cpu_init.c         |   2 +-
 arch/m68k/cpu/mcf547x_8x/speed.c            |   2 +-
 arch/m68k/include/asm/global_data.h         |   2 +-
 arch/m68k/lib/board.c                       |  15 +-
 arch/nds32/lib/board.c                      |  10 +-
 arch/powerpc/cpu/mpc8260/i2c.c              |  14 -
 arch/powerpc/cpu/mpc8xx/video.c             |   4 +
 arch/powerpc/cpu/ppc4xx/40x_spd_sdram.c     |   6 +-
 arch/powerpc/cpu/ppc4xx/44x_spd_ddr.c       |   6 +-
 arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c      |   3 +-
 arch/powerpc/cpu/ppc4xx/cmd_chip_config.c   |   2 +-
 arch/powerpc/cpu/ppc4xx/denali_spd_ddr2.c   |   3 +-
 arch/powerpc/include/asm/ppc4xx-i2c.h       |  18 -
 arch/powerpc/lib/board.c                    |  11 +-
 board/BuS/eb_cpux9k2/cpux9k2.c              |   2 +-
 board/BuS/vl_ma2sc/vl_ma2sc.c               |   2 +-
 board/atc/atc.c                             |   2 +-
 board/bluewater/snapper9260/snapper9260.c   |   2 +-
 board/cm5200/cm5200.c                       |   4 +-
 board/cpu86/cpu86.c                         |   2 +-
 board/cpu87/cpu87.c                         |   2 +-
 board/csb272/csb272.c                       |   2 +-
 board/emk/top9000/top9000.c                 |   8 +-
 board/esd/du440/du440.c                     |   2 -
 board/esd/vme8349/vme8349.c                 |   6 +-
 board/eukrea/cpuat91/cpuat91.c              |   2 +-
 board/freescale/m52277evb/README            |   4 +-
 board/freescale/m53017evb/README            |   4 +-
 board/freescale/m5373evb/README             |   4 +-
 board/freescale/m54455evb/README            |   4 +-
 board/freescale/m547xevb/README             |   4 +-
 board/freescale/mpc8349itx/mpc8349itx.c     |   3 +-
 board/freescale/mpc8349itx/pci.c            |   2 +-
 board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c |   2 +-
 board/ids8247/ids8247.c                     |   2 +-
 board/keymile/common/ivm.c                  |  19 +-
 board/keymile/km83xx/km83xx.c               |  15 -
 board/keymile/km_arm/km_arm.c               |   8 +-
 board/lwmon/lwmon.c                         |   2 +-
 board/lwmon/pcmcia.c                        |   4 +-
 board/lwmon5/kbd.c                          |   2 +-
 board/mpl/pip405/pip405.c                   |   2 +-
 board/nvidia/common/board.c                 |   4 +-
 board/pm826/pm826.c                         |   2 +-
 board/pm828/pm828.c                         |   2 +-
 board/sacsng/ioconfig.h                     |   2 +-
 board/sandburst/common/ppc440gx_i2c.c       | 510 ----------------------------
 board/sandburst/common/ppc440gx_i2c.h       |  60 ----
 board/sandburst/common/sb_common.c          | 103 +++---
 board/sandburst/common/sb_common.h          |   1 -
 board/sandburst/karef/Makefile              |   3 +-
 board/sandburst/karef/karef.c               |   6 -
 board/sandburst/metrobox/Makefile           |   3 +-
 board/sandburst/metrobox/metrobox.c         |   6 -
 board/tqc/tqm8260/tqm8260.c                 |   2 +-
 board/tqc/tqm8272/tqm8272.c                 |   2 +-
 board/tqc/tqm8272/tqm8272.h                 |   2 +-
 common/board_f.c                            |   4 +-
 common/cmd_date.c                           |   9 +
 common/cmd_dtt.c                            |   9 +
 common/cmd_eeprom.c                         |   3 +-
 common/cmd_i2c.c                            | 351 +++++--------------
 common/env_eeprom.c                         |  26 +-
 common/stdio.c                              |  13 +-
 drivers/i2c/Makefile                        |   9 +-
 drivers/i2c/fsl_i2c.c                       | 220 +++++-------
 drivers/i2c/i2c_core.c                      | 414 ++++++++++++++++++++++
 drivers/i2c/ppc4xx_i2c.c                    | 193 ++++++-----
 drivers/i2c/soft_i2c.c                      | 104 +++---
 drivers/i2c/tegra_i2c.c                     | 118 ++++---
 include/asm-generic/global_data.h           |   3 +
 include/configs/A3000.h                     |   4 +-
 include/configs/APC405.h                    |   9 +-
 include/configs/ASH405.h                    |   9 +-
 include/configs/B4860QDS.h                  |  16 +-
 include/configs/BSC9131RDB.h                |  12 +-
 include/configs/BSC9132QDS.h                |  17 +-
 include/configs/CANBT.h                     |  15 +-
 include/configs/CATcenter.h                 |   9 +-
 include/configs/CMS700.h                    |   9 +-
 include/configs/CPCI2DP.h                   |   9 +-
 include/configs/CPCI405.h                   |   9 +-
 include/configs/CPCI4052.h                  |   9 +-
 include/configs/CPCI405AB.h                 |   9 +-
 include/configs/CPCI405DT.h                 |   9 +-
 include/configs/CPCIISER4.h                 |   9 +-
 include/configs/CPU86.h                     |   7 +-
 include/configs/CPU87.h                     |   7 +-
 include/configs/CRAYL1.h                    |   9 +-
 include/configs/DP405.h                     |   9 +-
 include/configs/DU405.h                     |   9 +-
 include/configs/DU440.h                     |  19 +-
 include/configs/G2000.h                     |   9 +-
 include/configs/GEN860T.h                   |  39 ++-
 include/configs/HH405.h                     |  11 +-
 include/configs/HIDDEN_DRAGON.h             |   9 +-
 include/configs/HUB405.h                    |   9 +-
 include/configs/HWW1U1A.h                   |  18 +-
 include/configs/ICU862.h                    |  13 +-
 include/configs/IDS8247.h                   |   9 +-
 include/configs/IP860.h                     |   9 +-
 include/configs/IPHASE4539.h                |  11 +-
 include/configs/JSE.h                       |  10 +-
 include/configs/KAREF.h                     |  17 +-
 include/configs/KUP4K.h                     |  11 +-
 include/configs/KUP4X.h                     |  12 +-
 include/configs/M5208EVBE.h                 |  11 +-
 include/configs/M52277EVB.h                 |  11 +-
 include/configs/M5235EVB.h                  |  11 +-
 include/configs/M5253DEMO.h                 |  10 +-
 include/configs/M5271EVB.h                  |  11 +-
 include/configs/M5275EVB.h                  |  11 +-
 include/configs/M53017EVB.h                 |  11 +-
 include/configs/M5329EVB.h                  |  11 +-
 include/configs/M5373EVB.h                  |  11 +-
 include/configs/M54418TWR.h                 |   4 +-
 include/configs/M54451EVB.h                 |  11 +-
 include/configs/M54455EVB.h                 |  11 +-
 include/configs/M5475EVB.h                  |  11 +-
 include/configs/M5485EVB.h                  |  11 +-
 include/configs/MERGERBOX.h                 |  15 +-
 include/configs/METROBOX.h                  |  17 +-
 include/configs/MHPC.h                      |   8 +-
 include/configs/MIP405.h                    |   9 +-
 include/configs/MPC8308RDB.h                |  17 +-
 include/configs/MPC8313ERDB.h               |  17 +-
 include/configs/MPC8315ERDB.h               |  13 +-
 include/configs/MPC8323ERDB.h               |  13 +-
 include/configs/MPC832XEMDS.h               |  13 +-
 include/configs/MPC8349EMDS.h               |  18 +-
 include/configs/MPC8349ITX.h                |  24 +-
 include/configs/MPC8360EMDS.h               |  14 +-
 include/configs/MPC8360ERDK.h               |  18 +-
 include/configs/MPC837XEMDS.h               |  14 +-
 include/configs/MPC837XERDB.h               |  14 +-
 include/configs/MPC8536DS.h                 |  18 +-
 include/configs/MPC8540ADS.h                |  13 +-
 include/configs/MPC8541CDS.h                |  13 +-
 include/configs/MPC8544DS.h                 |  13 +-
 include/configs/MPC8548CDS.h                |  13 +-
 include/configs/MPC8555CDS.h                |  13 +-
 include/configs/MPC8560ADS.h                |  13 +-
 include/configs/MPC8568MDS.h                |  18 +-
 include/configs/MPC8569MDS.h                |  18 +-
 include/configs/MPC8572DS.h                 |  18 +-
 include/configs/MPC8610HPCD.h               |  13 +-
 include/configs/MPC8641HPCN.h               |  13 +-
 include/configs/MVBLM7.h                    |  16 +-
 include/configs/OCRTC.h                     |   9 +-
 include/configs/ORSG.h                      |   9 +-
 include/configs/P1010RDB.h                  |  18 +-
 include/configs/P1022DS.h                   |  16 +-
 include/configs/P1023RDS.h                  |  16 +-
 include/configs/P1_P2_RDB.h                 |  19 +-
 include/configs/P2020COME.h                 |  17 +-
 include/configs/P2020DS.h                   |  17 +-
 include/configs/P2041RDB.h                  |  16 +-
 include/configs/PCI405.h                    |   9 +-
 include/configs/PIP405.h                    |   9 +-
 include/configs/PLU405.h                    |   9 +-
 include/configs/PM826.h                     |   8 +-
 include/configs/PM828.h                     |   8 +-
 include/configs/PMC405.h                    |   9 +-
 include/configs/PMC405DE.h                  |   9 +-
 include/configs/PMC440.h                    |  15 +-
 include/configs/PPChameleonEVB.h            |   9 +-
 include/configs/R360MPI.h                   |   6 +-
 include/configs/RPXClassic.h                |  16 +-
 include/configs/RPXlite.h                   |  30 ++
 include/configs/RRvision.h                  |  12 +-
 include/configs/SIMPC8313.h                 |  17 +-
 include/configs/SXNI855T.h                  |   7 +-
 include/configs/Sandpoint8240.h             |  15 +-
 include/configs/Sandpoint8245.h             |  15 +-
 include/configs/TASREG.h                    |  28 +-
 include/configs/TK885D.h                    |  12 +-
 include/configs/TOP5200.h                   |  12 +-
 include/configs/TOP860.h                    |  10 +-
 include/configs/TQM8260.h                   |   8 +-
 include/configs/TQM8272.h                   |  12 +-
 include/configs/TQM834x.h                   |  11 +-
 include/configs/TQM855M.h                   |  12 +-
 include/configs/TQM866M.h                   |  11 +-
 include/configs/TQM885D.h                   |  12 +-
 include/configs/VOH405.h                    |   9 +-
 include/configs/VOM405.h                    |   9 +-
 include/configs/W7OLMC.h                    |   9 +-
 include/configs/W7OLMG.h                    |   9 +-
 include/configs/WUH405.h                    |   9 +-
 include/configs/acadia.h                    |   2 +-
 include/configs/alpr.h                      |  12 +-
 include/configs/amcc-common.h               |   7 +-
 include/configs/aria.h                      |   1 -
 include/configs/astro_mcf5373l.h            |  11 +-
 include/configs/bamboo.h                    |   2 +-
 include/configs/beaver.h                    |   5 +-
 include/configs/bf533-ezkit.h               |   9 +-
 include/configs/bf533-stamp.h               |  48 ++-
 include/configs/bf561-ezkit.h               |   8 +-
 include/configs/bfin_adi_common.h           |   4 +-
 include/configs/blackstamp.h                |   9 +-
 include/configs/blackvme.h                  |   2 +-
 include/configs/bluestone.h                 |   2 +-
 include/configs/bubinga.h                   |   4 +-
 include/configs/canyonlands.h               |   2 +-
 include/configs/cardhu.h                    |   3 +-
 include/configs/corenet_ds.h                |  16 +-
 include/configs/cpuat91.h                   |   3 +-
 include/configs/csb272.h                    |   9 +-
 include/configs/csb472.h                    |   9 +-
 include/configs/dalmore.h                   |   3 +-
 include/configs/debris.h                    |   9 +-
 include/configs/dlvision-10g.h              |   2 +-
 include/configs/dlvision.h                  |   2 +-
 include/configs/eXalion.h                   |   2 +-
 include/configs/eb_cpu5282.h                |  10 +-
 include/configs/eb_cpux9k2.h                |  13 +-
 include/configs/ebony.h                     |   2 +-
 include/configs/ep8260.h                    |  13 +-
 include/configs/ethernut5.h                 |   8 +-
 include/configs/gdppc440etx.h               |   2 +-
 include/configs/ibf-dsp561.h                |   4 +-
 include/configs/icon.h                      |   3 +-
 include/configs/intip.h                     |   2 +-
 include/configs/io.h                        |   2 +-
 include/configs/io64.h                      |   2 +-
 include/configs/iocon.h                     |  10 +-
 include/configs/katmai.h                    |   3 +-
 include/configs/kilauea.h                   |   2 +-
 include/configs/km/keymile-common.h         |   3 -
 include/configs/km/km83xx-common.h          |  25 +-
 include/configs/km/km_arm.h                 |  26 +-
 include/configs/km82xx.h                    |  19 +-
 include/configs/km_kirkwood.h               |  16 +-
 include/configs/korat.h                     |  10 +-
 include/configs/luan.h                      |   2 +-
 include/configs/lwmon.h                     |  12 +-
 include/configs/lwmon5.h                    |  10 +-
 include/configs/makalu.h                    |   2 +-
 include/configs/mecp5123.h                  |   1 -
 include/configs/mpc5121ads.h                |   1 -
 include/configs/mpc8308_p1m.h               |  15 +-
 include/configs/mpq101.h                    |  16 +-
 include/configs/neo.h                       |   2 +-
 include/configs/nhk8815.h                   |   7 +-
 include/configs/ocotea.h                    |   2 +-
 include/configs/otc570.h                    |  17 +-
 include/configs/p1_p2_rdb_pc.h              |  19 +-
 include/configs/p3p440.h                    |  12 +-
 include/configs/pcs440ep.h                  |  10 +-
 include/configs/pdnb3.h                     |  10 +-
 include/configs/quad100hd.h                 |  10 +-
 include/configs/redwood.h                   |   4 +-
 include/configs/s5p_goni.h                  |   6 +-
 include/configs/s5pc210_universal.h         |   6 +-
 include/configs/sacsng.h                    |  11 +-
 include/configs/sbc405.h                    |  10 +-
 include/configs/sbc8349.h                   |  18 +-
 include/configs/sbc8548.h                   |  11 +-
 include/configs/sbc8641d.h                  |  13 +-
 include/configs/sc3.h                       |  10 +-
 include/configs/seaboard.h                  |   5 +-
 include/configs/sequoia.h                   |   2 +-
 include/configs/snapper9260.h               |   8 +-
 include/configs/socrates.h                  |  17 +-
 include/configs/spc1920.h                   |  12 +-
 include/configs/stxgp3.h                    |  12 +-
 include/configs/stxssa.h                    |  11 +-
 include/configs/t3corp.h                    |   2 +-
 include/configs/t4qds.h                     |  17 +-
 include/configs/taihu.h                     |   4 +-
 include/configs/taishan.h                   |   2 +-
 include/configs/tegra-common-post.h         |   4 +-
 include/configs/top9000.h                   |   9 +-
 include/configs/trats.h                     |   6 +-
 include/configs/trimslice.h                 |   5 +-
 include/configs/u8500_href.h                |   1 -
 include/configs/uc100.h                     |  12 +-
 include/configs/utx8245.h                   |   3 +-
 include/configs/vct.h                       |  11 +-
 include/configs/vl_ma2sc.h                  |   6 +-
 include/configs/vme8349.h                   |  20 +-
 include/configs/walnut.h                    |   2 +-
 include/configs/whistler.h                  |   5 +-
 include/configs/xpedite1000.h               |  10 +-
 include/configs/xpedite517x.h               |  15 +-
 include/configs/xpedite520x.h               |  15 +-
 include/configs/xpedite537x.h               |  16 +-
 include/configs/xpedite550x.h               |  15 +-
 include/configs/yosemite.h                  |   2 +-
 include/configs/yucca.h                     |   4 +-
 include/configs/zeus.h                      |  10 +-
 include/i2c.h                               | 232 +++++++++++--
 307 Dateien geändert, 2565 Zeilen hinzugefügt(+), 2625 Zeilen entfernt(-)
 delete mode 100644 board/sandburst/common/ppc440gx_i2c.c
 delete mode 100644 board/sandburst/common/ppc440gx_i2c.h
 create mode 100644 drivers/i2c/i2c_core.c

-- 
1.7.11.7



More information about the U-Boot mailing list