]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'master' of git://git.denx.de/u-boot-i2c
authorTom Rini <trini@ti.com>
Wed, 24 Jul 2013 13:22:28 +0000 (09:22 -0400)
committerTom Rini <trini@ti.com>
Wed, 24 Jul 2013 13:50:24 +0000 (09:50 -0400)
The sandburst-specific i2c drivers have been deleted, conflict was just
over the SPDX conversion.

Conflicts:
board/sandburst/common/ppc440gx_i2c.c
board/sandburst/common/ppc440gx_i2c.h

Signed-off-by: Tom Rini <trini@ti.com>
294 files changed:
1  2 
README
arch/arm/cpu/armv7/vf610/generic.c
arch/arm/include/asm/arch-kirkwood/config.h
arch/arm/include/asm/arch-vf610/clock.h
arch/arm/include/asm/arch-vf610/crm_regs.h
arch/arm/include/asm/arch-vf610/imx-regs.h
arch/arm/include/asm/arch-vf610/iomux-vf610.h
arch/arm/lib/board.c
arch/m68k/cpu/mcf5227x/cpu_init.c
arch/m68k/cpu/mcf5227x/speed.c
arch/m68k/cpu/mcf523x/cpu_init.c
arch/m68k/cpu/mcf523x/speed.c
arch/m68k/cpu/mcf52x2/cpu_init.c
arch/m68k/cpu/mcf52x2/speed.c
arch/m68k/cpu/mcf532x/cpu_init.c
arch/m68k/cpu/mcf532x/speed.c
arch/m68k/cpu/mcf5445x/cpu_init.c
arch/m68k/cpu/mcf5445x/speed.c
arch/m68k/cpu/mcf547x_8x/cpu_init.c
arch/m68k/cpu/mcf547x_8x/speed.c
arch/m68k/include/asm/global_data.h
arch/m68k/lib/board.c
arch/nds32/lib/board.c
arch/powerpc/cpu/mpc8260/i2c.c
arch/powerpc/cpu/mpc8xx/video.c
arch/powerpc/cpu/ppc4xx/40x_spd_sdram.c
arch/powerpc/cpu/ppc4xx/44x_spd_ddr.c
arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
arch/powerpc/cpu/ppc4xx/cmd_chip_config.c
arch/powerpc/cpu/ppc4xx/denali_spd_ddr2.c
arch/powerpc/include/asm/ppc4xx-i2c.h
arch/powerpc/lib/board.c
board/BuS/eb_cpux9k2/cpux9k2.c
board/BuS/vl_ma2sc/vl_ma2sc.c
board/atc/atc.c
board/bluewater/snapper9260/snapper9260.c
board/cm5200/cm5200.c
board/cpu86/cpu86.c
board/cpu87/cpu87.c
board/csb272/csb272.c
board/emk/top9000/top9000.c
board/esd/du440/du440.c
board/esd/vme8349/vme8349.c
board/eukrea/cpuat91/cpuat91.c
board/freescale/mpc8349itx/mpc8349itx.c
board/freescale/mpc8349itx/pci.c
board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
board/freescale/vf610twr/vf610twr.c
board/ids8247/ids8247.c
board/keymile/common/ivm.c
board/keymile/km83xx/km83xx.c
board/keymile/km_arm/km_arm.c
board/lwmon/lwmon.c
board/lwmon5/kbd.c
board/mpl/pip405/pip405.c
board/nvidia/common/board.c
board/pm826/pm826.c
board/pm828/pm828.c
board/sandburst/common/sb_common.c
board/sandburst/common/sb_common.h
board/sandburst/karef/Makefile
board/sandburst/karef/karef.c
board/sandburst/metrobox/Makefile
board/sandburst/metrobox/metrobox.c
board/tqc/tqm8260/tqm8260.c
board/tqc/tqm8272/tqm8272.c
board/tqc/tqm8272/tqm8272.h
common/board_f.c
common/cmd_date.c
common/cmd_dtt.c
common/cmd_eeprom.c
common/cmd_i2c.c
common/env_eeprom.c
common/stdio.c
drivers/i2c/Makefile
drivers/i2c/mxc_i2c.c
drivers/i2c/ppc4xx_i2c.c
drivers/i2c/soft_i2c.c
drivers/i2c/tegra_i2c.c
include/asm-generic/global_data.h
include/configs/A3000.h
include/configs/APC405.h
include/configs/ASH405.h
include/configs/B4860QDS.h
include/configs/BSC9131RDB.h
include/configs/BSC9132QDS.h
include/configs/CANBT.h
include/configs/CATcenter.h
include/configs/CMS700.h
include/configs/CPCI2DP.h
include/configs/CPCI405.h
include/configs/CPCI4052.h
include/configs/CPCI405AB.h
include/configs/CPCI405DT.h
include/configs/CPCIISER4.h
include/configs/CPU86.h
include/configs/CPU87.h
include/configs/CRAYL1.h
include/configs/DP405.h
include/configs/DU405.h
include/configs/DU440.h
include/configs/G2000.h
include/configs/GEN860T.h
include/configs/HH405.h
include/configs/HIDDEN_DRAGON.h
include/configs/HUB405.h
include/configs/HWW1U1A.h
include/configs/ICU862.h
include/configs/IDS8247.h
include/configs/IP860.h
include/configs/IPHASE4539.h
include/configs/JSE.h
include/configs/KAREF.h
include/configs/KUP4K.h
include/configs/KUP4X.h
include/configs/M5208EVBE.h
include/configs/M52277EVB.h
include/configs/M5235EVB.h
include/configs/M5253DEMO.h
include/configs/M5271EVB.h
include/configs/M5275EVB.h
include/configs/M53017EVB.h
include/configs/M5329EVB.h
include/configs/M5373EVB.h
include/configs/M54418TWR.h
include/configs/M54451EVB.h
include/configs/M54455EVB.h
include/configs/M5475EVB.h
include/configs/M5485EVB.h
include/configs/MERGERBOX.h
include/configs/METROBOX.h
include/configs/MHPC.h
include/configs/MIP405.h
include/configs/MPC8308RDB.h
include/configs/MPC8313ERDB.h
include/configs/MPC8315ERDB.h
include/configs/MPC832XEMDS.h
include/configs/MPC8349EMDS.h
include/configs/MPC8349ITX.h
include/configs/MPC8360EMDS.h
include/configs/MPC8360ERDK.h
include/configs/MPC837XEMDS.h
include/configs/MPC837XERDB.h
include/configs/MPC8536DS.h
include/configs/MPC8540ADS.h
include/configs/MPC8541CDS.h
include/configs/MPC8544DS.h
include/configs/MPC8548CDS.h
include/configs/MPC8555CDS.h
include/configs/MPC8560ADS.h
include/configs/MPC8568MDS.h
include/configs/MPC8569MDS.h
include/configs/MPC8572DS.h
include/configs/MPC8641HPCN.h
include/configs/MVBLM7.h
include/configs/OCRTC.h
include/configs/ORSG.h
include/configs/P1010RDB.h
include/configs/P1022DS.h
include/configs/P1023RDB.h
include/configs/P1023RDS.h
include/configs/P1_P2_RDB.h
include/configs/P2020COME.h
include/configs/P2020DS.h
include/configs/P2041RDB.h
include/configs/PCI405.h
include/configs/PIP405.h
include/configs/PLU405.h
include/configs/PM826.h
include/configs/PM828.h
include/configs/PMC405.h
include/configs/PMC405DE.h
include/configs/PMC440.h
include/configs/PPChameleonEVB.h
include/configs/R360MPI.h
include/configs/RPXClassic.h
include/configs/RPXlite.h
include/configs/RRvision.h
include/configs/SIMPC8313.h
include/configs/SXNI855T.h
include/configs/Sandpoint8240.h
include/configs/Sandpoint8245.h
include/configs/TASREG.h
include/configs/TK885D.h
include/configs/TOP5200.h
include/configs/TOP860.h
include/configs/TQM8260.h
include/configs/TQM8272.h
include/configs/TQM834x.h
include/configs/TQM855M.h
include/configs/TQM866M.h
include/configs/TQM885D.h
include/configs/VOH405.h
include/configs/VOM405.h
include/configs/W7OLMC.h
include/configs/W7OLMG.h
include/configs/WUH405.h
include/configs/acadia.h
include/configs/alpr.h
include/configs/amcc-common.h
include/configs/aria.h
include/configs/astro_mcf5373l.h
include/configs/bamboo.h
include/configs/bluestone.h
include/configs/bubinga.h
include/configs/canyonlands.h
include/configs/corenet_ds.h
include/configs/cpuat91.h
include/configs/csb272.h
include/configs/csb472.h
include/configs/debris.h
include/configs/dlvision-10g.h
include/configs/dlvision.h
include/configs/eXalion.h
include/configs/eb_cpu5282.h
include/configs/eb_cpux9k2.h
include/configs/ebony.h
include/configs/ep8260.h
include/configs/ethernut5.h
include/configs/gdppc440etx.h
include/configs/icon.h
include/configs/intip.h
include/configs/io.h
include/configs/io64.h
include/configs/iocon.h
include/configs/katmai.h
include/configs/kilauea.h
include/configs/km/keymile-common.h
include/configs/km/km83xx-common.h
include/configs/km/km_arm.h
include/configs/km82xx.h
include/configs/km_kirkwood.h
include/configs/korat.h
include/configs/luan.h
include/configs/lwmon.h
include/configs/lwmon5.h
include/configs/makalu.h
include/configs/mecp5123.h
include/configs/mpc5121ads.h
include/configs/mpc8308_p1m.h
include/configs/mpq101.h
include/configs/neo.h
include/configs/nhk8815.h
include/configs/ocotea.h
include/configs/otc570.h
include/configs/p1_p2_rdb_pc.h
include/configs/p3p440.h
include/configs/pcs440ep.h
include/configs/pdnb3.h
include/configs/quad100hd.h
include/configs/redwood.h
include/configs/s5p_goni.h
include/configs/s5pc210_universal.h
include/configs/sacsng.h
include/configs/sbc405.h
include/configs/sbc8349.h
include/configs/sbc8548.h
include/configs/sbc8641d.h
include/configs/sc3.h
include/configs/seaboard.h
include/configs/sequoia.h
include/configs/snapper9260.h
include/configs/socrates.h
include/configs/spc1920.h
include/configs/stxgp3.h
include/configs/stxssa.h
include/configs/t3corp.h
include/configs/t4qds.h
include/configs/taihu.h
include/configs/taishan.h
include/configs/tegra-common-post.h
include/configs/top9000.h
include/configs/trats.h
include/configs/trimslice.h
include/configs/u8500_href.h
include/configs/uc100.h
include/configs/utx8245.h
include/configs/vct.h
include/configs/vf610twr.h
include/configs/vl_ma2sc.h
include/configs/vme8349.h
include/configs/walnut.h
include/configs/whistler.h
include/configs/xpedite1000.h
include/configs/xpedite517x.h
include/configs/xpedite520x.h
include/configs/xpedite537x.h
include/configs/xpedite550x.h
include/configs/yosemite.h
include/configs/yucca.h
include/configs/zeus.h
include/fdtdec.h
include/i2c.h
lib/fdtdec.c

diff --combined README
index ba9be2be57c285e142684e1eb9f5fb794cefe54f,d0aeb526209faa777254e495216a1171f0fb6f02..a5c3e8dcf7f349badd7295f261ea3dcf7a51c748
--- 1/README
--- 2/README
+++ b/README
@@@ -1,8 -1,24 +1,8 @@@
  #
 -# (C) Copyright 2000 - 2012
 +# (C) Copyright 2000 - 2013
  # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  #
 -# See file CREDITS for list of people who contributed to this
 -# project.
 -#
 -# This program is free software; you can redistribute it and/or
 -# modify it under the terms of the GNU General Public License as
 -# published by the Free Software Foundation; either version 2 of
 -# the License, or (at your option) any later version.
 -#
 -# This program is distributed in the hope that it will be useful,
 -# but WITHOUT ANY WARRANTY; without even the implied warranty of
 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 -# GNU General Public License for more details.
 -#
 -# You should have received a copy of the GNU General Public License
 -# along with this program; if not, write to the Free Software
 -# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 -# MA 02111-1307 USA
 +# SPDX-License-Identifier:    GPL-2.0+
  #
  
  Summary:
@@@ -1928,11 -1944,114 +1928,114 @@@ CBFS (Coreboot Filesystem) suppor
                on those systems that support this (optional)
                feature, like the TQM8xxL modules.
  
- - I2C Support:        CONFIG_HARD_I2C | CONFIG_SOFT_I2C
-               These enable I2C serial bus commands. Defining either of
-               (but not both of) CONFIG_HARD_I2C or CONFIG_SOFT_I2C will
-               include the appropriate I2C driver for the selected CPU.
+ - I2C Support:        CONFIG_SYS_I2C
+               This enable the NEW i2c subsystem, and will allow you to use
+               i2c commands at the u-boot command line (as long as you set
+               CONFIG_CMD_I2C in CONFIG_COMMANDS) and communicate with i2c
+               based realtime clock chips or other i2c devices. See
+               common/cmd_i2c.c for a description of the command line
+               interface.
+               ported i2c driver to the new framework:
+               - drivers/i2c/soft_i2c.c:
+                 - activate first bus with CONFIG_SYS_I2C_SOFT define
+                   CONFIG_SYS_I2C_SOFT_SPEED and CONFIG_SYS_I2C_SOFT_SLAVE
+                   for defining speed and slave address
+                 - activate second bus with I2C_SOFT_DECLARATIONS2 define
+                   CONFIG_SYS_I2C_SOFT_SPEED_2 and CONFIG_SYS_I2C_SOFT_SLAVE_2
+                   for defining speed and slave address
+                 - activate third bus with I2C_SOFT_DECLARATIONS3 define
+                   CONFIG_SYS_I2C_SOFT_SPEED_3 and CONFIG_SYS_I2C_SOFT_SLAVE_3
+                   for defining speed and slave address
+                 - activate fourth bus with I2C_SOFT_DECLARATIONS4 define
+                   CONFIG_SYS_I2C_SOFT_SPEED_4 and CONFIG_SYS_I2C_SOFT_SLAVE_4
+                   for defining speed and slave address
+               - drivers/i2c/fsl_i2c.c:
+                 - activate i2c driver with CONFIG_SYS_I2C_FSL
+                   define CONFIG_SYS_FSL_I2C_OFFSET for setting the register
+                   offset CONFIG_SYS_FSL_I2C_SPEED for the i2c speed and
+                   CONFIG_SYS_FSL_I2C_SLAVE for the slave addr of the first
+                   bus.
+                   - If your board supports a second fsl i2c bus, define
+                   CONFIG_SYS_FSL_I2C2_OFFSET for the register offset
+                   CONFIG_SYS_FSL_I2C2_SPEED for the speed and
+                   CONFIG_SYS_FSL_I2C2_SLAVE for the slave address of the
+                   second bus.
+               - drivers/i2c/tegra_i2c.c:
+                - activate this driver with CONFIG_SYS_I2C_TEGRA
+                - This driver adds 4 i2c buses with a fix speed from
+                  100000 and the slave addr 0!
+               - drivers/i2c/ppc4xx_i2c.c
+                 - activate this driver with CONFIG_SYS_I2C_PPC4XX
+                 - CONFIG_SYS_I2C_PPC4XX_CH0 activate hardware channel 0
+                 - CONFIG_SYS_I2C_PPC4XX_CH1 activate hardware channel 1
+               additional defines:
+               CONFIG_SYS_NUM_I2C_BUSES
+               Hold the number of i2c busses you want to use. If you
+               don't use/have i2c muxes on your i2c bus, this
+               is equal to CONFIG_SYS_NUM_I2C_ADAPTERS, and you can
+               omit this define.
+               CONFIG_SYS_I2C_DIRECT_BUS
+               define this, if you don't use i2c muxes on your hardware.
+               if CONFIG_SYS_I2C_MAX_HOPS is not defined or == 0 you can
+               omit this define.
+               CONFIG_SYS_I2C_MAX_HOPS
+               define how many muxes are maximal consecutively connected
+               on one i2c bus. If you not use i2c muxes, omit this
+               define.
+               CONFIG_SYS_I2C_BUSES
+               hold a list of busses you want to use, only used if
+               CONFIG_SYS_I2C_DIRECT_BUS is not defined, for example
+               a board with CONFIG_SYS_I2C_MAX_HOPS = 1 and
+               CONFIG_SYS_NUM_I2C_BUSES = 9:
+                CONFIG_SYS_I2C_BUSES   {{0, {I2C_NULL_HOP}}, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 1}}}, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 2}}}, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 3}}}, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 4}}}, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 5}}}, \
+                                       {1, {I2C_NULL_HOP}}, \
+                                       {1, {{I2C_MUX_PCA9544, 0x72, 1}}}, \
+                                       {1, {{I2C_MUX_PCA9544, 0x72, 2}}}, \
+                                       }
+               which defines
+                       bus 0 on adapter 0 without a mux
+                       bus 1 on adapter 0 with a PCA9547 on address 0x70 port 1
+                       bus 2 on adapter 0 with a PCA9547 on address 0x70 port 2
+                       bus 3 on adapter 0 with a PCA9547 on address 0x70 port 3
+                       bus 4 on adapter 0 with a PCA9547 on address 0x70 port 4
+                       bus 5 on adapter 0 with a PCA9547 on address 0x70 port 5
+                       bus 6 on adapter 1 without a mux
+                       bus 7 on adapter 1 with a PCA9544 on address 0x72 port 1
+                       bus 8 on adapter 1 with a PCA9544 on address 0x72 port 2
+               If you do not have i2c muxes on your board, omit this define.
+ - Legacy I2C Support: CONFIG_HARD_I2C
+               NOTE: It is intended to move drivers to CONFIG_SYS_I2C which
+               provides the following compelling advantages:
+               - more than one i2c adapter is usable
+               - approved multibus support
+               - better i2c mux support
+               ** Please consider updating your I2C driver now. **
+               These enable legacy I2C serial bus commands. Defining
+               CONFIG_HARD_I2C will include the appropriate I2C driver
+               for the selected CPU.
  
                This will allow you to use i2c commands at the u-boot
                command line (as long as you set CONFIG_CMD_I2C in
  
                CONFIG_HARD_I2C selects a hardware I2C controller.
  
-               CONFIG_SOFT_I2C configures u-boot to use a software (aka
-               bit-banging) driver instead of CPM or similar hardware
-               support for I2C.
                There are several other quantities that must also be
-               defined when you define CONFIG_HARD_I2C or CONFIG_SOFT_I2C.
+               defined when you define CONFIG_HARD_I2C.
  
                In both cases you will need to define CONFIG_SYS_I2C_SPEED
                to be the frequency (in Hz) at which you wish your i2c bus
  
                That's all that's required for CONFIG_HARD_I2C.
  
-               If you use the software i2c interface (CONFIG_SOFT_I2C)
+               If you use the software i2c interface (CONFIG_SYS_I2C_SOFT)
                then the following macros need to be defined (examples are
                from include/configs/lwmon.h):
  
                If not defined, then U-Boot uses predefined value for
                specified DTT device.
  
-               CONFIG_FSL_I2C
-               Define this option if you want to use Freescale's I2C driver in
-               drivers/i2c/fsl_i2c.c.
-               CONFIG_I2C_MUX
-               Define this option if you have I2C devices reached over 1 .. n
-               I2C Muxes like the pca9544a. This option addes a new I2C
-               Command "i2c bus [muxtype:muxaddr:muxchannel]" which adds a
-               new I2C Bus to the existing I2C Busses. If you select the
-               new Bus with "i2c dev", u-bbot sends first the commandos for
-               the muxes to activate this new "bus".
-               CONFIG_I2C_MULTI_BUS must be also defined, to use this
-               feature!
-               Example:
-               Adding a new I2C Bus reached over 2 pca9544a muxes
-                       The First mux with address 70 and channel 6
-                       The Second mux with address 71 and channel 4
-               => i2c bus pca9544a:70:6:pca9544a:71:4
-               Use the "i2c bus" command without parameter, to get a list
-               of I2C Busses with muxes:
-               => i2c bus
-               Busses reached over muxes:
-               Bus ID: 2
-                 reached over Mux(es):
-                   pca9544a@70 ch: 4
-               Bus ID: 3
-                 reached over Mux(es):
-                   pca9544a@70 ch: 6
-                   pca9544a@71 ch: 4
-               =>
-               If you now switch to the new I2C Bus 3 with "i2c dev 3"
-               u-boot first sends the command to the mux@70 to enable
-               channel 6, and then the command to the mux@71 to enable
-               the channel 4.
-               After that, you can use the "normal" i2c commands as
-               usual to communicate with your I2C devices behind
-               the 2 muxes.
-               This option is actually implemented for the bitbanging
-               algorithm in common/soft_i2c.c and for the Hardware I2C
-               Bus on the MPC8260. But it should be not so difficult
-               to add this option to other architectures.
                CONFIG_SOFT_I2C_READ_REPEATED_START
  
                defining this will force the i2c_read() function in
@@@ -3588,7 -3651,7 +3635,7 @@@ to save the current settings
          I2C muxes, you can define here, how to reach this
          EEPROM. For example:
  
-         #define CONFIG_I2C_ENV_EEPROM_BUS       "pca9547:70:d\0"
+         #define CONFIG_I2C_ENV_EEPROM_BUS       1
  
          EEPROM which holds the environment, is reached over
          a pca9547 i2c mux with address 0x70, channel 3.
index 48dd60aa696e070e551a836aed83d807b7499c94,f6ef495382430907e3763df9369c053779ab030d..a26d63ebe0135fca6def324bac919d839fda0a2c
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * Copyright 2013 Freescale Semiconductor, Inc.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -191,6 -204,11 +191,11 @@@ u32 get_fec_clk(void
        return freq;
  }
  
+ static u32 get_i2c_clk(void)
+ {
+       return get_ipg_clk();
+ }
  unsigned int mxc_get_clock(enum mxc_clock clk)
  {
        switch (clk) {
                return get_sdhc_clk();
        case MXC_FEC_CLK:
                return get_fec_clk();
+       case MXC_I2C_CLK:
+               return get_i2c_clk();
        default:
                break;
        }
index 78d144184a83468e6cd5cc84b9f763807fdea7e9,f0e84e62b028f9acf64c8bd45d606fcd61c33f3a..197703b838427a09a9381b90e159f5c457fc3cd4
@@@ -3,7 -3,23 +3,7 @@@
   * Marvell Semiconductor <www.marvell.com>
   * Written-by: Lei Wen <leiwen@marvell.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 - * MA 02110-1301 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
   * I2C related stuff
   */
  #ifdef CONFIG_CMD_I2C
- #ifndef CONFIG_SOFT_I2C
+ #ifndef CONFIG_SYS_I2C_SOFT
  #define CONFIG_I2C_MVTWSI
  #endif
  #define CONFIG_SYS_I2C_SLAVE          0x0
index 9b2e2b06dd8c26284e3d0bee30c24186be0c7ac4,3cbae0b829f780682250ea104f2467d251feb41b..535adadd79068cb9563c0d86c979c989e22f273d
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * Copyright 2013 Freescale Semiconductor, Inc.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __ASM_ARCH_CLOCK_H
@@@ -16,6 -29,7 +16,7 @@@ enum mxc_clock 
        MXC_UART_CLK,
        MXC_ESDHC_CLK,
        MXC_FEC_CLK,
+       MXC_I2C_CLK,
  };
  
  void enable_ocotp_clk(unsigned char enable);
index 8532ead23781315c0a3b6e2d8bf344a416041a3e,6a67eb048c28deb0a66ea9362c89d16b02f9433d..85f1fda9f5ea22a39da34bb523b74593c70f4664
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * Copyright 2013 Freescale Semiconductor, Inc.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __ARCH_ARM_MACH_VF610_CCM_REGS_H__
@@@ -177,6 -190,7 +177,7 @@@ struct anadig_reg 
  #define CCM_CCGR4_WKUP_CTRL_MASK              (0x3 << 20)
  #define CCM_CCGR4_CCM_CTRL_MASK                       (0x3 << 22)
  #define CCM_CCGR4_GPC_CTRL_MASK                       (0x3 << 24)
+ #define CCM_CCGR4_I2C0_CTRL_MASK              (0x3 << 12)
  #define CCM_CCGR6_OCOTP_CTRL_MASK             (0x3 << 10)
  #define CCM_CCGR6_DDRMC_CTRL_MASK             (0x3 << 28)
  #define CCM_CCGR7_SDHC1_CTRL_MASK             (0x3 << 4)
index 9e42be9756785b24f98f813b491c64a9eb6d32e8,742e20a60680e9f1bca046fbc4dfb9dba01583d8..b8c877f939b8a0e60b28e7bbc8ae190a51346d3b
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * Copyright 2013 Freescale Semiconductor, Inc.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __ASM_ARCH_IMX_REGS_H__
  #define CONFIG_IOMUX_SHARE_CONF_REG
  
  #define FEC_QUIRK_ENET_MAC
+ #define I2C_QUIRK_REG
  
  /* MSCM interrupt rounter */
  #define MSCM_IRSPRC_CP0_EN                            1
index 385a23effe0eba278b3ddcb8e3c95fe01410a663,7aeadce38001d3e8a4dce216f8a77e019300583c..4a39eb0d60f8dc5a8dcce9592a6cd556ad2fa4ba
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * Copyright 2013 Freescale Semiconductor, Inc.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __IOMUX_VF610_H__
@@@ -17,6 -30,8 +17,8 @@@
  #define VF610_ENET_PAD_CTRL   (PAD_CTL_PUS_47K_UP | PAD_CTL_DSE_50ohm | \
                                PAD_CTL_OBE_IBE_ENABLE)
  #define VF610_DDR_PAD_CTRL    PAD_CTL_DSE_25ohm
+ #define VF610_I2C_PAD_CTRL    (PAD_CTL_PUS_47K_UP | PAD_CTL_DSE_50ohm | \
+                               PAD_CTL_SPEED_HIGH | PAD_CTL_OBE_IBE_ENABLE)
  
  enum {
        VF610_PAD_PTA6__RMII0_CLKIN             = IOMUX_PAD(0x0000, 0x0000, 2, __NA_, 0, VF610_ENET_PAD_CTRL),
@@@ -37,6 -52,8 +39,8 @@@
        VF610_PAD_PTA27__ESDHC1_DAT1            = IOMUX_PAD(0x0044, 0x0044, 5, __NA_, 0, VF610_SDHC_PAD_CTRL),
        VF610_PAD_PTA28__ESDHC1_DAT2            = IOMUX_PAD(0x0048, 0x0048, 5, __NA_, 0, VF610_SDHC_PAD_CTRL),
        VF610_PAD_PTA29__ESDHC1_DAT3            = IOMUX_PAD(0x004c, 0x004c, 5, __NA_, 0, VF610_SDHC_PAD_CTRL),
+       VF610_PAD_PTB14__I2C0_SCL               = IOMUX_PAD(0x0090, 0x0090, 2, 0x033c, 1, VF610_I2C_PAD_CTRL),
+       VF610_PAD_PTB15__I2C0_SDA               = IOMUX_PAD(0x0094, 0x0094, 2, 0x0340, 1, VF610_I2C_PAD_CTRL),
        VF610_PAD_DDR_A15__DDR_A_15             = IOMUX_PAD(0x0220, 0x0220, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
        VF610_PAD_DDR_A14__DDR_A_14             = IOMUX_PAD(0x0224, 0x0224, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
        VF610_PAD_DDR_A13__DDR_A_13             = IOMUX_PAD(0x0228, 0x0228, 0, __NA_, 0, VF610_DDR_PAD_CTRL),
diff --combined arch/arm/lib/board.c
index 7c1b02148858ff9e0016d3e932d961a6aae36340,5360883db7dc1df94c69270215d39666daab76e7..9c72a5353fe2cdd865f9896e915a45a89ecec5fb
@@@ -6,7 -6,23 +6,7 @@@
   * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   * Marius Groeger <mgroeger@sysgo.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -53,7 -69,7 +53,7 @@@ extern void dataflash_print_info(void)
  #endif
  
  #if defined(CONFIG_HARD_I2C) || \
-     defined(CONFIG_SOFT_I2C)
+       defined(CONFIG_SYS_I2C)
  #include <i2c.h>
  #endif
  
@@@ -149,11 -165,15 +149,15 @@@ static int display_dram_config(void
        return (0);
  }
  
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
  static int init_func_i2c(void)
  {
        puts("I2C:   ");
+ #ifdef CONFIG_SYS_I2C
+       i2c_init_all();
+ #else
        i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+ #endif
        puts("ready\n");
        return (0);
  }
@@@ -252,7 -272,7 +256,7 @@@ init_fnc_t *init_sequence[] = 
  #if defined(CONFIG_DISPLAY_BOARDINFO)
        checkboard,             /* display board info */
  #endif
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
        init_func_i2c,
  #endif
        dram_init,              /* configure available RAM banks */
index 7e8f832fede3ecb1c905c7d6b93f37398f343d83,e9ac21a31d2de876272382dc50b7b66b2982ab5c..91b5fadc8809493d3a97b232d8cea9247fdf7139
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2004-2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -89,7 -105,7 +89,7 @@@ void cpu_init_f(void
        out_be32(&fbcs->csmr5, CONFIG_SYS_CS5_MASK);
  #endif
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        out_8(&gpio->par_i2c, GPIO_PAR_I2C_SCL_SCL | GPIO_PAR_I2C_SDA_SDA);
  #endif
  
index 08e49906f52ec51332395dea1a778019ddf7d826,30d32071adde1b4cc96f105d3fc2e85a3d82f7b4..44de4a6701ac4ce6700218623338c8582af9be2b
@@@ -3,7 -3,23 +3,7 @@@
   * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -118,7 -134,7 +118,7 @@@ int get_clocks(void
                gd->bus_clk = gd->arch.flb_clk;
        }
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        gd->arch.i2c1_clk = gd->bus_clk;
  #endif
  
index 494c5495a5c2dd40f692b47d1f29c8818796b0d8,1ad5d02d29f5fb52b775f21cdec53b3b416ec918..5a789540fc93bb4aaf069f2a55fa7689e827f7d1
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -99,7 -115,7 +99,7 @@@ void cpu_init_f(void
        out_be32(&fbcs->csmr7, CONFIG_SYS_CS7_MASK);
  #endif
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        CONFIG_SYS_I2C_PINMUX_REG &= CONFIG_SYS_I2C_PINMUX_CLR;
        CONFIG_SYS_I2C_PINMUX_REG |= CONFIG_SYS_I2C_PINMUX_SET;
  #endif
index 5abd77149f4cebb97ace9ffb0170a810f271b60d,7876ba8ab5f6da74403989f4339bb872a11d88d0..a4aa05b3fa8a4846ff5a8d98e92dd1e0b2e214ef
@@@ -6,7 -6,23 +6,7 @@@
   * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -31,7 -47,7 +31,7 @@@ int get_clocks(void
        gd->bus_clk = CONFIG_SYS_CLK;
        gd->cpu_clk = (gd->bus_clk * 2);
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        gd->arch.i2c1_clk = gd->bus_clk;
  #endif
  
index dc703695d8effcf87bbd4c9ff1f477d15a939bde,5d01670ca8bfd49443fd3b4bec3d97a35a166ecd..0882c3b8e5b2e0f21fa4f79fde65022beb3ee40c
   * MCF5275 additions
   * Copyright (C) 2008 Arthur Shipkowski (art@videon-central.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
@@@ -212,7 -228,7 +212,7 @@@ void cpu_init_f(void
        /* FlexBus Chipselect */
        init_fbcs();
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        CONFIG_SYS_I2C_PINMUX_REG =
            CONFIG_SYS_I2C_PINMUX_REG & CONFIG_SYS_I2C_PINMUX_CLR;
        CONFIG_SYS_I2C_PINMUX_REG |= CONFIG_SYS_I2C_PINMUX_SET;
@@@ -482,7 -498,7 +482,7 @@@ void cpu_init_f(void
        init_fbcs();
  #endif                                /* #ifndef CONFIG_MONITOR_IS_IN_RAM */
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        CONFIG_SYS_I2C_PINMUX_REG &= CONFIG_SYS_I2C_PINMUX_CLR;
        CONFIG_SYS_I2C_PINMUX_REG |= CONFIG_SYS_I2C_PINMUX_SET;
  #endif
index d0f9762d0b56c8040e1db4959554a878fc071ecf,ad686923230e55e27889e54229b79392736370d4..c5961d45ecade055f6a6c41ed390883f7306cd57
@@@ -5,7 -5,23 +5,7 @@@
   * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
   * Hayden Fraser (Hayden.Fraser@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -74,9 -90,9 +74,9 @@@ int get_clocks (void
        gd->bus_clk = gd->cpu_clk;
  #endif
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        gd->arch.i2c1_clk = gd->bus_clk;
- #ifdef CONFIG_SYS_I2C2_OFFSET
+ #ifdef CONFIG_SYS_I2C2_FSL_OFFSET
        gd->arch.i2c2_clk = gd->bus_clk;
  #endif
  #endif
index f7101fd6d26499d10080845100279bc2bd9247e0,bd7672d6f44e58ba216be2313b2ca0b867283dd0..db7ded4782b5daeb279d517268b739e93b9a0333
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2004-2008, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -82,7 -98,7 +82,7 @@@ void cpu_init_f(void
        out_be32(&fbcs->csmr5, CONFIG_SYS_CS5_MASK);
  #endif
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        out_8(&gpio->par_feci2c,
                GPIO_PAR_FECI2C_SDA_SDA | GPIO_PAR_FECI2C_SCL_SCL);
  #endif
@@@ -276,7 -292,7 +276,7 @@@ void cpu_init_f(void
        out_be32(&fbcs->csmr5, CONFIG_SYS_CS5_MASK);
  #endif
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        out_8(&gpio->par_feci2c,
                GPIO_PAR_FECI2C_SCL_SCL | GPIO_PAR_FECI2C_SDA_SDA);
  #endif
index b412abe7d11c91a29fe8480f3c42c7e6f838055f,6e1d6a58e5c9f130b5f0af796bc646fda824ffa3..a440bbb3b648ed6c29833572a5e928201383580e
@@@ -6,7 -6,23 +6,7 @@@
   * Copyright (C) 2004-2008, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -254,7 -270,7 +254,7 @@@ int get_clocks(void
        gd->bus_clk = clock_pll(CONFIG_SYS_CLK / 1000, 0) * 1000;
        gd->cpu_clk = (gd->bus_clk * 3);
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        gd->arch.i2c1_clk = gd->bus_clk;
  #endif
  
index 955968c0dbb295bf780a7a1f71555041174f4434,3c53a7fe1e15c402e88f20a20384d92938d1698c..9c324dc968dfb3e24ca404349442618216c6a176
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2004-2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -196,7 -212,7 +196,7 @@@ void cpu_init_f(void
                GPIO_PAR_FBCTL_OE | GPIO_PAR_FBCTL_TA_TA |
                GPIO_PAR_FBCTL_RW_RW | GPIO_PAR_FBCTL_TS_TS);
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_FSL_I2C
        out_be16(&gpio->par_feci2c,
                GPIO_PAR_FECI2C_SCL_SCL | GPIO_PAR_FECI2C_SDA_SDA);
  #endif
index 594716b6cae768378dd591bfd7751585e09a79a8,3b341b89642b8c2f0ac6389dc4bb2f17a00de4c4..07a9b359b5f9f76bd014a86ebf88e54ed9c68b37
@@@ -3,7 -3,23 +3,7 @@@
   * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -257,7 -273,7 +257,7 @@@ void setup_5445x_clocks(void
  #endif
        }
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        gd->arch.i2c1_clk = gd->bus_clk;
  #endif
  }
@@@ -273,7 -289,7 +273,7 @@@ int get_clocks(void
        setup_5445x_clocks();
  #endif
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_FSL_I2C
        gd->arch.i2c1_clk = gd->bus_clk;
  #endif
  
index a9e3b4392fff2077a4b11942504e86b023b1de01,4c529dcf91a239d4abcf117c6831715bee24a181..c3df831f14774a904df2c7c35f210c57e5c6ee27
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -79,7 -95,7 +79,7 @@@ void cpu_init_f(void
        out_be32(&fbcs->csmr5, CONFIG_SYS_CS5_MASK);
  #endif
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        out_be16(&gpio->par_feci2cirq,
                GPIO_PAR_FECI2CIRQ_SCL | GPIO_PAR_FECI2CIRQ_SDA);
  #endif
index f516b10a1322739c54f64518cb6f325f5043bd3d,80e006b9e081da7e9568f0b859597b158e6aa13e..2bc4c44247f7618dc63cd4b49677aee6f6ef5707
@@@ -6,7 -6,23 +6,7 @@@
   * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -24,7 -40,7 +24,7 @@@ int get_clocks(void
        gd->bus_clk = CONFIG_SYS_CLK;
        gd->cpu_clk = (gd->bus_clk * 2);
  
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        gd->arch.i2c1_clk = gd->bus_clk;
  #endif
  
index 0903644cdddf574bc2e5997975bb7f44b51c4de2,58a481d8346cb1ebdb3f9fa3abdace548116ffbf..b55c91e613abac55f4d9d0cb2ba0c18a27b8aa2d
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2002 - 2010
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef       __ASM_GBL_DATA_H
@@@ -10,7 -26,7 +10,7 @@@
  
  /* Architecture-specific global data */
  struct arch_global_data {
- #ifdef CONFIG_FSL_I2C
+ #ifdef CONFIG_SYS_I2C_FSL
        unsigned long   i2c1_clk;
        unsigned long   i2c2_clk;
  #endif
diff --combined arch/m68k/lib/board.c
index 020dc2456ea6ad328445886f037d66cb89f5adcd,2baafa5df3e9147fdc6dc1bc6e5c29a99b505e39..e75b6a98dd5cb615d8d592504574b275ed2899a2
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2000-2002
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -40,7 -56,7 +40,7 @@@
  #include <version.h>
  
  #if defined(CONFIG_HARD_I2C) || \
-     defined(CONFIG_SOFT_I2C)
+       defined(CONFIG_SYS_I2C)
  #include <i2c.h>
  #endif
  
@@@ -126,11 -142,15 +126,15 @@@ static int init_func_ram (void
  
  /***********************************************************************/
  
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) ||       defined(CONFIG_SYS_I2C)
  static int init_func_i2c (void)
  {
        puts ("I2C:   ");
+ #ifdef CONFIG_SYS_I2C
+       i2c_init_all();
+ #else
        i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+ #endif
        puts ("ready\n");
        return (0);
  }
@@@ -162,7 -182,7 +166,7 @@@ init_fnc_t *init_sequence[] = 
        display_options,
        checkcpu,
        checkboard,
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
        init_func_i2c,
  #endif
  #if defined(CONFIG_HARD_SPI)
@@@ -485,6 -505,11 +489,11 @@@ void board_init_r (gd_t *id, ulong dest
        spi_init_r ();
  #endif
  
+ #if defined(CONFIG_SYS_I2C)
+       /* Adjust I2C subsystem pointers after relocation */
+       i2c_reloc_fixup();
+ #endif
        /* relocate environment function pointers etc. */
        env_relocate ();
  
diff --combined arch/nds32/lib/board.c
index 7a25522b4adb8f67757943db4df78d9b23c92ba4,29fe12014b9c1599e2c2cfddf7cdcbc7015de681..2d4c6231a3774114366bed986631bb7a59e98587
@@@ -6,7 -6,23 +6,7 @@@
   * Shawn Lin, Andes Technology Corporation <nobuhiro@andestech.com>
   * Macpaul Lin, Andes Technology Corporation <macpaul@andestech.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
  
  DECLARE_GLOBAL_DATA_PTR;
  
+ #if defined(CONFIG_SYS_I2C)
+ #include <i2c.h>
+ #endif
  ulong monitor_flash_len;
  
  /*
@@@ -157,7 -177,7 +161,7 @@@ init_fnc_t *init_sequence[] = 
  #if defined(CONFIG_DISPLAY_BOARDINFO)
        checkboard,             /* display board info */
  #endif
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
        init_func_i2c,
  #endif
        dram_init,              /* configure available RAM banks */
@@@ -331,6 -351,10 +335,10 @@@ void board_init_r(gd_t *id, ulong dest_
        mmc_initialize(gd->bd);
  #endif
  
+ #if defined(CONFIG_SYS_I2C_ADAPTERS)
+       i2c_reloc_fixup();
+ #endif
        /* initialize environment */
        env_relocate();
  
index fc8d2ef82c5950972fe4cb54fc59b3a45ed99ddc,bbbe4041afbbce757d646b63ed09ff508b224cd8..8658ebdadd6a9afa2576b5063428481716cab08a
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2000 Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   * Marius Groeger <mgroeger@sysgo.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -730,23 -746,9 +730,9 @@@ unsigned int i2c_get_bus_num(void
  
  int i2c_set_bus_num(unsigned int bus)
  {
- #if defined(CONFIG_I2C_MUX)
-       if (bus < CONFIG_SYS_MAX_I2C_BUS) {
-               i2c_bus_num = bus;
-       } else {
-               int ret;
-               ret = i2x_mux_select_mux(bus);
-               if (ret == 0)
-                       i2c_bus_num = bus;
-               else
-                       return ret;
-       }
- #else
        if (bus >= CONFIG_SYS_MAX_I2C_BUS)
                return -1;
        i2c_bus_num = bus;
- #endif
        return 0;
  }
  
index 8d790b4e88880c171656012bbcb6060cd227c3c0,10e3e88b5e86cc4ad2310a3c5ca5bd87d3d913cd..02cd0debc2831cce3f330382148a76cfd4c381e3
@@@ -4,7 -4,23 +4,7 @@@
   * (C) Copyright 2002
   * Wolfgang Denk, wd@denx.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* #define DEBUG */
@@@ -793,7 -809,11 +793,11 @@@ static void video_encoder_init (void
  
        /* Initialize the I2C */
        debug ("[VIDEO ENCODER] Initializing I2C bus...\n");
+ #ifdef CONFIG_SYS_I2C
+       i2c_init_all();
+ #else
        i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+ #endif
  
  #ifdef CONFIG_FADS
        /* Reset ADV7176 chip */
index 55a58f6b185d61d94075da73d1b9a94d419c563b,fd458fdc9fbc028489a0e5faedee168f26d994f2..4417646f83789bbf391eebdfe65f365dc6f8c992
   * (C) Copyright 2005
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
  /*
   * Set default values
   */
- #ifndef CONFIG_SYS_I2C_SPEED
- #define CONFIG_SYS_I2C_SPEED  50000
- #endif
  #define ONE_BILLION   1000000000
  
  #define        SDRAM0_CFG_DCE         0x80000000
@@@ -142,7 -154,7 +138,7 @@@ long int spd_sdram(int(read_spd)(uint a
                 * Make sure I2C controller is initialized
                 * before continuing.
                 */
-               i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+               i2c_set_bus_num(CONFIG_SYS_SPD_BUS_NUM);
        }
  
        /* Make shure we are using SDRAM */
index 9d23e7653ff5f389cd05c9e5cbeaea5ae1e3a5cf,9c566c19f80d659c155722e660e415b0e327b7b3..52340f209d397a8b6c7ba6b3d16ea0942d9a2473
   * (C) Copyright 2005-2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /* define DEBUG for debugging output (obviously ;-)) */
  /*
   * Set default values
   */
- #ifndef CONFIG_SYS_I2C_SPEED
- #define CONFIG_SYS_I2C_SPEED  50000
- #endif
  #define ONE_BILLION   1000000000
  
  /*
@@@ -152,7 -164,7 +148,7 @@@ long int spd_sdram(void) 
         * Make sure I2C controller is initialized
         * before continuing.
         */
-       i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(CONFIG_SYS_SPD_BUS_NUM);
  
        /*
         * Read the SPD information using I2C interface. Check to see if the
index d30f442eb387cb765f4006eddaccd4c890fc50a8,a66973ee77bc009a947792175967e8b283ac1ef1..fe928db039ccb5effd4c88490211b16c9fe09731
   *
   * COPYRIGHT   AMCC   CORPORATION 2004
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* define DEBUG for debugging output (obviously ;-)) */
@@@ -442,8 -459,7 +442,7 @@@ phys_size_t initdram(int board_type
         */
  
        /* switch to correct I2C bus */
-       I2C_SET_BUS(CONFIG_SYS_SPD_BUS_NUM);
-       i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(CONFIG_SYS_SPD_BUS_NUM);
  
        /*------------------------------------------------------------------
         * Clear out the serial presence detect buffers.
index b777d7329519c1fd098adb54954a07601e42c5e9,0eafe3e067e2f9fd817c792c676ca1ba7dab0aa4..4e9a40d5854104e53e2fea3c8e1d0e4952826c98
@@@ -5,7 -5,24 +5,7 @@@
   * (C) Copyright 2009
   * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -39,7 -56,7 +39,7 @@@ static int do_chip_config(cmd_tbl_t *cm
         * First switch to correct I2C bus. This is I2C bus 0
         * for all currently available 4xx derivats.
         */
-       I2C_SET_BUS(0);
+       i2c_set_bus_num(0);
  
  #ifdef CONFIG_CMD_EEPROM
        ret = eeprom_read(CONFIG_4xx_CONFIG_I2C_EEPROM_ADDR,
index 55278b19bfc895fbd9c032309a68b3a9f1447c1a,df9637504a9bf97b419a470e1b5451a977427a24..916451a2b0c30bb9da22ce23a57e08f44b2fd4e6
   *
   * COPYRIGHT   AMCC   CORPORATION 2004
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* define DEBUG for debugging output (obviously ;-)) */
@@@ -1024,8 -1041,7 +1024,7 @@@ phys_size_t initdram(int board_type
         * before continuing.
         */
        /* switch to correct I2C bus */
-       I2C_SET_BUS(CONFIG_SYS_SPD_BUS_NUM);
-       i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(CONFIG_SYS_SPD_BUS_NUM);
  
        /*------------------------------------------------------------------
         * Clear out the serial presence detect buffers.
index bbf7f355897e6a6a4082d33bdccfb4110fb8fdb1,89de5086eb35f2a39362b0591da139c26b7b5328..09189cf19bc8f7470ee6f70dbfb764018886b4c9
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2007-2009
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef _4xx_i2c_h_
  
  #define IIC_TIMEOUT   1               /* 1 second */
  
- #if defined(CONFIG_I2C_MULTI_BUS)
- #define I2C_BUS_OFFS  (i2c_bus_num * 0x100)
- #else
- #define I2C_BUS_OFFS  (0x000)
- #endif /* CONFIG_I2C_MULTI_BUS */
- #if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
-     defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
-     defined(CONFIG_460EX) || defined(CONFIG_460GT)
- #define I2C_BASE_ADDR (CONFIG_SYS_PERIPHERAL_BASE + 0x00000700 + I2C_BUS_OFFS)
- #elif defined(CONFIG_440) || defined(CONFIG_405EX)
- /* all remaining 440 variants */
- #define I2C_BASE_ADDR (CONFIG_SYS_PERIPHERAL_BASE + 0x00000400 + I2C_BUS_OFFS)
- #else
- /* all 405 variants */
- #define I2C_BASE_ADDR (0xEF600500 + I2C_BUS_OFFS)
- #endif
  struct ppc4xx_i2c {
        u8 mdbuf;
        u8 res1;
diff --combined arch/powerpc/lib/board.c
index bef3f76f0c534c877b179cd7ffbb7015c348c939,bc7c362cf28fae1c051adf353c35ab3e8e1b0b48..a101e036019c6bca271a55d8f553b75afb4a2f51
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2011
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -82,8 -98,7 +82,7 @@@ extern void sc3_read_eeprom(void)
  #if defined(CONFIG_CMD_DOC)
  void doc_init(void);
  #endif
- #if defined(CONFIG_HARD_I2C) || \
-     defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
  #include <i2c.h>
  #endif
  #include <spi.h>
@@@ -198,11 -213,15 +197,15 @@@ static int init_func_ram(void
  
  /***********************************************************************/
  
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
  static int init_func_i2c(void)
  {
        puts("I2C:   ");
+ #ifdef CONFIG_SYS_I2C
+       i2c_init_all();
+ #else
        i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+ #endif
        puts("ready\n");
        return 0;
  }
@@@ -291,7 -310,7 +294,7 @@@ static init_fnc_t *init_sequence[] = 
        misc_init_f,
  #endif
        INIT_FUNC_WATCHDOG_RESET
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
        init_func_i2c,
  #endif
  #if defined(CONFIG_HARD_SPI)
index 9fd8e7acd166c04575d3e8c6b3e7bf0c7abb9382,01b4382c61878accff4fb62f57a197b80f4a5439..5e4778e97881dd35f6793ae108c3e82019938108
@@@ -3,7 -3,23 +3,7 @@@
   * BuS Elektronik GmbH & Co. KG <www.bus-elektronik.de>
   * Jens Scharsig <esw@bus-elektronik.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -272,7 -288,7 +272,7 @@@ int drv_video_init(void
  }
  #endif
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  
  void i2c_init_board(void)
  {
index 2dba146f10d7b60a248274b64c69c19dac922268,7e086eeab425d1390490d96629cd6dd57b852241..e2ae6fde6cbbd0f75bf0f3d2937e87ee1370b230
@@@ -3,7 -3,23 +3,7 @@@
   * Jens Scharsig  <esw@bus-elekronik.de>
   * BuS Elektronik GmbH & Co. KG
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <config.h>
@@@ -307,7 -323,7 +307,7 @@@ int board_eth_init(bd_t *bis
        return rc;
  }
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  void i2c_init_board(void)
  {
        u32 pin;
diff --combined board/atc/atc.c
index ee395d92bd1daa905c2081efa1d6d0552b031421,c2b5a1f65cc17a54de8454c69739da7dc391eaff..0038561b10e6f0a5c4e0cc73c8ff233f87fc1371
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -154,7 -170,7 +154,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PD18 */ {   0,   0,   0,   0,   0,   0   }, /* PD18 */
        /* PD17 */ {   0,   0,   0,   0,   0,   0   }, /* PD17 */
        /* PD16 */ {   0,   0,   0,   0,   0,   0   }, /* PD16 */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PD15 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SDA */
        /* PD14 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SCL */
  #else
index be03553384f44cae0d13d3a310d278b669c6853a,b4378db18c97d82f1f4e3982f3ec81ffa572711a..8a6919dbb1312c09a1f29f62f5ba57a666e3c54d
@@@ -5,7 -5,20 +5,7 @@@
   *   Author: Andre Renaud <andre@bluewatersys.com>
   *   Author: Ryan Mallon <ryan@bluewatersys.com>
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -132,7 -145,7 +132,7 @@@ int board_init(void
  
        /* Initialise peripherals */
        at91_seriald_hw_init();
-       i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(0);
        nand_hw_init();
        macb_hw_init();
  
diff --combined board/cm5200/cm5200.c
index 58f5a36f816ad712d6ae09d9620ad70ba3c2efbd,ad50452b053eea3218af1be806024b91bcc34b38..e391dfc9e1bd1ee6fe215d2738e3546aec0bad41
   *      - run-time SDRAM controller configuration
   *      - LIBFDT support
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
@@@ -309,7 -325,7 +309,7 @@@ int board_early_init_r(void
  #ifdef CONFIG_MISC_INIT_R
  int misc_init_r(void)
  {
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT)
        uchar buf[6];
        char str[18];
        char hostname[MODULE_NAME_MAXLEN];
                        " device at address %02X:%04X\n", CONFIG_SYS_I2C_EEPROM,
                        CONFIG_MAC_OFFSET);
        }
- #endif /* defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) */
+ #endif /* defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT) */
        if (!getenv("ethaddr"))
                printf(LOG_PREFIX "MAC address not set, networking is not "
                                        "operational\n");
diff --combined board/cpu86/cpu86.c
index a1f25ba71e25efbc7a209754c4f606da80de8d00,1d4f90cdd12000ba2ad58ea187d723c3d667eb3c..929291052f2aafd7346438622fa1f546a4321d30
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -145,7 -161,7 +145,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PD18 */ {   0,   0,   0,   0,   0,   0   }, /* PD18 */
        /* PD17 */ {   0,   0,   0,   0,   0,   0   }, /* PD17 */
        /* PD16 */ {   0,   0,   0,   0,   0,   0   }, /* PD16 */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PD15 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SDA */
        /* PD14 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SCL */
  #else
diff --combined board/cpu87/cpu87.c
index b6293073f6f45f0691974aee488fd12f51c469ca,7c591be8705be2e246b34071538896b0b76d6629..01f90d2ebbe98c376301fed0e8da551692009dbd
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -147,7 -163,7 +147,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PD18 */ {   0,   0,   0,   0,   0,   0   }, /* PD18 */
        /* PD17 */ {   0,   0,   0,   0,   0,   0   }, /* PD17 */
        /* PD16 */ {   0,   0,   0,   0,   0,   0   }, /* PD16 */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PD15 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SDA */
        /* PD14 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SCL */
  #else
diff --combined board/csb272/csb272.c
index bfc47e0b4e52f4657827c1e42be7eae4f74184b7,a53dac19e5da055a370dd1413b1878bc49a69dcf..43a1aa0521188627ba052b1525e5a5d8de39c980
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2004
   * Tolunay Orkun, Nextio Inc., torkun@nextio.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
@@@ -35,7 -51,7 +35,7 @@@ uchar pll_fs6377_regs[16] = 
   */
  int pll_init(void)
  {
-       i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(0);
  
        return  i2c_write(CONFIG_SYS_I2C_PLL_ADDR, 0, 1,
                (uchar *) pll_fs6377_regs, sizeof(pll_fs6377_regs));
index 083e5e8df62acdb0d609015dc7fea9d7ee291f00,c0609f0775a0822f2b40ff196ab253afa209a3bf..6e2ffddb0a434ad570538924263d69bf4c803947
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2010
   * Reinhard Meyer, EMK Elektronik, reinhard.meyer@emk-elektronik.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -229,7 -245,7 +229,7 @@@ int board_eth_init(bd_t *bis
   * However i2c_get_bus_num() cannot be called before
   * relocation.
   */
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  void iic_init(void)
  {
        /* ports are now initialized in board_early_init_f() */
  
  int iic_read(void)
  {
-       switch ((gd->flags & GD_FLG_RELOC) ? i2c_get_bus_num() : 0) {
+       switch (I2C_ADAP_HWNR) {
        case 0:
                return at91_get_pio_value(I2C0_PORT, SDA0_PIN);
        case 1:
  
  void iic_sda(int bit)
  {
-       switch ((gd->flags & GD_FLG_RELOC) ? i2c_get_bus_num() : 0) {
+       switch (I2C_ADAP_HWNR) {
        case 0:
                at91_set_pio_value(I2C0_PORT, SDA0_PIN, bit);
                break;
  
  void iic_scl(int bit)
  {
-       switch ((gd->flags & GD_FLG_RELOC) ? i2c_get_bus_num() : 0) {
+       switch (I2C_ADAP_HWNR) {
        case 0:
                at91_set_pio_value(I2C0_PORT, SCL0_PIN, bit);
                break;
diff --combined board/esd/du440/du440.c
index dc35be4e2e37b34a15bbae7aaee01dabb5a7ac44,64d43c505d67c07a99b48ab7bca421f7b29debb6..b168b247bd17cd4c8b728775af1058a3687240c1
@@@ -2,7 -2,20 +2,7 @@@
   * (C) Copyright 2008
   * Matthias Fuchs, esd gmbh, matthias.fuchs@esd-electronics.com
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -372,7 -385,6 +372,6 @@@ int last_stage_init(void
        return 0;
  }
  
- #if defined(CONFIG_I2C_MULTI_BUS)
  /*
   * read field strength from I2C ADC
   */
@@@ -487,7 -499,6 +486,6 @@@ U_BOOT_CMD
        "Initialize USB hub",
        ""
  );
- #endif /* CONFIG_I2C_MULTI_BUS */
  
  #define CONFIG_SYS_BOOT_EEPROM_PAGE_WRITE_BITS 3
  int boot_eeprom_write (unsigned dev_addr,
index e9a25786cd148ff8bcb26b15d3a5a0b05ec12546,8c8b8ee7ab6fc0f6dcba48e4bbbd4a132f8813ec..01365dcbd3aeddd59013340364aed70fa4b79027
@@@ -9,7 -9,24 +9,7 @@@
   * Reinhard Arlt <reinhard.arlt@esd-electronics.com>
   * Based on board/mpc8349emds/mpc8349emds.c (and previous 834x releases.)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -169,11 -186,11 +169,11 @@@ static spd_eeprom_t default_spd_eeprom 
  
  int vme8349_read_spd(uchar chip, uint addr, int alen, uchar *buffer, int len)
  {
-       int old_bus = I2C_GET_BUS();
+       int old_bus = i2c_get_bus_num();
        unsigned int l, sum;
        int valid = 0;
  
-       I2C_SET_BUS(0);
+       i2c_set_bus_num(0);
  
        if (i2c_read(chip, addr, alen, buffer, len) == 0)
                if (memcmp(&buffer[64], &default_spd_eeprom.mid[0], 8) == 0) {
                buffer[63] = sum;
        }
  
-       I2C_SET_BUS(old_bus);
+       i2c_set_bus_num(old_bus);
  
        return 0;
  }
index f649dd0406d6745ed170c7960a51b05b0b74c7ca,5dde2741ea1531f481ec40926f2ea50622b7367b..ec0ce0b205c4c31bbd2ab2463f1c589346dbe2a5
@@@ -6,7 -6,23 +6,7 @@@
   * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   * Marius Groeger <mgroeger@sysgo.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -57,7 -73,7 +57,7 @@@ int board_eth_init(bd_t *bis
  }
  #endif
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  void i2c_init_board(void)
  {
        u32 pin;
index 510ef0453ccc9e16c3a29cf40c1537fdfe268222,271768dc7682504382b59deafe4594d94e4827a6..803d722806046ab3fc296631b6094d0641e9895a
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright (C) Freescale Semiconductor, Inc. 2006.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS for A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -247,8 -263,7 +247,7 @@@ int misc_init_r(void
  {
        int rc = 0;
  
- #ifdef CONFIG_HARD_I2C
+ #if defined(CONFIG_SYS_I2C)
        unsigned int orig_bus = i2c_get_bus_num();
        u8 i2c_data;
  
index 64259776c79414021f22f74e738d01d78f3b5949,1ab4e0c6899b2c3123b379d242bf9489a60ba164..afc9df0923b7d76ff97f874c64ef20c196ed62f1
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright (C) 2006-2009 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -71,7 -87,7 +71,7 @@@ void pci_init_board(void
  #endif
        u8 reg8;
  
- #ifdef CONFIG_HARD_I2C
+ #if defined(CONFIG_SYS_I2C)
        i2c_set_bus_num(1);
        /* Read the PCI_M66EN jumper setting */
        if ((i2c_read(CONFIG_SYS_I2C_8574_ADDR2, 0, 0, &reg8, sizeof(reg8)) == 0) ||
index d8b1e41e392d38d839e46466c4518bb706cbc8d9,e4f577f44b237f6cda3322d3dbc36ae67a5b7eda..50553dacd957f984154db83353bd8924bc197936
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2010-2011 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -232,7 -248,7 +232,7 @@@ int checkboard(void
                in_8(&cpld_data->pcba_rev) & 0x0F);
  
        /* Initialize i2c early for rom_loc and flash bank information */
-       i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(CONFIG_SYS_SPD_BUS_NUM);
  
        if (i2c_read(CONFIG_SYS_I2C_PCA9557_ADDR, 0, 1, &in, 1) < 0 ||
            i2c_read(CONFIG_SYS_I2C_PCA9557_ADDR, 1, 1, &out, 1) < 0 ||
index 7c6cb5be5694b930c6daa2f1432e9e5f0a7dbdae,391f97e41726fc369c32f81e01686c6d017f5a75..699ea7f0100cd77f3349b417e4b465958f4e4fa7
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * Copyright 2013 Freescale Semiconductor, Inc.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -14,6 -27,7 +14,7 @@@
  #include <fsl_esdhc.h>
  #include <miiphy.h>
  #include <netdev.h>
+ #include <i2c.h>
  
  DECLARE_GLOBAL_DATA_PTR;
  
@@@ -267,6 -281,16 +268,16 @@@ static void setup_iomux_enet(void
        imx_iomux_v3_setup_multiple_pads(enet0_pads, ARRAY_SIZE(enet0_pads));
  }
  
+ static void setup_iomux_i2c(void)
+ {
+       static const iomux_v3_cfg_t i2c0_pads[] = {
+               VF610_PAD_PTB14__I2C0_SCL,
+               VF610_PAD_PTB15__I2C0_SDA,
+       };
+       imx_iomux_v3_setup_multiple_pads(i2c0_pads, ARRAY_SIZE(i2c0_pads));
+ }
  #ifdef CONFIG_FSL_ESDHC
  struct fsl_esdhc_cfg esdhc_cfg[1] = {
        {ESDHC1_BASE_ADDR},
@@@ -315,7 -339,7 +326,7 @@@ static void clock_init(void
                CCM_CCGR3_ANADIG_CTRL_MASK);
        clrsetbits_le32(&ccm->ccgr4, CCM_REG_CTRL_MASK,
                CCM_CCGR4_WKUP_CTRL_MASK | CCM_CCGR4_CCM_CTRL_MASK |
-               CCM_CCGR4_GPC_CTRL_MASK);
+               CCM_CCGR4_GPC_CTRL_MASK | CCM_CCGR4_I2C0_CTRL_MASK);
        clrsetbits_le32(&ccm->ccgr6, CCM_REG_CTRL_MASK,
                CCM_CCGR6_OCOTP_CTRL_MASK | CCM_CCGR6_DDRMC_CTRL_MASK);
        clrsetbits_le32(&ccm->ccgr7, CCM_REG_CTRL_MASK,
@@@ -374,6 -398,7 +385,7 @@@ int board_early_init_f(void
  
        setup_iomux_uart();
        setup_iomux_enet();
+       setup_iomux_i2c();
  
        return 0;
  }
diff --combined board/ids8247/ids8247.c
index a51af03d5d81a86d8e1adf0cd546ecec684cb768,541d7d65dfdee3bf959805f9060898308e00aed3..de6b8fbd9b9a0215e108596e8ba09b4bbed6b7df
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2005
   * Heiko Schocher, DENX Software Engineering, <hs@denx.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
@@@ -35,7 -51,7 +35,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PA27 */ {   1,   1,   1,   0,   0,   0   }, /* FCC1 RXDV */
        /* PA26 */ {   1,   1,   1,   0,   0,   0   }, /* FCC1 RXER */
        /* PA25 */ {   0,   0,   0,   0,   1,   0   }, /* 8247_P0 */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PA24 */ {   1,   0,   0,   0,   1,   1   }, /* I2C_SDA2 */
        /* PA23 */ {   1,   0,   0,   1,   1,   1   }, /* I2C_SCL2 */
  #else /* normal I/O port pins */
index 47c4450e3d5bb655e0f3f96df209ce77370bccc7,ac3cc9c8399119ca729657fa6aef318cecdba900..aabd3a85b72b56e96c506fca5f688da066377b4a
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2011
   * Holger Brunck, Keymile GmbH Hannover, holger.brunck@keymile.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -298,29 -314,14 +298,14 @@@ int ivm_analyze_eeprom(unsigned char *b
  
  int ivm_read_eeprom(void)
  {
- #if defined(CONFIG_I2C_MUX)
-       I2C_MUX_DEVICE *dev = NULL;
- #endif
        uchar i2c_buffer[CONFIG_SYS_IVM_EEPROM_MAX_LEN];
-       uchar   *buf;
-       unsigned long dev_addr = CONFIG_SYS_IVM_EEPROM_ADR;
        int ret;
  
- #if defined(CONFIG_I2C_MUX)
-       /* First init the Bus, select the Bus */
-       buf = (unsigned char *) getenv("EEprom_ivm");
-       if (buf != NULL)
-               dev = i2c_mux_ident_muxstring(buf);
-       if (dev == NULL) {
-               printf("Error couldnt add Bus for IVM\n");
-               return -1;
-       }
-       i2c_set_bus_num(dev->busid);
- #endif
+       i2c_set_bus_num(CONFIG_KM_IVM_BUS);
        /* add deblocking here */
        i2c_make_abort();
  
-       ret = i2c_read(dev_addr, 0, 1, i2c_buffer,
+       ret = i2c_read(CONFIG_SYS_IVM_EEPROM_ADR, 0, 1, i2c_buffer,
                CONFIG_SYS_IVM_EEPROM_MAX_LEN);
        if (ret != 0) {
                printf("Error reading EEprom\n");
index b5ea7ae95b42effa2e12fdfd4cca193c42de9c53,6d458096143ff8d484c50295f5f241788e923b34..cd861c9f12568e4db34af7852711a29ce0df7960
   * (C) Copyright 2008 - 2010
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -92,19 -95,6 +92,6 @@@ const qe_iop_conf_t qe_iop_conf_tab[] 
        {0,  0, 0, 0, QE_IOP_TAB_END},
  };
  
- static int board_init_i2c_busses(void)
- {
-       I2C_MUX_DEVICE *dev = NULL;
-       uchar *dtt_bus = (uchar *)"pca9547:70:a";
-       /* Set up the Bus for the DTTs */
-       dev = i2c_mux_ident_muxstring(dtt_bus);
-       if (dev == NULL)
-               printf("Error couldn't add Bus for DTT\n");
-       return 0;
- }
  #if defined(CONFIG_SUVD3)
  const uint upma_table[] = {
        0x1ffedc00, 0x0ffcdc80, 0x0ffcdc80, 0x0ffcdc04, /* Words 0 to 3 */
@@@ -203,8 -193,6 +190,6 @@@ int board_early_init_r(void
  
  int misc_init_r(void)
  {
-       /* add board specific i2c busses */
-       board_init_i2c_busses();
        return 0;
  }
  
index e76acc0dacac980e7628bd7c1a425507d5c38e11,26551f8c44288727759da736e3b3b304ad573835..481876b2ed8fb92d05ecd18c19c2c289a93a04f4
@@@ -9,7 -9,23 +9,7 @@@
   * (C) Copyright 2010
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 - * MA 02110-1301 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -47,7 -63,7 +47,7 @@@ static const u32 kwmpp_config[] = 
        MPP5_NF_IO7,
        MPP6_SYSRST_OUTn,
        MPP7_PEX_RST_OUTn,
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        MPP8_GPIO,              /* SDA */
        MPP9_GPIO,              /* SCL */
  #endif
@@@ -218,7 -234,7 +218,7 @@@ int misc_init_r(void
  
  int board_early_init_f(void)
  {
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        u32 tmp;
  
        /* set the 2 bitbang i2c pins as output gpios */
@@@ -244,7 -260,7 +244,7 @@@ int board_init(void
        kw_gpio_set_valid(KM_FLASH_GPIO_PIN, 1);
        kw_gpio_direction_output(KM_FLASH_GPIO_PIN, 1);
  
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /*
         * Reinit the GPIO for I2C Bitbang driver so that the now
         * available gpio framework is consistent. The calls to
@@@ -424,7 -440,7 +424,7 @@@ int hush_init_var(void
  }
  #endif
  
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
  void set_sda(int state)
  {
        I2C_ACTIVE;
diff --combined board/lwmon/lwmon.c
index fb7e54d5234d9953dcf8bb949a6f636ef2a3be28,85e09958bbd889df6c0345372fa63f683dd03bd3..225b1ef25827d16a834a34724a783a43e565da43
@@@ -12,7 -12,23 +12,7 @@@ D* Design:        wd@denx.d
  C* Coding:        wd@denx.de
  V* Verification:  dzu@denx.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   ***********************************************************************/
  
  /*---------------------------- Headerfiles ----------------------------*/
@@@ -464,7 -480,7 +464,7 @@@ static void kbd_init (void
        uchar val, errcd;
        int i;
  
-       i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(0);
  
        gd->arch.kbd_status = 0;
  
diff --combined board/lwmon5/kbd.c
index f3562b749bd6376b5290a5fa263f44064fad44f0,9834bfd1900b12e6475fb0dc1dda8bc5704bcf19..97962daf93948773db6b8edaddaf71512d3917e5
@@@ -6,7 -6,20 +6,7 @@@
   * DENX Software Engineering
   * Wolfgang Denk, wd@denx.de
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* define DEBUG for debugging output (obviously ;-)) */
@@@ -98,7 -111,7 +98,7 @@@ static void kbd_init (void
        uchar val, errcd;
        int i;
  
-       i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(0);
  
        gd->arch.kbd_status = 0;
  
index f39bb3572cf9b8beed26d6198e93446b51d1f0dd,655e129f94d9b17fcf56ba248f97bda8b63f57f8..7c7690ff555be6f0319d18ec4c7347fcf38eddff
@@@ -2,7 -2,24 +2,7 @@@
   * (C) Copyright 2001
   * Denis Peter, MPL AG Switzerland, d.peter@mpl.ch
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   *
   * TODO: clean-up
   */
@@@ -192,7 -209,7 +192,7 @@@ int board_early_init_f (void
  #endif
  
        /* Read Serial Presence Detect Information */
-       i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(0);
        for (i = 0; i < 128; i++)
                datain[i] = 127;
        i2c_read(SPD_EEPROM_ADDRESS,0,1,datain,128);
index 5f72c02572571f9de61a494cdf35a6ce6f93758b,4cb65c12c0be5124be74129f7911e4a358906630..126e56e97afa6dbc04d879651e89cd28ecf344fe
@@@ -2,7 -2,23 +2,7 @@@
   *  (C) Copyright 2010,2011
   *  NVIDIA Corporation <www.nvidia.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -135,7 -151,7 +135,7 @@@ int board_init(void
  
        power_det_init();
  
- #ifdef CONFIG_TEGRA_I2C
+ #ifdef CONFIG_SYS_I2C_TEGRA
  #ifndef CONFIG_SYS_I2C_INIT_BOARD
  #error "You must define CONFIG_SYS_I2C_INIT_BOARD to use i2c on Nvidia boards"
  #endif
                debug("Memory controller init failed: %d\n", err);
  #  endif
  # endif /* CONFIG_TEGRA_PMU */
- #endif /* CONFIG_TEGRA_I2C */
+ #endif /* CONFIG_SYS_I2C_TEGRA */
  
  #ifdef CONFIG_USB_EHCI_TEGRA
        pin_mux_usb();
diff --combined board/pm826/pm826.c
index 109b20dec0c5520bcf8021aa1a3ee48b6fa29d1c,17b4ac9ec73557697113b8e9f3db5f86417f7797..93bb1b46155e42f58c2e3dec0be91672e73677ac
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -153,7 -169,7 +153,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PD18 */ {   0,   0,   0,   1,   0,   0   }, /* PD18 */
        /* PD17 */ {   0,   1,   0,   0,   0,   0   }, /* PD17 */
        /* PD16 */ {   0,   1,   0,   1,   0,   0   }, /* PD16 */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PD15 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SDA */
        /* PD14 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SCL */
  #else
diff --combined board/pm828/pm828.c
index 26c3683ded17eeefb76416d755af171723510a32,5e68d4d39b2c62a5e210b29fe095a2603ddecafc..f446543fed1bfd2f8650bb8e1d14d0c8394d9693
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2004
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -153,7 -169,7 +153,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PD18 */ {   0,   0,   0,   1,   0,   0   }, /* PD18 */
        /* PD17 */ {   0,   1,   0,   0,   0,   0   }, /* PD17 */
        /* PD16 */ {   0,   1,   0,   1,   0,   0   }, /* PD16 */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PD15 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SDA */
        /* PD14 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SCL */
  #else
index 12334dfdd1755503c8940813295d2af007438b65,305e110b1745aa38299811075c5bab0d4f1961b5..b579812ccf667aff7f223b979399727f350eba3f
@@@ -1,7 -1,23 +1,7 @@@
  /*
   *  Copyright (C) 2005 Sandburst Corporation
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  #include <config.h>
  #include <common.h>
@@@ -10,7 -26,6 +10,6 @@@
  #include <asm/io.h>
  #include <spd_sdram.h>
  #include <i2c.h>
- #include "ppc440gx_i2c.h"
  #include "sb_common.h"
  
  DECLARE_GLOBAL_DATA_PTR;
@@@ -68,7 -83,7 +67,7 @@@ unsigned short sbcommon_get_serial_numb
  
        /* Get the board serial number from eeprom */
        /* Initialize I2C */
-       i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+       i2c_set_bus_num(0);
  
        /* Read 256 bytes in EEPROM */
        i2c_read (0x50, 0, 1, buff, 0x100);
@@@ -94,85 -109,87 +93,87 @@@ void sbcommon_fans(void
         * Attempt to turn on 2 of the fans...
         * Need to go through the bridge
         */
+       i2c_set_bus_num(1);
        puts ("FANS:  ");
  
        /* select fan4 through the bridge */
-       i2c_reg_write1(0x73, /* addr */
-                      0x00, /* reg */
-                      0x08); /* val = bus 4 */
+       i2c_reg_write(0x73, /* addr */
+                     0x00, /* reg */
+                     0x08); /* val = bus 4 */
  
        /* Turn on FAN 4 */
-       i2c_reg_write1(0x2e,
-                      1,
-                      0x80);
+       i2c_reg_write(0x2e,
+                     1,
+                     0x80);
  
-       i2c_reg_write1(0x2e,
-                      0,
-                      0x19);
+       i2c_reg_write(0x2e,
+                     0,
+                     0x19);
  
        /* Deselect bus 4 on the bridge */
-       i2c_reg_write1(0x73,
-                      0x00,
-                      0x00);
+       i2c_reg_write(0x73,
+                     0x00,
+                     0x00);
  
        /* select fan3 through the bridge */
-       i2c_reg_write1(0x73, /* addr */
-                      0x00, /* reg */
-                      0x04); /* val = bus 3 */
+       i2c_reg_write(0x73, /* addr */
+                     0x00, /* reg */
+                     0x04); /* val = bus 3 */
  
        /* Turn on FAN 3 */
-       i2c_reg_write1(0x2e,
-                      1,
-                      0x80);
+       i2c_reg_write(0x2e,
+                     1,
+                     0x80);
  
-       i2c_reg_write1(0x2e,
-                      0,
-                      0x19);
+       i2c_reg_write(0x2e,
+                     0,
+                     0x19);
  
        /* Deselect bus 3 on the bridge */
-       i2c_reg_write1(0x73,
-                      0x00,
-                      0x00);
+       i2c_reg_write(0x73,
+                     0x00,
+                     0x00);
  
        /* select fan2 through the bridge */
-       i2c_reg_write1(0x73, /* addr */
-                      0x00, /* reg */
-                      0x02); /* val = bus 4 */
+       i2c_reg_write(0x73, /* addr */
+                     0x00, /* reg */
+                     0x02); /* val = bus 4 */
  
        /* Turn on FAN 2 */
-       i2c_reg_write1(0x2e,
-                      1,
-                      0x80);
+       i2c_reg_write(0x2e,
+                     1,
+                     0x80);
  
-       i2c_reg_write1(0x2e,
-                      0,
-                      0x19);
+       i2c_reg_write(0x2e,
+                     0,
+                     0x19);
  
        /* Deselect bus 2 on the bridge */
-       i2c_reg_write1(0x73,
-                      0x00,
-                      0x00);
+       i2c_reg_write(0x73,
+                     0x00,
+                     0x00);
  
        /* select fan1 through the bridge */
-       i2c_reg_write1(0x73, /* addr */
-                      0x00, /* reg */
-                      0x01); /* val = bus 0 */
+       i2c_reg_write(0x73, /* addr */
+                     0x00, /* reg */
+                     0x01); /* val = bus 0 */
  
        /* Turn on FAN 1 */
-       i2c_reg_write1(0x2e,
-                      1,
-                      0x80);
+       i2c_reg_write(0x2e,
+                     1,
+                     0x80);
  
-       i2c_reg_write1(0x2e,
-                      0,
-                      0x19);
+       i2c_reg_write(0x2e,
+                     0,
+                     0x19);
  
        /* Deselect bus 1 on the bridge */
-       i2c_reg_write1(0x73,
-                      0x00,
-                      0x00);
+       i2c_reg_write(0x73,
+                     0x00,
+                     0x00);
  
        puts ("on\n");
+       i2c_set_bus_num(0);
  
        return;
  
@@@ -303,7 -320,7 +304,7 @@@ void board_get_enetaddr(int macaddr_idx
        if (0 == macaddr_idx) {
  
                /* Initialize I2C */
-               i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+               i2c_set_bus_num(0);
  
                /* Read 256 bytes in EEPROM */
                i2c_read (0x50, 0, 1, buff, 0x100);
index c86061c41474150c3d4d43914fb541d94f5f2cba,5b28244440e8ae5616fbc97168936c797c160810..8716eacd84ad00508d802b301b683b5c352dd9c4
@@@ -3,7 -3,23 +3,7 @@@
  /*
   *  Copyright (C) 2005 Sandburst Corporation
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  #include <config.h>
  #include <common.h>
@@@ -12,7 -28,6 +12,6 @@@
  #include <asm/io.h>
  #include <spd_sdram.h>
  #include <i2c.h>
- #include "ppc440gx_i2c.h"
  
  /*
   * GPIO Settings
index 9cceb47806160aec2abc17ff7721088d7d618b11,d9b317098d05b87692b4f4d12e40978003f11e1e..af758f947ef55c7dd7a9c660d7faeab650f099a6
@@@ -6,7 -6,23 +6,7 @@@
  # Sandburst Corporation
  # Travis B. Sawyer
  #
 -# See file CREDITS for list of people who contributed to this
 -# project.
 -#
 -# This program is free software; you can redistribute it and/or
 -# modify it under the terms of the GNU General Public License as
 -# published by the Free Software Foundation; either version 2 of
 -# the License, or (at your option) any later version.
 -#
 -# This program is distributed in the hope that it will be useful,
 -# but WITHOUT ANY WARRANTY; without even the implied warranty of
 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 -# GNU General Public License for more details.
 -#
 -# You should have received a copy of the GNU General Public License
 -# along with this program; if not, write to the Free Software
 -# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 -# MA 02111-1307 USA
 +# SPDX-License-Identifier:    GPL-2.0+
  #
  
  include $(TOPDIR)/config.mk
@@@ -24,8 -40,7 +24,7 @@@ CFLAGS += -DBUILDUSER='"$(BUILDUSER)"
  
  LIB   = $(obj)lib$(BOARD).o
  
- COBJS = $(BOARD).o ../common/flash.o ../common/ppc440gx_i2c.o \
-       ../common/sb_common.o
+ COBJS = $(BOARD).o ../common/flash.o ../common/sb_common.o
  
  SOBJS = init.o
  
index 93681c187136e7d72308689470450a44fd9208e5,d156844ea95cbbc8ee4049489b147c12e58ba9da..683d68b9337c95aa8b5e2c58e37bae05380c1928
@@@ -2,7 -2,23 +2,7 @@@
   *  Copyright (C) 2005 Sandburst Corporation
   *  Travis B. Sawyer
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <config.h>
@@@ -16,7 -32,6 +16,6 @@@
  #include <spd_sdram.h>
  #include <i2c.h>
  #include "../common/sb_common.h"
- #include "../common/ppc440gx_i2c.h"
  #if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) || \
      defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
  #include <net.h>
@@@ -322,11 -337,6 +321,6 @@@ int checkboard (void
   ************************************************************************/
  int misc_init_f (void)
  {
-       /* Turn on i2c bus 1 */
-       puts ("I2C1:  ");
-       i2c1_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
-       puts ("ready\n");
        /* Turn on fans 3 & 4 */
        sbcommon_fans();
  
index 4dbd6ed3142f31a679ea6c6d8140ac3e52d5e078,3f19bf2bd69d9e97ef23ae691e5880f564ec80d7..163f2b98da637a4b7c8d9f02a043ae5f501bd358
@@@ -5,7 -5,23 +5,7 @@@
  # (C) Copyright 2005
  # Travis B. Sawyer, Sandburst Corporation, tsawyer@sandburst.com
  #
 -# See file CREDITS for list of people who contributed to this
 -# project.
 -#
 -# This program is free software; you can redistribute it and/or
 -# modify it under the terms of the GNU General Public License as
 -# published by the Free Software Foundation; either version 2 of
 -# the License, or (at your option) any later version.
 -#
 -# This program is distributed in the hope that it will be useful,
 -# but WITHOUT ANY WARRANTY; without even the implied warranty of
 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 -# GNU General Public License for more details.
 -#
 -# You should have received a copy of the GNU General Public License
 -# along with this program; if not, write to the Free Software
 -# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 -# MA 02111-1307 USA
 +# SPDX-License-Identifier:    GPL-2.0+
  #
  
  include $(TOPDIR)/config.mk
@@@ -23,8 -39,7 +23,7 @@@ CFLAGS += -DBUILDUSER='"$(BUILDUSER)"
  
  LIB   = $(obj)lib$(BOARD).o
  
- COBJS = $(BOARD).o ../common/flash.o ../common/ppc440gx_i2c.o \
-       ../common/sb_common.o
+ COBJS = $(BOARD).o ../common/flash.o ../common/sb_common.o
  SOBJS = init.o
  
  SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
index 8d5079619ed5395a8f1e6e58e951349c99d90e0b,ce4a0296ec16d73abf3f64d35729dbdcd24f1d0b..5bc7f2f4332819d88932fc6e9f557199c025a4f2
@@@ -2,7 -2,23 +2,7 @@@
   *  Copyright (c) 2005
   *  Travis B. Sawyer,  Sandburst Corporation, tsawyer@sandburst.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  #include <config.h>
  #include <common.h>
@@@ -14,7 -30,6 +14,6 @@@
  #include <asm/io.h>
  #include <spd_sdram.h>
  #include <i2c.h>
- #include "../common/ppc440gx_i2c.h"
  #include "../common/sb_common.h"
  #if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) || \
      defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
@@@ -289,11 -304,6 +288,6 @@@ int checkboard (void
   ************************************************************************/
  int misc_init_f (void)
  {
-       /* Turn on i2c bus 1 */
-       puts ("I2C1:  ");
-       i2c1_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
-       puts ("ready\n");
        /* Turn on fans */
        sbcommon_fans();
  
index 669e99ddde0709fd2390b9916d218b429a8d6a03,867b9694e9523ab9ee13fe5e139c4525f8beca5e..c361f188f79e55d027bb029ef9ea49315af9281a
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -144,7 -160,7 +144,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PD18 */ {   0,   0,   0,   1,   0,   0   }, /* PD19 */
        /* PD17 */ {   0,   1,   0,   0,   0,   0   }, /* FCC1 ATMRXPRTY */
        /* PD16 */ {   0,   1,   0,   1,   0,   0   }, /* FCC1 ATMTXPRTY */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PD15 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SDA */
        /* PD14 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SCL */
  #else
index b9dd4fa6b780f38e9e17c91598accdc9714dcb46,c874a7df8d1945c37600289742ccc1caf7049403..334fd6d74b3852b7f86d6d3f433b894e0779596c
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2006
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
@@@ -164,7 -180,7 +164,7 @@@ const iop_conf_t iop_conf_tab[4][32] = 
        /* PD18 */ {   0,   0,   0,   1,   0,   0   }, /* PD19 */
        /* PD17 */ {   0,   1,   0,   0,   0,   0   }, /* FCC1 ATMRXPRTY */
        /* PD16 */ {   0,   1,   0,   1,   0,   0   }, /* FCC1 ATMTXPRTY */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
        /* PD15 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SDA */
        /* PD14 */ {   1,   0,   0,   1,   1,   1   }, /* I2C SCL */
  #else
index fbdbff68de16b8d169438e8ef8ca0cf7e3e99fff,91b86c99d47108d54394b2390e13f51e1356f1ee..2205d51b06a093964a5237535a7518fe627c48d0
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2008
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef       _TQM8272_HEADER_H
@@@ -34,4 -50,4 +34,4 @@@ typedef struct
  
  static HWIB_INFO      hwinf = {0, 0, 1, 0, 1, 0, 0, 0, 0, 8272, 0 ,0,
                         0, 0, 0, 0, 0, 0};
- #endif
+ #endif        /* __CONFIG_H */
diff --combined common/board_f.c
index 3f8766bd7234e8b2c914a62cf0738b8e375dcf42,ddac2dfe096d848544397d0cec766571278485b6..0ada1afe16b220f1080146fa196120d4e7b3e8a3
@@@ -7,7 -7,23 +7,7 @@@
   * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   * Marius Groeger <mgroeger@sysgo.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -245,7 -261,7 +245,7 @@@ void __dram_init_banksize(void
  void dram_init_banksize(void)
        __attribute__((weak, alias("__dram_init_banksize")));
  
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
  static int init_func_i2c(void)
  {
        puts("I2C:   ");
@@@ -903,7 -919,7 +903,7 @@@ static init_fnc_t init_sequence_f[] = 
        misc_init_f,
  #endif
        INIT_FUNC_WATCHDOG_RESET
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
        init_func_i2c,
  #endif
  #if defined(CONFIG_HARD_SPI)
diff --combined common/cmd_date.c
index f0e66862ff887bf74d675d3f0756f5e96ea10fca,f7ae1da1e246491ada89b3abba64d8b66486e973..e3491662bc5819bc837545d9ed953ff21937ad0c
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -34,8 -50,13 +34,13 @@@ static int do_date(cmd_tbl_t *cmdtp, in
        int old_bus;
  
        /* switch to correct I2C bus */
+ #ifdef CONFIG_SYS_I2C
+       old_bus = i2c_get_bus_num();
+       i2c_set_bus_num(CONFIG_SYS_RTC_BUS_NUM);
+ #else
        old_bus = I2C_GET_BUS();
        I2C_SET_BUS(CONFIG_SYS_RTC_BUS_NUM);
+ #endif
  
        switch (argc) {
        case 2:                 /* set date & time */
        }
  
        /* switch back to original I2C bus */
+ #ifdef CONFIG_SYS_I2C
+       i2c_set_bus_num(old_bus);
+ #else
        I2C_SET_BUS(old_bus);
+ #endif
  
        return rcode;
  }
diff --combined common/cmd_dtt.c
index dc57744f8981b82e41c0eaa161ce6584089c0717,c3f8982a71bdd34d686b4564269c17d919efafc2..7257f10fb17c61c116f400840a19dbb7c85c5779
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
@@@ -57,8 -73,13 +57,13 @@@ int dtt_i2c(void
        /* Force a compilation error, if there are more then 32 sensors */
        BUILD_BUG_ON(sizeof(sensors) > 32);
        /* switch to correct I2C bus */
+ #ifdef CONFIG_SYS_I2C
+       old_bus = i2c_get_bus_num();
+       i2c_set_bus_num(CONFIG_SYS_DTT_BUS_NUM);
+ #else
        old_bus = I2C_GET_BUS();
        I2C_SET_BUS(CONFIG_SYS_DTT_BUS_NUM);
+ #endif
  
        _initialize_dtt();
  
                printf("DTT%d: %i C\n", i + 1, dtt_get_temp(sensors[i]));
  
        /* switch back to original I2C bus */
+ #ifdef CONFIG_SYS_I2C
+       i2c_set_bus_num(old_bus);
+ #else
        I2C_SET_BUS(old_bus);
+ #endif
  #endif
  
        return 0;
diff --combined common/cmd_eeprom.c
index 13976363514ed5a9795d0bec0c91527bf110409a,511d8b6022337ea3bf8e3c6b3a21f5b0c6ac5c35..ef694d8f87e1fb8fe145f3f057ab1c9b9bdba628
@@@ -2,7 -2,24 +2,7 @@@
   * (C) Copyright 2000, 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -389,8 -406,7 +389,7 @@@ void eeprom_init  (void
  #if defined(CONFIG_SPI) && !defined(CONFIG_ENV_EEPROM_IS_ON_I2C)
        spi_init_f ();
  #endif
- #if defined(CONFIG_HARD_I2C) || \
-     defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT)
        i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
  #endif
  }
diff --combined common/cmd_i2c.c
index 1703ab41ac0cb7f98b189b4e596eb04406b0dc1e,0a583c2ee5305c41c1e1a594ea51d7ce48f8e974..29f5181baf8238aefa01c1df923d5e0dd5530b8e
@@@ -1,8 -1,29 +1,13 @@@
  /*
+  * (C) Copyright 2009
+  * Sergey Kubushyn, himself, ksi@koi8.net
+  *
+  * Changes for unified multibus/multiadapter I2C support.
+  *
   * (C) Copyright 2001
   * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -69,6 -90,8 +74,8 @@@
  #include <asm/byteorder.h>
  #include <linux/compiler.h>
  
+ DECLARE_GLOBAL_DATA_PTR;
  /* Display values from last command.
   * Memory modify remembered values are different from display memory.
   */
@@@ -87,7 -110,7 +94,7 @@@ static uint  i2c_mm_last_alen
   * pairs.  The following macros take care of this */
  
  #if defined(CONFIG_SYS_I2C_NOPROBES)
- #if defined(CONFIG_I2C_MULTI_BUS)
+ #if defined(CONFIG_SYS_I2C) || defined(CONFIG_I2C_MULTI_BUS)
  static struct
  {
        uchar   bus;
@@@ -103,17 -126,7 +110,7 @@@ static uchar i2c_no_probes[] = CONFIG_S
  #define COMPARE_BUS(b,i)      ((b) == 0)      /* Make compiler happy */
  #define COMPARE_ADDR(a,i)     (i2c_no_probes[(i)] == (a))
  #define NO_PROBE_ADDR(i)      i2c_no_probes[(i)]
- #endif        /* CONFIG_MULTI_BUS */
- #define NUM_ELEMENTS_NOPROBE (sizeof(i2c_no_probes)/sizeof(i2c_no_probes[0]))
- #endif
- #if defined(CONFIG_I2C_MUX)
- static I2C_MUX_DEVICE *i2c_mux_devices = NULL;
- static        int     i2c_mux_busid = CONFIG_SYS_MAX_I2C_BUS;
- DECLARE_GLOBAL_DATA_PTR;
+ #endif        /* defined(CONFIG_SYS_I2C) */
  #endif
  
  #define DISP_LINE_LEN 16
  __weak
  void i2c_init_board(void)
  {
-       return;
  }
  
  /* TODO: Implement architecture-specific get/set functions */
   *
   * Returns I2C bus speed in Hz.
   */
+ #if !defined(CONFIG_SYS_I2C)
+ /*
+  * TODO: Implement architecture-specific get/set functions
+  * Should go away, if we switched completely to new multibus support
+  */
  __weak
  unsigned int i2c_get_bus_speed(void)
  {
@@@ -172,6 -189,7 +173,7 @@@ int i2c_set_bus_speed(unsigned int spee
  
        return 0;
  }
+ #endif
  
  /**
   * get_alen() - Small parser helper function to get address length
@@@ -684,7 -702,7 +686,7 @@@ static int do_i2c_probe (cmd_tbl_t *cmd
        int found = 0;
  #if defined(CONFIG_SYS_I2C_NOPROBES)
        int k, skip;
-       uchar bus = GET_BUS_NUM;
+       unsigned int bus = GET_BUS_NUM;
  #endif        /* NOPROBES */
  
        if (argc == 2)
  
  #if defined(CONFIG_SYS_I2C_NOPROBES)
                skip = 0;
-               for (k=0; k < NUM_ELEMENTS_NOPROBE; k++) {
+               for (k = 0; k < ARRAY_SIZE(i2c_no_probes); k++) {
                        if (COMPARE_BUS(bus, k) && COMPARE_ADDR(j, k)) {
                                skip = 1;
                                break;
  
  #if defined(CONFIG_SYS_I2C_NOPROBES)
        puts ("Excluded chip addresses:");
-       for (k=0; k < NUM_ELEMENTS_NOPROBE; k++) {
+       for (k = 0; k < ARRAY_SIZE(i2c_no_probes); k++) {
                if (COMPARE_BUS(bus,k))
                        printf(" %02X", NO_PROBE_ADDR(k));
        }
@@@ -1357,9 -1375,8 +1359,8 @@@ int do_edid(cmd_tbl_t *cmdtp, int flag
  }
  #endif /* CONFIG_I2C_EDID */
  
- #if defined(CONFIG_I2C_MUX)
  /**
-  * do_i2c_add_bus() - Handle the "i2c bus" command-line command
+  * do_i2c_show_bus() - Handle the "i2c bus" command-line command
   * @cmdtp:    Command data struct pointer
   * @flag:     Command flag
   * @argc:     Command-line argument count
   *
   * Returns zero always.
   */
- static int do_i2c_add_bus(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
+ #if defined(CONFIG_SYS_I2C)
+ int do_i2c_show_bus(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
-       int ret=0;
+       int     i;
+ #ifndef CONFIG_SYS_I2C_DIRECT_BUS
+       int     j;
+ #endif
  
        if (argc == 1) {
                /* show all busses */
-               I2C_MUX         *mux;
-               I2C_MUX_DEVICE  *device = i2c_mux_devices;
-               printf ("Busses reached over muxes:\n");
-               while (device != NULL) {
-                       printf ("Bus ID: %x\n", device->busid);
-                       printf ("  reached over Mux(es):\n");
-                       mux = device->mux;
-                       while (mux != NULL) {
-                               printf ("    %s@%x ch: %x\n", mux->name, mux->chip, mux->channel);
-                               mux = mux->next;
+               for (i = 0; i < CONFIG_SYS_NUM_I2C_BUSES; i++) {
+                       printf("Bus %d:\t%s", i, I2C_ADAP_NR(i)->name);
+ #ifndef CONFIG_SYS_I2C_DIRECT_BUS
+                       for (j = 0; j < CONFIG_SYS_I2C_MAX_HOPS; j++) {
+                               if (i2c_bus[i].next_hop[j].chip == 0)
+                                       break;
+                               printf("->%s@0x%2x:%d",
+                                      i2c_bus[i].next_hop[j].mux.name,
+                                      i2c_bus[i].next_hop[j].chip,
+                                      i2c_bus[i].next_hop[j].channel);
                        }
-                       device = device->next;
+ #endif
+                       printf("\n");
                }
        } else {
-               (void)i2c_mux_ident_muxstring ((uchar *)argv[1]);
-               ret = 0;
+               /* show specific bus */
+               i = simple_strtoul(argv[1], NULL, 10);
+               if (i >= CONFIG_SYS_NUM_I2C_BUSES) {
+                       printf("Invalid bus %d\n", i);
+                       return -1;
+               }
+               printf("Bus %d:\t%s", i, I2C_ADAP_NR(i)->name);
+ #ifndef CONFIG_SYS_I2C_DIRECT_BUS
+                       for (j = 0; j < CONFIG_SYS_I2C_MAX_HOPS; j++) {
+                               if (i2c_bus[i].next_hop[j].chip == 0)
+                                       break;
+                               printf("->%s@0x%2x:%d",
+                                      i2c_bus[i].next_hop[j].mux.name,
+                                      i2c_bus[i].next_hop[j].chip,
+                                      i2c_bus[i].next_hop[j].channel);
+                       }
+ #endif
+               printf("\n");
        }
-       return ret;
+       return 0;
  }
- #endif  /* CONFIG_I2C_MUX */
+ #endif
  
- #if defined(CONFIG_I2C_MULTI_BUS)
  /**
   * do_i2c_bus_num() - Handle the "i2c dev" command-line command
   * @cmdtp:    Command data struct pointer
   * Returns zero on success, CMD_RET_USAGE in case of misuse and negative
   * on error.
   */
- static int do_i2c_bus_num(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
+ #if defined(CONFIG_SYS_I2C) || defined(CONFIG_I2C_MULTI_BUS)
+ int do_i2c_bus_num(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  {
-       int bus_idx, ret=0;
+       int             ret = 0;
+       unsigned int    bus_no;
  
        if (argc == 1)
                /* querying current setting */
                printf("Current bus is %d\n", i2c_get_bus_num());
        else {
-               bus_idx = simple_strtoul(argv[1], NULL, 10);
-               printf("Setting bus to %d\n", bus_idx);
-               ret = i2c_set_bus_num(bus_idx);
+               bus_no = simple_strtoul(argv[1], NULL, 10);
+               if (bus_no >= CONFIG_SYS_NUM_I2C_BUSES) {
+                       printf("Invalid bus %d\n", bus_no);
+                       return -1;
+               }
+               printf("Setting bus to %d\n", bus_no);
+               ret = i2c_set_bus_num(bus_no);
                if (ret)
                        printf("Failure changing bus number (%d)\n", ret);
        }
        return ret;
  }
- #endif  /* CONFIG_I2C_MULTI_BUS */
+ #endif  /* defined(CONFIG_SYS_I2C) */
  
  /**
   * do_i2c_bus_speed() - Handle the "i2c speed" command-line command
@@@ -1492,16 -1535,21 +1519,21 @@@ static int do_i2c_nm(cmd_tbl_t * cmdtp
   */
  static int do_i2c_reset(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
  {
+ #if defined(CONFIG_SYS_I2C)
+       i2c_init(I2C_ADAP->speed, I2C_ADAP->slaveaddr);
+ #else
        i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+ #endif
        return 0;
  }
  
  static cmd_tbl_t cmd_i2c_sub[] = {
- #if defined(CONFIG_I2C_MUX)
-       U_BOOT_CMD_MKENT(bus, 1, 1, do_i2c_add_bus, "", ""),
- #endif  /* CONFIG_I2C_MUX */
+ #if defined(CONFIG_SYS_I2C)
+       U_BOOT_CMD_MKENT(bus, 1, 1, do_i2c_show_bus, "", ""),
+ #endif
        U_BOOT_CMD_MKENT(crc32, 3, 1, do_i2c_crc, "", ""),
- #if defined(CONFIG_I2C_MULTI_BUS)
+ #if defined(CONFIG_SYS_I2C) || \
+       defined(CONFIG_I2C_MULTI_BUS)
        U_BOOT_CMD_MKENT(dev, 1, 1, do_i2c_bus_num, "", ""),
  #endif  /* CONFIG_I2C_MULTI_BUS */
  #if defined(CONFIG_I2C_EDID)
@@@ -1560,11 -1608,12 +1592,12 @@@ static int do_i2c(cmd_tbl_t * cmdtp, in
  /***************************************************/
  #ifdef CONFIG_SYS_LONGHELP
  static char i2c_help_text[] =
- #if defined(CONFIG_I2C_MUX)
-       "bus [muxtype:muxaddr:muxchannel] - add a new bus reached over muxes\ni2c "
- #endif  /* CONFIG_I2C_MUX */
+ #if defined(CONFIG_SYS_I2C)
+       "bus [muxtype:muxaddr:muxchannel] - show I2C bus info\n"
+ #endif
        "crc32 chip address[.0, .1, .2] count - compute CRC32 checksum\n"
- #if defined(CONFIG_I2C_MULTI_BUS)
+ #if defined(CONFIG_SYS_I2C) || \
+       defined(CONFIG_I2C_MULTI_BUS)
        "i2c dev [dev] - show or set current I2C bus\n"
  #endif  /* CONFIG_I2C_MULTI_BUS */
  #if defined(CONFIG_I2C_EDID)
@@@ -1590,225 -1639,3 +1623,3 @@@ U_BOOT_CMD
        "I2C sub-system",
        i2c_help_text
  );
- #if defined(CONFIG_I2C_MUX)
- static int i2c_mux_add_device(I2C_MUX_DEVICE *dev)
- {
-       I2C_MUX_DEVICE  *devtmp = i2c_mux_devices;
-       if (i2c_mux_devices == NULL) {
-               i2c_mux_devices = dev;
-               return 0;
-       }
-       while (devtmp->next != NULL)
-               devtmp = devtmp->next;
-       devtmp->next = dev;
-       return 0;
- }
- I2C_MUX_DEVICE        *i2c_mux_search_device(int id)
- {
-       I2C_MUX_DEVICE  *device = i2c_mux_devices;
-       while (device != NULL) {
-               if (device->busid == id)
-                       return device;
-               device = device->next;
-       }
-       return NULL;
- }
- /* searches in the buf from *pos the next ':'.
-  * returns:
-  *     0 if found (with *pos = where)
-  *   < 0 if an error occured
-  *   > 0 if the end of buf is reached
-  */
- static int i2c_mux_search_next (int *pos, uchar       *buf, int len)
- {
-       while ((buf[*pos] != ':') && (*pos < len)) {
-               *pos += 1;
-       }
-       if (*pos >= len)
-               return 1;
-       if (buf[*pos] != ':')
-               return -1;
-       return 0;
- }
- static int i2c_mux_get_busid (void)
- {
-       int     tmp = i2c_mux_busid;
-       i2c_mux_busid ++;
-       return tmp;
- }
- /* Analyses a Muxstring and immediately sends the
-    commands to the muxes. Runs from flash.
-  */
- int i2c_mux_ident_muxstring_f (uchar *buf)
- {
-       int     pos = 0;
-       int     oldpos;
-       int     ret = 0;
-       int     len = strlen((char *)buf);
-       int     chip;
-       uchar   channel;
-       int     was = 0;
-       while (ret == 0) {
-               oldpos = pos;
-               /* search name */
-               ret = i2c_mux_search_next(&pos, buf, len);
-               if (ret != 0)
-                       printf ("ERROR\n");
-               /* search address */
-               pos ++;
-               oldpos = pos;
-               ret = i2c_mux_search_next(&pos, buf, len);
-               if (ret != 0)
-                       printf ("ERROR\n");
-               buf[pos] = 0;
-               chip = simple_strtoul((char *)&buf[oldpos], NULL, 16);
-               buf[pos] = ':';
-               /* search channel */
-               pos ++;
-               oldpos = pos;
-               ret = i2c_mux_search_next(&pos, buf, len);
-               if (ret < 0)
-                       printf ("ERROR\n");
-               was = 0;
-               if (buf[pos] != 0) {
-                       buf[pos] = 0;
-                       was = 1;
-               }
-               channel = simple_strtoul((char *)&buf[oldpos], NULL, 16);
-               if (was)
-                       buf[pos] = ':';
-               if (i2c_write(chip, 0, 0, &channel, 1) != 0) {
-                       printf ("Error setting Mux: chip:%x channel: \
-                               %x\n", chip, channel);
-                       return -1;
-               }
-               pos ++;
-               oldpos = pos;
-       }
-       i2c_init_board();
-       return 0;
- }
- /* Analyses a Muxstring and if this String is correct
-  * adds a new I2C Bus.
-  */
- I2C_MUX_DEVICE *i2c_mux_ident_muxstring (uchar *buf)
- {
-       I2C_MUX_DEVICE  *device;
-       I2C_MUX         *mux;
-       int     pos = 0;
-       int     oldpos;
-       int     ret = 0;
-       int     len = strlen((char *)buf);
-       int     was = 0;
-       device = (I2C_MUX_DEVICE *)malloc (sizeof(I2C_MUX_DEVICE));
-       device->mux = NULL;
-       device->busid = i2c_mux_get_busid ();
-       device->next = NULL;
-       while (ret == 0) {
-               mux = (I2C_MUX *)malloc (sizeof(I2C_MUX));
-               mux->next = NULL;
-               /* search name of mux */
-               oldpos = pos;
-               ret = i2c_mux_search_next(&pos, buf, len);
-               if (ret != 0)
-                       printf ("%s no name.\n", __FUNCTION__);
-               mux->name = (char *)malloc (pos - oldpos + 1);
-               memcpy (mux->name, &buf[oldpos], pos - oldpos);
-               mux->name[pos - oldpos] = 0;
-               /* search address */
-               pos ++;
-               oldpos = pos;
-               ret = i2c_mux_search_next(&pos, buf, len);
-               if (ret != 0)
-                       printf ("%s no mux address.\n", __FUNCTION__);
-               buf[pos] = 0;
-               mux->chip = simple_strtoul((char *)&buf[oldpos], NULL, 16);
-               buf[pos] = ':';
-               /* search channel */
-               pos ++;
-               oldpos = pos;
-               ret = i2c_mux_search_next(&pos, buf, len);
-               if (ret < 0)
-                       printf ("%s no mux channel.\n", __FUNCTION__);
-               was = 0;
-               if (buf[pos] != 0) {
-                       buf[pos] = 0;
-                       was = 1;
-               }
-               mux->channel = simple_strtoul((char *)&buf[oldpos], NULL, 16);
-               if (was)
-                       buf[pos] = ':';
-               if (device->mux == NULL)
-                       device->mux = mux;
-               else {
-                       I2C_MUX         *muxtmp = device->mux;
-                       while (muxtmp->next != NULL) {
-                               muxtmp = muxtmp->next;
-                       }
-                       muxtmp->next = mux;
-               }
-               pos ++;
-               oldpos = pos;
-       }
-       if (ret > 0) {
-               /* Add Device */
-               i2c_mux_add_device (device);
-               return device;
-       }
-       return NULL;
- }
- int i2x_mux_select_mux(int bus)
- {
-       I2C_MUX_DEVICE  *dev;
-       I2C_MUX         *mux;
-       if ((gd->flags & GD_FLG_RELOC) != GD_FLG_RELOC) {
-               /* select Default Mux Bus */
- #if defined(CONFIG_SYS_I2C_IVM_BUS)
-               i2c_mux_ident_muxstring_f ((uchar *)CONFIG_SYS_I2C_IVM_BUS);
- #else
-               {
-               unsigned char *buf;
-               buf = (unsigned char *) getenv("EEprom_ivm");
-               if (buf != NULL)
-                       i2c_mux_ident_muxstring_f (buf);
-               }
- #endif
-               return 0;
-       }
-       dev = i2c_mux_search_device(bus);
-       if (dev == NULL)
-               return -1;
-       mux = dev->mux;
-       while (mux != NULL) {
-               /* do deblocking on each level of mux, before mux config */
-               i2c_init_board();
-               if (i2c_write(mux->chip, 0, 0, &mux->channel, 1) != 0) {
-                       printf ("Error setting Mux: chip:%x channel: \
-                               %x\n", mux->chip, mux->channel);
-                       return -1;
-               }
-               mux = mux->next;
-       }
-       /* do deblocking on each level of mux and after mux config */
-       i2c_init_board();
-       return 0;
- }
- #endif /* CONFIG_I2C_MUX */
diff --combined common/env_eeprom.c
index f5882bcfcf49c7f12e816ab35b276fb70d5eadb1,21226bf3290f559eae1fb50c2eaa54c969c9e0ab..149370f8348046d2b87a305aa0af503a306c0123
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   * Andreas Heppel <aheppel@sysgo.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #include <common.h>
@@@ -33,24 -49,8 +33,8 @@@ static int eeprom_bus_read(unsigned dev
  #if defined(CONFIG_I2C_ENV_EEPROM_BUS)
        int old_bus = i2c_get_bus_num();
  
-       if (gd->flags & GD_FLG_RELOC) {
-               if (env_eeprom_bus == -1) {
-                       I2C_MUX_DEVICE *dev = NULL;
-                       dev = i2c_mux_ident_muxstring(
-                               (uchar *)CONFIG_I2C_ENV_EEPROM_BUS);
-                       if (dev != NULL)
-                               env_eeprom_bus = dev->busid;
-                       else
-                               printf("error adding env eeprom bus.\n");
-               }
-               if (old_bus != env_eeprom_bus) {
-                       i2c_set_bus_num(env_eeprom_bus);
-                       old_bus = env_eeprom_bus;
-               }
-       } else {
-               rcode = i2c_mux_ident_muxstring_f(
-                               (uchar *)CONFIG_I2C_ENV_EEPROM_BUS);
-       }
+       if (old_bus != CONFIG_I2C_ENV_EEPROM_BUS)
+               i2c_set_bus_num(CONFIG_I2C_ENV_EEPROM_BUS);
  #endif
  
        rcode = eeprom_read(dev_addr, offset, buffer, cnt);
@@@ -59,6 -59,7 +43,7 @@@
        if (old_bus != env_eeprom_bus)
                i2c_set_bus_num(old_bus);
  #endif
        return rcode;
  }
  
@@@ -69,9 -70,12 +54,12 @@@ static int eeprom_bus_write(unsigned de
  #if defined(CONFIG_I2C_ENV_EEPROM_BUS)
        int old_bus = i2c_get_bus_num();
  
-       rcode = i2c_mux_ident_muxstring_f((uchar *)CONFIG_I2C_ENV_EEPROM_BUS);
+       if (old_bus != CONFIG_I2C_ENV_EEPROM_BUS)
+               i2c_set_bus_num(CONFIG_I2C_ENV_EEPROM_BUS);
  #endif
        rcode = eeprom_write(dev_addr, offset, buffer, cnt);
  #if defined(CONFIG_I2C_ENV_EEPROM_BUS)
        i2c_set_bus_num(old_bus);
  #endif
diff --combined common/stdio.c
index 4ea8c0cedf8285c1011dd9e35b371c0958ff03be,39eef5aa2ebdf8ad864ddf921145ac1803a58510..721e9a144495a4c37a62d70e457da5d9a6b544f7
@@@ -1,8 -1,28 +1,12 @@@
  /*
+  * Copyright (C) 2009 Sergey Kubushyn <ksi@koi8.net>
+  *
+  * Changes for multibus/multiadapter I2C support.
+  *
   * (C) Copyright 2000
   * Paolo Scaffardi, AIRVENT SAM s.p.a - RIMINI(ITALY), arsenio@tin.it
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <config.h>
@@@ -14,7 -34,8 +18,8 @@@
  #ifdef CONFIG_LOGBUFFER
  #include <logbuff.h>
  #endif
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
  #include <i2c.h>
  #endif
  
@@@ -194,9 -215,13 +199,13 @@@ int stdio_init (void
  #ifdef CONFIG_ARM_DCC
        drv_arm_dcc_init ();
  #endif
- #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
+ #ifdef CONFIG_SYS_I2C
+       i2c_init_all();
+ #else
+ #if defined(CONFIG_HARD_I2C)
        i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
  #endif
+ #endif
  #ifdef CONFIG_LCD
        drv_lcd_init ();
  #endif
diff --combined drivers/i2c/Makefile
index 4ffbfdde3c1c410178c39c15a42cfd38f4439a59,8f484f76725e2711e88018ca825310671a493018..37ccbd14234606b5f047777b60d0d61b1851214f
@@@ -2,7 -2,23 +2,7 @@@
  # (C) Copyright 2000-2007
  # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  #
 -# See file CREDITS for list of people who contributed to this
 -# project.
 -#
 -# This program is free software; you can redistribute it and/or
 -# modify it under the terms of the GNU General Public License as
 -# published by the Free Software Foundation; either version 2 of
 -# the License, or (at your option) any later version.
 -#
 -# This program is distributed in the hope that it will be useful,
 -# but WITHOUT ANY WARRANTY; without even the implied warranty of
 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 -# GNU General Public License for more details.
 -#
 -# You should have received a copy of the GNU General Public License
 -# along with this program; if not, write to the Free Software
 -# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 -# MA 02111-1307 USA
 +# SPDX-License-Identifier:    GPL-2.0+
  #
  
  include $(TOPDIR)/config.mk
@@@ -12,7 -28,6 +12,6 @@@ LIB   := $(obj)libi2c.
  COBJS-$(CONFIG_BFIN_TWI_I2C) += bfin-twi_i2c.o
  COBJS-$(CONFIG_DRIVER_DAVINCI_I2C) += davinci_i2c.o
  COBJS-$(CONFIG_DW_I2C) += designware_i2c.o
- COBJS-$(CONFIG_FSL_I2C) += fsl_i2c.o
  COBJS-$(CONFIG_I2C_MVTWSI) += mvtwsi.o
  COBJS-$(CONFIG_I2C_MV) += mv_i2c.o
  COBJS-$(CONFIG_I2C_MXC) += mxc_i2c.o
@@@ -21,15 -36,18 +20,18 @@@ COBJS-$(CONFIG_DRIVER_OMAP1510_I2C) += 
  COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
  COBJS-$(CONFIG_DRIVER_OMAP34XX_I2C) += omap24xx_i2c.o
  COBJS-$(CONFIG_PCA9564_I2C) += pca9564_i2c.o
- COBJS-$(CONFIG_PPC4XX_I2C) += ppc4xx_i2c.o
  COBJS-$(CONFIG_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o
  COBJS-$(CONFIG_S3C44B0_I2C) += s3c44b0_i2c.o
- COBJS-$(CONFIG_SOFT_I2C) += soft_i2c.o
- COBJS-$(CONFIG_TEGRA_I2C) += tegra_i2c.o
  COBJS-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
  COBJS-$(CONFIG_U8500_I2C) += u8500_i2c.o
  COBJS-$(CONFIG_SH_I2C) += sh_i2c.o
  COBJS-$(CONFIG_SH_SH7734_I2C) += sh_sh7734_i2c.o
+ COBJS-$(CONFIG_SYS_I2C) += i2c_core.o
+ COBJS-$(CONFIG_SYS_I2C_FSL) += fsl_i2c.o
+ COBJS-$(CONFIG_SYS_I2C_FTI2C010) += fti2c010.o
+ COBJS-$(CONFIG_SYS_I2C_PPC4XX) += ppc4xx_i2c.o
+ COBJS-$(CONFIG_SYS_I2C_SOFT) += soft_i2c.o
+ COBJS-$(CONFIG_SYS_I2C_TEGRA) += tegra_i2c.o
  COBJS-$(CONFIG_ZYNQ_I2C) += zynq_i2c.o
  
  COBJS := $(COBJS-y)
diff --combined drivers/i2c/mxc_i2c.c
index 3eadbac0cd5542b6a68944238ab310deeeffe70f,85e3e8b4eb815f60693a1085eda9b7d7a4b3ec23..06ba4e39f1f5ef40f3589e87f75dae3e98fc5481
   *  Copyright (C) 2008 Darius Augulis <darius.augulis at teltonika.lt>
   *
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
  #include <i2c.h>
  #include <watchdog.h>
  
+ #ifdef I2C_QUIRK_REG
+ struct mxc_i2c_regs {
+       uint8_t         iadr;
+       uint8_t         ifdr;
+       uint8_t         i2cr;
+       uint8_t         i2sr;
+       uint8_t         i2dr;
+ };
+ #else
  struct mxc_i2c_regs {
        uint32_t        iadr;
        uint32_t        ifdr;
@@@ -29,8 -54,8 +38,8 @@@
        uint32_t        i2sr;
        uint32_t        i2dr;
  };
+ #endif
  
- #define I2CR_IEN      (1 << 7)
  #define I2CR_IIEN     (1 << 6)
  #define I2CR_MSTA     (1 << 5)
  #define I2CR_MTX      (1 << 4)
  #define I2SR_IIF      (1 << 1)
  #define I2SR_RX_NO_AK (1 << 0)
  
+ #ifdef I2C_QUIRK_REG
+ #define I2CR_IEN      (0 << 7)
+ #define I2CR_IDIS     (1 << 7)
+ #define I2SR_IIF_CLEAR        (1 << 1)
+ #else
+ #define I2CR_IEN      (1 << 7)
+ #define I2CR_IDIS     (0 << 7)
+ #define I2SR_IIF_CLEAR        (0 << 1)
+ #endif
  #if defined(CONFIG_HARD_I2C) && !defined(CONFIG_SYS_I2C_BASE)
  #error "define CONFIG_SYS_I2C_BASE to use the mxc_i2c driver"
  #endif
  
+ #ifdef I2C_QUIRK_REG
+ static u16 i2c_clk_div[60][2] = {
+       { 20,   0x00 }, { 22,   0x01 }, { 24,   0x02 }, { 26,   0x03 },
+       { 28,   0x04 }, { 30,   0x05 }, { 32,   0x09 }, { 34,   0x06 },
+       { 36,   0x0A }, { 40,   0x07 }, { 44,   0x0C }, { 48,   0x0D },
+       { 52,   0x43 }, { 56,   0x0E }, { 60,   0x45 }, { 64,   0x12 },
+       { 68,   0x0F }, { 72,   0x13 }, { 80,   0x14 }, { 88,   0x15 },
+       { 96,   0x19 }, { 104,  0x16 }, { 112,  0x1A }, { 128,  0x17 },
+       { 136,  0x4F }, { 144,  0x1C }, { 160,  0x1D }, { 176,  0x55 },
+       { 192,  0x1E }, { 208,  0x56 }, { 224,  0x22 }, { 228,  0x24 },
+       { 240,  0x1F }, { 256,  0x23 }, { 288,  0x5C }, { 320,  0x25 },
+       { 384,  0x26 }, { 448,  0x2A }, { 480,  0x27 }, { 512,  0x2B },
+       { 576,  0x2C }, { 640,  0x2D }, { 768,  0x31 }, { 896,  0x32 },
+       { 960,  0x2F }, { 1024, 0x33 }, { 1152, 0x34 }, { 1280, 0x35 },
+       { 1536, 0x36 }, { 1792, 0x3A }, { 1920, 0x37 }, { 2048, 0x3B },
+       { 2304, 0x3C }, { 2560, 0x3D }, { 3072, 0x3E }, { 3584, 0x7A },
+       { 3840, 0x3F }, { 4096, 0x7B }, { 5120, 0x7D }, { 6144, 0x7E },
+ };
+ #else
  static u16 i2c_clk_div[50][2] = {
        { 22,   0x20 }, { 24,   0x21 }, { 26,   0x22 }, { 28,   0x23 },
        { 30,   0x00 }, { 32,   0x24 }, { 36,   0x25 }, { 40,   0x26 },
        { 1920, 0x1B }, { 2048, 0x3F }, { 2304, 0x1C }, { 2560, 0x1D },
        { 3072, 0x1E }, { 3840, 0x1F }
  };
+ #endif
  
  /*
   * Calculate and set proper clock divider
@@@ -109,7 -164,7 +148,7 @@@ static int bus_i2c_set_bus_speed(void *
        writeb(idx, &i2c_regs->ifdr);
  
        /* Reset module */
-       writeb(0, &i2c_regs->i2cr);
+       writeb(I2CR_IDIS, &i2c_regs->i2cr);
        writeb(0, &i2c_regs->i2sr);
        return 0;
  }
@@@ -141,7 -196,11 +180,11 @@@ static int wait_for_sr_state(struct mxc
        for (;;) {
                sr = readb(&i2c_regs->i2sr);
                if (sr & I2SR_IAL) {
+ #ifdef I2C_QUIRK_REG
+                       writeb(sr | I2SR_IAL, &i2c_regs->i2sr);
+ #else
                        writeb(sr & ~I2SR_IAL, &i2c_regs->i2sr);
+ #endif
                        printf("%s: Arbitration lost sr=%x cr=%x state=%x\n",
                                __func__, sr, readb(&i2c_regs->i2cr), state);
                        return -ERESTART;
@@@ -162,7 -221,7 +205,7 @@@ static int tx_byte(struct mxc_i2c_regs 
  {
        int ret;
  
-       writeb(0, &i2c_regs->i2sr);
+       writeb(I2SR_IIF_CLEAR, &i2c_regs->i2sr);
        writeb(byte, &i2c_regs->i2dr);
        ret = wait_for_sr_state(i2c_regs, ST_IIF);
        if (ret < 0)
@@@ -198,14 -257,18 +241,18 @@@ static int i2c_init_transfer_(struct mx
        int ret;
  
        /* Enable I2C controller */
+ #ifdef I2C_QUIRK_REG
+       if (readb(&i2c_regs->i2cr) & I2CR_IDIS) {
+ #else
        if (!(readb(&i2c_regs->i2cr) & I2CR_IEN)) {
+ #endif
                writeb(I2CR_IEN, &i2c_regs->i2cr);
                /* Wait for controller to be stable */
                udelay(50);
        }
        if (readb(&i2c_regs->iadr) == (chip << 1))
                writeb((chip << 1) ^ 2, &i2c_regs->iadr);
-       writeb(0, &i2c_regs->i2sr);
+       writeb(I2SR_IIF_CLEAR, &i2c_regs->i2sr);
        ret = wait_for_sr_state(i2c_regs, ST_BUS_IDLE);
        if (ret < 0)
                return ret;
@@@ -253,7 -316,8 +300,8 @@@ static int i2c_init_transfer(struct mxc
                printf("%s: failed for chip 0x%x retry=%d\n", __func__, chip,
                                retry);
                if (ret != -ERESTART)
-                       writeb(0, &i2c_regs->i2cr);     /* Disable controller */
+                       /* Disable controller */
+                       writeb(I2CR_IDIS, &i2c_regs->i2cr);
                udelay(100);
                if (i2c_idle_bus(i2c_regs) < 0)
                        break;
@@@ -293,7 -357,7 +341,7 @@@ int bus_i2c_read(void *base, uchar chip
        if (len == 1)
                temp |= I2CR_TX_NO_AK;
        writeb(temp, &i2c_regs->i2cr);
-       writeb(0, &i2c_regs->i2sr);
+       writeb(I2SR_IIF_CLEAR, &i2c_regs->i2sr);
        readb(&i2c_regs->i2dr);         /* dummy read to clear ICF */
  
        /* read data */
                        temp |= I2CR_TX_NO_AK;
                        writeb(temp, &i2c_regs->i2cr);
                }
-               writeb(0, &i2c_regs->i2sr);
+               writeb(I2SR_IIF_CLEAR, &i2c_regs->i2sr);
                buf[i] = readb(&i2c_regs->i2dr);
        }
        i2c_imx_stop(i2c_regs);
diff --combined drivers/i2c/ppc4xx_i2c.c
index 52929ebc4e660f5deef9c07b929e67d340e4eedf,c924874b599d20de6aaee77483f07721e5412386..e7a15ba6448a7600ac5f8a077840e2e98533d2e3
@@@ -7,7 -7,23 +7,7 @@@
   * (C) Copyright 2001
   * Bill Hunter,  Wave 7 Optics, williamhunter@mediaone.net
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
  #include <i2c.h>
  #include <asm/io.h>
  
- #ifdef CONFIG_HARD_I2C
  DECLARE_GLOBAL_DATA_PTR;
  
- #if defined(CONFIG_I2C_MULTI_BUS)
- /*
-  * Initialize the bus pointer to whatever one the SPD EEPROM is on.
-  * Default is bus 0.  This is necessary because the DDR initialization
-  * runs from ROM, and we can't switch buses because we can't modify
-  * the global variables.
-  */
- #ifndef CONFIG_SYS_SPD_BUS_NUM
- #define CONFIG_SYS_SPD_BUS_NUM        0
+ static inline struct ppc4xx_i2c *ppc4xx_get_i2c(int hwadapnr)
+ {
+       unsigned long base;
+ #if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
+       defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
+       defined(CONFIG_460EX) || defined(CONFIG_460GT)
+       base = CONFIG_SYS_PERIPHERAL_BASE + 0x00000700 + (hwadapnr * 0x100);
+ #elif defined(CONFIG_440) || defined(CONFIG_405EX)
+ /* all remaining 440 variants */
+       base = CONFIG_SYS_PERIPHERAL_BASE + 0x00000400 + (hwadapnr * 0x100);
+ #else
+ /* all 405 variants */
+       base = 0xEF600500 + (hwadapnr * 0x100);
  #endif
- static unsigned int i2c_bus_num __attribute__ ((section (".data"))) =
-       CONFIG_SYS_SPD_BUS_NUM;
- #endif /* CONFIG_I2C_MULTI_BUS */
+       return (struct ppc4xx_i2c *)base;
+ }
  
- static void _i2c_bus_reset(void)
+ static void _i2c_bus_reset(struct i2c_adapter *adap)
  {
-       struct ppc4xx_i2c *i2c = (struct ppc4xx_i2c *)I2C_BASE_ADDR;
+       struct ppc4xx_i2c *i2c = ppc4xx_get_i2c(adap->hwadapnr);
        int i;
        u8 dc;
  
        out_8(&i2c->xtcntlss, 0);
  }
  
void i2c_init(int speed, int slaveaddr)
static void ppc4xx_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
  {
-       struct ppc4xx_i2c *i2c;
+       struct ppc4xx_i2c *i2c = ppc4xx_get_i2c(adap->hwadapnr);
        int val, divisor;
-       int bus;
  
  #ifdef CONFIG_SYS_I2C_INIT_BOARD
        /*
        i2c_init_board();
  #endif
  
-       for (bus = 0; bus < CONFIG_SYS_MAX_I2C_BUS; bus++) {
-               I2C_SET_BUS(bus);
-               /* Set i2c pointer after calling I2C_SET_BUS() */
-               i2c = (struct ppc4xx_i2c *)I2C_BASE_ADDR;
-               /* Handle possible failed I2C state */
-               /* FIXME: put this into i2c_init_board()? */
-               _i2c_bus_reset();
+       /* Handle possible failed I2C state */
+       /* FIXME: put this into i2c_init_board()? */
+       _i2c_bus_reset(adap);
  
-               /* clear lo master address */
-               out_8(&i2c->lmadr, 0);
+       /* clear lo master address */
+       out_8(&i2c->lmadr, 0);
  
-               /* clear hi master address */
-               out_8(&i2c->hmadr, 0);
-               /* clear lo slave address */
-               out_8(&i2c->lsadr, 0);
+       /* clear hi master address */
+       out_8(&i2c->hmadr, 0);
  
-               /* clear hi slave address */
-               out_8(&i2c->hsadr, 0);
+       /* clear lo slave address */
+       out_8(&i2c->lsadr, 0);
  
-               /* Clock divide Register */
-               /* set divisor according to freq_opb */
-               divisor = (get_OPB_freq() - 1) / 10000000;
-               if (divisor == 0)
-                       divisor = 1;
-               out_8(&i2c->clkdiv, divisor);
+       /* clear hi slave address */
+       out_8(&i2c->hsadr, 0);
  
-               /* no interrupts */
-               out_8(&i2c->intrmsk, 0);
+       /* Clock divide Register */
+       /* set divisor according to freq_opb */
+       divisor = (get_OPB_freq() - 1) / 10000000;
+       if (divisor == 0)
+               divisor = 1;
+       out_8(&i2c->clkdiv, divisor);
  
-               /* clear transfer count */
-               out_8(&i2c->xfrcnt, 0);
+       /* no interrupts */
+       out_8(&i2c->intrmsk, 0);
  
-               /* clear extended control & stat */
-               /* write 1 in SRC SRS SWC SWS to clear these fields */
-               out_8(&i2c->xtcntlss, 0xF0);
+       /* clear transfer count */
+       out_8(&i2c->xfrcnt, 0);
  
-               /* Mode Control Register
-                  Flush Slave/Master data buffer */
-               out_8(&i2c->mdcntl, IIC_MDCNTL_FSDB | IIC_MDCNTL_FMDB);
+       /* clear extended control & stat */
+       /* write 1 in SRC SRS SWC SWS to clear these fields */
+       out_8(&i2c->xtcntlss, 0xF0);
  
-               val = in_8(&i2c->mdcntl);
+       /* Mode Control Register
+          Flush Slave/Master data buffer */
+       out_8(&i2c->mdcntl, IIC_MDCNTL_FSDB | IIC_MDCNTL_FMDB);
  
-               /* Ignore General Call, slave transfers are ignored,
-                * disable interrupts, exit unknown bus state, enable hold
-                * SCL 100kHz normaly or FastMode for 400kHz and above
-                */
+       val = in_8(&i2c->mdcntl);
  
-               val |= IIC_MDCNTL_EUBS | IIC_MDCNTL_HSCL;
-               if (speed >= 400000)
-                       val |= IIC_MDCNTL_FSM;
-               out_8(&i2c->mdcntl, val);
+       /* Ignore General Call, slave transfers are ignored,
+        * disable interrupts, exit unknown bus state, enable hold
+        * SCL 100kHz normaly or FastMode for 400kHz and above
+        */
  
-               /* clear control reg */
-               out_8(&i2c->cntl, 0x00);
-       }
+       val |= IIC_MDCNTL_EUBS | IIC_MDCNTL_HSCL;
+       if (speed >= 400000)
+               val |= IIC_MDCNTL_FSM;
+       out_8(&i2c->mdcntl, val);
  
-       /* set to SPD bus as default bus upon powerup */
-       I2C_SET_BUS(CONFIG_SYS_SPD_BUS_NUM);
+       /* clear control reg */
+       out_8(&i2c->cntl, 0x00);
  }
  
  /*
   *
   * It does not check XFRCNT.
   */
- static int i2c_transfer(unsigned char cmd_type,
+ static int _i2c_transfer(struct i2c_adapter *adap,
+                       unsigned char cmd_type,
                        unsigned char chip,
                        unsigned char addr[],
                        unsigned char addr_len,
                        unsigned char data[],
                        unsigned short data_len)
  {
-       struct ppc4xx_i2c *i2c = (struct ppc4xx_i2c *)I2C_BASE_ADDR;
+       struct ppc4xx_i2c *i2c = ppc4xx_get_i2c(adap->hwadapnr);
        u8 *ptr;
        int reading;
        int tran, cnt;
        return result;
  }
  
int i2c_probe(uchar chip)
static int ppc4xx_i2c_probe(struct i2c_adapter *adap, uchar chip)
  {
        uchar buf[1];
  
         * address was <ACK>ed (i.e. there was a chip at that address which
         * drove the data line low).
         */
-       return (i2c_transfer(1, chip << 1, 0, 0, buf, 1) != 0);
+       return (_i2c_transfer(adap, 1, chip << 1, 0, 0, buf, 1) != 0);
  }
  
- static int ppc4xx_i2c_transfer(uchar chip, uint addr, int alen, uchar *buffer,
-                              int len, int read)
+ static int ppc4xx_i2c_transfer(struct i2c_adapter *adap, uchar chip, uint addr,
+                              int alen, uchar *buffer, int len, int read)
  {
        uchar xaddr[4];
        int ret;
                chip |= ((addr >> (alen * 8)) &
                         CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW);
  #endif
-       if ((ret = i2c_transfer(read, chip << 1, &xaddr[4 - alen], alen,
-                               buffer, len)) != 0) {
+       ret = _i2c_transfer(adap, read, chip << 1, &xaddr[4 - alen], alen,
+                           buffer, len);
+       if (ret) {
                printf("I2C %s: failed %d\n", read ? "read" : "write", ret);
                return 1;
        }
  
        return 0;
  }
  
- int i2c_read(uchar chip, uint addr, int alen, uchar * buffer, int len)
+ static int ppc4xx_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr,
+                          int alen, uchar *buffer, int len)
  {
-       return ppc4xx_i2c_transfer(chip, addr, alen, buffer, len, 1);
+       return ppc4xx_i2c_transfer(adap, chip, addr, alen, buffer, len, 1);
  }
  
- int i2c_write(uchar chip, uint addr, int alen, uchar * buffer, int len)
+ static int ppc4xx_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr,
+                           int alen, uchar *buffer, int len)
  {
-       return ppc4xx_i2c_transfer(chip, addr, alen, buffer, len, 0);
+       return ppc4xx_i2c_transfer(adap, chip, addr, alen, buffer, len, 0);
  }
  
- #if defined(CONFIG_I2C_MULTI_BUS)
- /*
-  * Functions for multiple I2C bus handling
-  */
- unsigned int i2c_get_bus_num(void)
+ static unsigned int ppc4xx_i2c_set_bus_speed(struct i2c_adapter *adap,
+                                            unsigned int speed)
  {
-       return i2c_bus_num;
- }
- int i2c_set_bus_num(unsigned int bus)
- {
-       if (bus >= CONFIG_SYS_MAX_I2C_BUS)
+       if (speed != adap->speed)
                return -1;
-       i2c_bus_num = bus;
-       return 0;
+       return speed;
  }
- #endif        /* CONFIG_I2C_MULTI_BUS */
- #endif        /* CONFIG_HARD_I2C */
+ /*
+  * Register ppc4xx i2c adapters
+  */
+ #ifdef CONFIG_SYS_I2C_PPC4XX_CH0
+ U_BOOT_I2C_ADAP_COMPLETE(ppc4xx_0, ppc4xx_i2c_init, ppc4xx_i2c_probe,
+                        ppc4xx_i2c_read, ppc4xx_i2c_write,
+                        ppc4xx_i2c_set_bus_speed,
+                        CONFIG_SYS_I2C_PPC4XX_SPEED_0,
+                        CONFIG_SYS_I2C_PPC4XX_SLAVE_0, 0)
+ #endif
+ #ifdef CONFIG_SYS_I2C_PPC4XX_CH1
+ U_BOOT_I2C_ADAP_COMPLETE(ppc4xx_1, ppc4xx_i2c_init, ppc4xx_i2c_probe,
+                        ppc4xx_i2c_read, ppc4xx_i2c_write,
+                        ppc4xx_i2c_set_bus_speed,
+                        CONFIG_SYS_I2C_PPC4XX_SPEED_1,
+                        CONFIG_SYS_I2C_PPC4XX_SLAVE_1, 1)
+ #endif
diff --combined drivers/i2c/soft_i2c.c
index 0a1423016e90a2a13e327bde0ee6d650a528516e,12693041d7fe6d0f86fe718a1dcb8b156043b535..a2baec0ace2054b7a6e4870a08435b5818675e81
@@@ -1,8 -1,28 +1,12 @@@
  /*
+  * (C) Copyright 2009
+  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
+  * Changes for multibus/multiadapter I2C support.
+  *
   * (C) Copyright 2001, 2002
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   *
   * This has been changed substantially by Gerald Van Baren, Custom IDEAS,
   * vanbaren@cideas.com.  It was heavily influenced by LiMon, written by
  
  /* #define    DEBUG_I2C       */
  
- #ifdef DEBUG_I2C
  DECLARE_GLOBAL_DATA_PTR;
+ #ifndef       I2C_SOFT_DECLARATIONS
+ # if defined(CONFIG_MPC8260)
+ #  define I2C_SOFT_DECLARATIONS volatile ioport_t *iop = \
+               ioport_addr((immap_t *)CONFIG_SYS_IMMR, I2C_PORT);
+ # elif defined(CONFIG_8xx)
+ #  define I2C_SOFT_DECLARATIONS       volatile immap_t *immr = \
+               (immap_t *)CONFIG_SYS_IMMR;
+ # else
+ #  define I2C_SOFT_DECLARATIONS
+ # endif
+ #endif
+ #if !defined(CONFIG_SYS_SOFT_I2C_SPEED)
+ #define CONFIG_SYS_SOFT_I2C_SPEED CONFIG_SYS_I2C_SPEED
+ #endif
+ #if !defined(CONFIG_SYS_SOFT_I2C_SLAVE)
+ #define CONFIG_SYS_SOFT_I2C_SLAVE CONFIG_SYS_I2C_SLAVE
  #endif
  
  /*-----------------------------------------------------------------------
   * Definitions
   */
  #define RETRIES               0
  
  #define I2C_ACK               0               /* PD_SDA level to ack a byte */
  #define PRINTD(fmt,args...)
  #endif
  
- #if defined(CONFIG_I2C_MULTI_BUS)
- static unsigned int i2c_bus_num __attribute__ ((section (".data"))) = 0;
- #endif /* CONFIG_I2C_MULTI_BUS */
  /*-----------------------------------------------------------------------
   * Local functions
   */
@@@ -251,39 -283,6 +267,6 @@@ static int write_byte(uchar data
        return(nack);   /* not a nack is an ack */
  }
  
- #if defined(CONFIG_I2C_MULTI_BUS)
- /*
-  * Functions for multiple I2C bus handling
-  */
- unsigned int i2c_get_bus_num(void)
- {
-       return i2c_bus_num;
- }
- int i2c_set_bus_num(unsigned int bus)
- {
- #if defined(CONFIG_I2C_MUX)
-       if (bus < CONFIG_SYS_MAX_I2C_BUS) {
-               i2c_bus_num = bus;
-       } else {
-               int     ret;
-               ret = i2x_mux_select_mux(bus);
-               i2c_init_board();
-               if (ret == 0)
-                       i2c_bus_num = bus;
-               else
-                       return ret;
-       }
- #else
-       if (bus >= CONFIG_SYS_MAX_I2C_BUS)
-               return -1;
-       i2c_bus_num = bus;
- #endif
-       return 0;
- }
- #endif
  /*-----------------------------------------------------------------------
   * if ack == I2C_ACK, ACK the byte so can continue reading, else
   * send I2C_NOACK to end the read.
@@@ -314,14 -313,10 +297,10 @@@ static uchar read_byte(int ack
        return(data);
  }
  
- /*=====================================================================*/
- /*                         Public Functions                            */
- /*=====================================================================*/
  /*-----------------------------------------------------------------------
   * Initialization
   */
void i2c_init (int speed, int slaveaddr)
static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
  {
  #if defined(CONFIG_SYS_I2C_INIT_BOARD)
        /* call board specific i2c bus reset routine before accessing the   */
   * completion of EEPROM writes since the chip stops responding until
   * the write completes (typically 10mSec).
   */
int i2c_probe(uchar addr)
static int soft_i2c_probe(struct i2c_adapter *adap, uint8_t addr)
  {
        int rc;
  
  /*-----------------------------------------------------------------------
   * Read bytes
   */
- int  i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)
+ static int  soft_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr,
+                       int alen, uchar *buffer, int len)
  {
        int shift;
        PRINTD("i2c_read: chip %02X addr %02X alen %d buffer %p len %d\n",
  /*-----------------------------------------------------------------------
   * Write bytes
   */
- int  i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
+ static int  soft_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr,
+                       int alen, uchar *buffer, int len)
  {
        int shift, failures = 0;
  
        send_stop();
        return(failures);
  }
+ /*
+  * Register soft i2c adapters
+  */
+ U_BOOT_I2C_ADAP_COMPLETE(soft0, soft_i2c_init, soft_i2c_probe,
+                        soft_i2c_read, soft_i2c_write, NULL,
+                        CONFIG_SYS_I2C_SOFT_SPEED, CONFIG_SYS_I2C_SOFT_SLAVE,
+                        0)
+ #if defined(I2C_SOFT_DECLARATIONS2)
+ U_BOOT_I2C_ADAP_COMPLETE(soft1, soft_i2c_init, soft_i2c_probe,
+                        soft_i2c_read, soft_i2c_write, NULL,
+                        CONFIG_SYS_I2C_SOFT_SPEED_2,
+                        CONFIG_SYS_I2C_SOFT_SLAVE_2,
+                        1)
+ #endif
+ #if defined(I2C_SOFT_DECLARATIONS3)
+ U_BOOT_I2C_ADAP_COMPLETE(soft2, soft_i2c_init, soft_i2c_probe,
+                        soft_i2c_read, soft_i2c_write, NULL,
+                        CONFIG_SYS_I2C_SOFT_SPEED_3,
+                        CONFIG_SYS_I2C_SOFT_SLAVE_3,
+                        2)
+ #endif
+ #if defined(I2C_SOFT_DECLARATIONS4)
+ U_BOOT_I2C_ADAP_COMPLETE(soft3, soft_i2c_init, soft_i2c_probe,
+                        soft_i2c_read, soft_i2c_write, NULL,
+                        CONFIG_SYS_I2C_SOFT_SPEED_4,
+                        CONFIG_SYS_I2C_SOFT_SLAVE_4,
+                        3)
+ #endif
diff --combined drivers/i2c/tegra_i2c.c
index e96d5d5d090423c71feb4fa7e683862219d2b1be,9bf71a689f1f8d8b19e697186384e6b0b0fbaa8e..9ac3969a07cfe1d71df571b978e815ff95abbf03
@@@ -3,7 -3,23 +3,7 @@@
   * Copyright (c) 2010-2011 NVIDIA Corporation
   *  NVIDIA Corporation <www.nvidia.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -19,8 -35,6 +19,6 @@@
  
  DECLARE_GLOBAL_DATA_PTR;
  
- static unsigned int i2c_bus_num;
  /* Information about i2c controller */
  struct i2c_bus {
        int                     id;
@@@ -268,7 -282,8 +266,8 @@@ exit
        return error;
  }
  
- static int tegra_i2c_write_data(u32 addr, u8 *data, u32 len)
+ static int tegra_i2c_write_data(struct i2c_bus *bus, u32 addr, u8 *data,
+                               u32 len)
  {
        int error;
        struct i2c_trans_info trans_info;
        trans_info.num_bytes = len;
        trans_info.is_10bit_address = 0;
  
-       error = send_recv_packets(&i2c_controllers[i2c_bus_num], &trans_info);
+       error = send_recv_packets(bus, &trans_info);
        if (error)
                debug("tegra_i2c_write_data: Error (%d) !!!\n", error);
  
        return error;
  }
  
- static int tegra_i2c_read_data(u32 addr, u8 *data, u32 len)
+ static int tegra_i2c_read_data(struct i2c_bus *bus, u32 addr, u8 *data,
+                              u32 len)
  {
        int error;
        struct i2c_trans_info trans_info;
        trans_info.num_bytes = len;
        trans_info.is_10bit_address = 0;
  
-       error = send_recv_packets(&i2c_controllers[i2c_bus_num], &trans_info);
+       error = send_recv_packets(bus, &trans_info);
        if (error)
                debug("tegra_i2c_read_data: Error (%d) !!!\n", error);
  
  #error "Please enable device tree support to use this driver"
  #endif
  
- unsigned int i2c_get_bus_speed(void)
+ /**
+  * Check that a bus number is valid and return a pointer to it
+  *
+  * @param bus_num     Bus number to check / return
+  * @return pointer to bus, if valid, else NULL
+  */
+ static struct i2c_bus *tegra_i2c_get_bus(struct i2c_adapter *adap)
  {
-       return i2c_controllers[i2c_bus_num].speed;
+       struct i2c_bus *bus;
+       bus = &i2c_controllers[adap->hwadapnr];
+       if (!bus->inited) {
+               debug("%s: Bus %u not available\n", __func__, adap->hwadapnr);
+               return NULL;
+       }
+       return bus;
  }
  
- int i2c_set_bus_speed(unsigned int speed)
+ static unsigned int tegra_i2c_set_bus_speed(struct i2c_adapter *adap,
+                       unsigned int speed)
  {
-       struct i2c_bus *i2c_bus;
+       struct i2c_bus *bus;
  
-       i2c_bus = &i2c_controllers[i2c_bus_num];
-       i2c_bus->speed = speed;
-       i2c_init_controller(i2c_bus);
+       bus = tegra_i2c_get_bus(adap);
+       if (!bus)
+               return 0;
+       bus->speed = speed;
+       i2c_init_controller(bus);
  
        return 0;
  }
@@@ -434,7 -467,7 +451,7 @@@ void i2c_init_board(void
                return;
  }
  
void i2c_init(int speed, int slaveaddr)
static void tegra_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
  {
        /* This will override the speed selected in the fdt for that port */
        debug("i2c_init(speed=%u, slaveaddr=0x%x)\n", speed, slaveaddr);
  }
  
  /* i2c write version without the register address */
- int i2c_write_data(uchar chip, uchar *buffer, int len)
+ int i2c_write_data(struct i2c_bus *bus, uchar chip, uchar *buffer, int len)
  {
        int rc;
  
        debug("\n");
  
        /* Shift 7-bit address over for lower-level i2c functions */
-       rc = tegra_i2c_write_data(chip << 1, buffer, len);
+       rc = tegra_i2c_write_data(bus, chip << 1, buffer, len);
        if (rc)
                debug("i2c_write_data(): rc=%d\n", rc);
  
  }
  
  /* i2c read version without the register address */
- int i2c_read_data(uchar chip, uchar *buffer, int len)
+ int i2c_read_data(struct i2c_bus *bus, uchar chip, uchar *buffer, int len)
  {
        int rc;
  
        debug("inside i2c_read_data():\n");
        /* Shift 7-bit address over for lower-level i2c functions */
-       rc = tegra_i2c_read_data(chip << 1, buffer, len);
+       rc = tegra_i2c_read_data(bus, chip << 1, buffer, len);
        if (rc) {
                debug("i2c_read_data(): rc=%d\n", rc);
                return rc;
  }
  
  /* Probe to see if a chip is present. */
int i2c_probe(uchar chip)
static int tegra_i2c_probe(struct i2c_adapter *adap, uchar chip)
  {
+       struct i2c_bus *bus;
        int rc;
        uchar reg;
  
        debug("i2c_probe: addr=0x%x\n", chip);
+       bus = tegra_i2c_get_bus(adap);
+       if (!bus)
+               return 1;
        reg = 0;
-       rc = i2c_write_data(chip, &reg, 1);
+       rc = i2c_write_data(bus, chip, &reg, 1);
        if (rc) {
                debug("Error probing 0x%x.\n", chip);
                return 1;
@@@ -506,13 -543,18 +527,18 @@@ static int i2c_addr_ok(const uint addr
  }
  
  /* Read bytes */
- int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)
+ static int tegra_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr,
+                       int alen, uchar *buffer, int len)
  {
+       struct i2c_bus *bus;
        uint offset;
        int i;
  
        debug("i2c_read: chip=0x%x, addr=0x%x, len=0x%x\n",
                                chip, addr, len);
+       bus = tegra_i2c_get_bus(adap);
+       if (!bus)
+               return 1;
        if (!i2c_addr_ok(addr, alen)) {
                debug("i2c_read: Bad address %x.%d.\n", addr, alen);
                return 1;
                                data[alen - i - 1] =
                                        (addr + offset) >> (8 * i);
                        }
-                       if (i2c_write_data(chip, data, alen)) {
+                       if (i2c_write_data(bus, chip, data, alen)) {
                                debug("i2c_read: error sending (0x%x)\n",
                                        addr);
                                return 1;
                        }
                }
-               if (i2c_read_data(chip, buffer + offset, 1)) {
+               if (i2c_read_data(bus, chip, buffer + offset, 1)) {
                        debug("i2c_read: error reading (0x%x)\n", addr);
                        return 1;
                }
  }
  
  /* Write bytes */
- int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
+ static int tegra_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr,
+                       int alen, uchar *buffer, int len)
  {
+       struct i2c_bus *bus;
        uint offset;
        int i;
  
        debug("i2c_write: chip=0x%x, addr=0x%x, len=0x%x\n",
                                chip, addr, len);
+       bus = tegra_i2c_get_bus(adap);
+       if (!bus)
+               return 1;
        if (!i2c_addr_ok(addr, alen)) {
                debug("i2c_write: Bad address %x.%d.\n", addr, alen);
                return 1;
                for (i = 0; i < alen; i++)
                        data[alen - i - 1] = (addr + offset) >> (8 * i);
                data[alen] = buffer[offset];
-               if (i2c_write_data(chip, data, alen + 1)) {
+               if (i2c_write_data(bus, chip, data, alen + 1)) {
                        debug("i2c_write: error sending (0x%x)\n", addr);
                        return 1;
                }
        return 0;
  }
  
- #if defined(CONFIG_I2C_MULTI_BUS)
- /*
-  * Functions for multiple I2C bus handling
-  */
- unsigned int i2c_get_bus_num(void)
- {
-       return i2c_bus_num;
- }
- int i2c_set_bus_num(unsigned int bus)
- {
-       if (bus >= TEGRA_I2C_NUM_CONTROLLERS || !i2c_controllers[bus].inited)
-               return -1;
-       i2c_bus_num = bus;
-       return 0;
- }
- #endif
  int tegra_i2c_get_dvc_bus_num(void)
  {
        int i;
  
-       for (i = 0; i < CONFIG_SYS_MAX_I2C_BUS; i++) {
+       for (i = 0; i < TEGRA_I2C_NUM_CONTROLLERS; i++) {
                struct i2c_bus *bus = &i2c_controllers[i];
  
                if (bus->inited && bus->is_dvc)
  
        return -1;
  }
+ /*
+  * Register soft i2c adapters
+  */
+ U_BOOT_I2C_ADAP_COMPLETE(tegra0, tegra_i2c_init, tegra_i2c_probe,
+                        tegra_i2c_read, tegra_i2c_write,
+                        tegra_i2c_set_bus_speed, 100000, 0, 0)
+ U_BOOT_I2C_ADAP_COMPLETE(tegra1, tegra_i2c_init, tegra_i2c_probe,
+                        tegra_i2c_read, tegra_i2c_write,
+                        tegra_i2c_set_bus_speed, 100000, 0, 1)
+ U_BOOT_I2C_ADAP_COMPLETE(tegra2, tegra_i2c_init, tegra_i2c_probe,
+                        tegra_i2c_read, tegra_i2c_write,
+                        tegra_i2c_set_bus_speed, 100000, 0, 2)
+ U_BOOT_I2C_ADAP_COMPLETE(tegra3, tegra_i2c_init, tegra_i2c_probe,
+                        tegra_i2c_read, tegra_i2c_write,
+                        tegra_i2c_set_bus_speed, 100000, 0, 3)
index 77260a8d2069f07049578aaa44f0f82cadbaa870,e08da90e4bd4810b3894a591032e2ad679891d4f..77e06fb4fefc045226f286c5985e2fb8685eaea3
@@@ -3,7 -3,23 +3,7 @@@
   * (C) Copyright 2002-2010
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __ASM_GENERIC_GBL_DATA_H
@@@ -68,6 -84,9 +68,9 @@@ typedef struct global_data 
        char env_buf[32];       /* buffer for getenv() before reloc. */
  #ifdef CONFIG_TRACE
        void            *trace_buff;    /* The trace buffer */
+ #endif
+ #if defined(CONFIG_SYS_I2C)
+       int             cur_i2c_bus;    /* current used i2c bus */
  #endif
        struct arch_global_data arch;   /* architecture-specific data */
  } gd_t;
diff --combined include/configs/A3000.h
index 6c204db0ab48c127c70bb2de34768c2b6be0961a,340c6851f9a1a7df7836e7884f231126f5fa0d37..90a21768e92062327db59c2f216146215ea03342
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001, 2002, 2003
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* ------------------------------------------------------------------------- */
@@@ -70,8 -86,8 +70,8 @@@
   * PCI stuff
   *-----------------------------------------------------------------------
   */
- #define CONFIG_HARD_I2C               1               /* To enable I2C support        */
- #undef        CONFIG_SOFT_I2C                         /* I2C bit-banged               */
+ #define CONFIG_HARD_I2C               1               /* To enable I2C support */
+ #undef        CONFIG_SYS_I2C_SOFT                     /* I2C bit-banged */
  #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
  #define CONFIG_SYS_I2C_SLAVE          0x7F
  
diff --combined include/configs/APC405.h
index 82245c45862b65e5a9e884420601d3393482d32c,8ba5d6315cf6b0d776f0b72e9f6ffca2562985d6..37bcac32c72fbb660a9ac696e3c0f554ab263aed
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2001-2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08 */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        1       /* Bytes of address */
diff --combined include/configs/ASH405.h
index 233bc68ab8386d5023f2e70bb160512100c3b28a,6d40748d0e63d1f71ff77aa065e2a33353d7e32c..54de966741549f5471bc68f4a818606e33f7a0ba
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2003
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index ad1bd7eb77b5cb0deb172c4b2e5649c63a5d138d,43d0e7da83dcfa1790991f6989999673e9e14f2c..09043435b433d9a97fa55c7d6fcb4742a9bdd6ce
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2011-2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
@@@ -443,14 -459,14 +443,14 @@@ unsigned long get_board_ddr_clk(void)
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed in Hz */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x118000
- #define CONFIG_SYS_I2C2_OFFSET                0x119000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL            /* Use FSL common I2C driver */
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000  /* I2C speed in Hz */
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000  /* I2C speed in Hz */
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x118000
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x119000
  
  /*
   * RTC configuration
index b6a879058e4f0e67c593884946a72b7a5bbe1c38,15ab6d0a1275083c61084c5278ffce36499f676c..948394eddddbe7041c6da447e58449eb329d2fe2
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2011-2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -259,13 -275,11 +259,11 @@@ extern unsigned long get_sdram_size(voi
  #define CONFIG_FIT
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
- #define CONFIG_FSL_I2C                        /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000 /* I2C speed and slave address*/
- #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
  
  /* I2C EEPROM */
  #define CONFIG_CMD_EEPROM
index e8e2c6f24d6ae1a8773c56dece33dc81f41c34fd,7d5a8e6d0fa497cc0ad75744b5b0e086903f3919..1ab68915859bfac3b8f15c2a2dbedd15f1bf05ed
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2013 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -435,15 -451,14 +435,14 @@@ combinations. this should be removed la
  #define CONFIG_FIT
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
- #define CONFIG_FSL_I2C                        /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400800 /* I2C speed and slave address*/
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400800 /* I2C speed and slave address*/
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400800 /* I2C speed and slave address*/
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /* I2C EEPROM */
  #define CONFIG_ID_EEPROM
diff --combined include/configs/CANBT.h
index 66e379078217768918dc7f984c86927c3166181e,b805fbd58a540634967b17aa46922ea5d79093cf..40471b78a191c5d7f895c830b2ea1ed3658de217
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC08) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
- #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* bytes of address             */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
+ #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08     */
+ #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* bytes of address     */
  /* mask of address bits that overflow into the "EEPROM chip address"  */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW   0x07
  
index d6fca13a9f0e1d2ee5012d9f7985c239ff6be241,e56b2474aa05466abaf1db5809c5dc2cdf142a62..3906863f05b20388e5d250694b68833efbd42c77
   *
   * Credits: Stefan Roese, Wolfgang Denk
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/CMS700.h
index e7609a75ebf667969e1fc8f4bd3e2baaf0bc5106,ca258e6b29dc5699d6078ffd4f5416dd75e1182a..323eac3fb4b4a963aaf2734970ed54d410071d4f
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2005
   * Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index 0f98274418a7b48c764ff44d1a9a4cc965686b5f,bac51d10ec302beff7897e122021440a6a7af65c..bd9fd6ee7bf4b58aef1a647e6ac3d58897d23bba
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2005
   * Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index c6fa22a639fdb66983ca2c104478a40554ea0816,bb2e92f9fb703d75483e758b97d171b647058006..94ef16e06c3cece23eac75dc8a3ca3b65ba14c48
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC08) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index f43660ebe50c6b9ba857a72dcb02b6ccf97bef22,a442e365668f9b5e9e07ece6ff841ccbe5f305b5..8383c1935997b8b627429f4f8d05266c236d08de
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index dbf0662b546d3bdd174a77c4e637186fbfd7cbbd,f2422c5925e6e400cc7434cc1ac317785a209d7a..ec9f5aec4a871e8c05082b0c6121fa6fb48a330a
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2003
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC32) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC32             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2      /* Bytes of address             */
index e5a962ae2397bf7e79809659e08749302bac3b47,3f072d34af2eebaa923f73bfda7406c5b288cc80..ba926abdc0329efe29ae3f1a9d6909cdecaf364a
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index 2a89efe190cbba575cf23a70e9a1e4f55a259709,93854188392da6b89a9d80f28546758ca0826e74..dc4df29455b241ebb8c5d7a3d865e0fa9fd27378
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2003
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC08) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/CPU86.h
index b11262690f45b22f2a69099db953c57b20d0fdda,43b07cf46b243cfe0b2b40484d861d19b0b9274a..a85a418fb1d1e0d392bdd3e2a66e9d9bb8ef1b62
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C/EEPROM/RTC configuration
   */
- #define       CONFIG_SOFT_I2C                 /* Software I2C support enabled */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT                   /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
diff --combined include/configs/CPU87.h
index bbd0022f749bcb2bbc99cb9ef6664e58bebc314a,9c3b3d5b40a07d94167564590fcaaebf052e1e91..7bbcb77af7cfae8a030b706624e97ced426e49ca
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C/EEPROM/RTC configuration
   */
- #define CONFIG_SOFT_I2C                       /* Software I2C support enabled */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
diff --combined include/configs/CRAYL1.h
index a19b4318826f3f0a2bbe9d980691377afdaed8f4,37139edd660893286d1b05afeadd110e5244ad32..fa3efabea4713c8024cb6bccdcae86d1c8a21710
@@@ -3,7 -3,23 +3,7 @@@
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   * David Updegraff, Cray, Inc.  dave@cray.com: our 405 is walnut-lite..
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  /*
   * board/config.h - configuration options, board specific
   #define CONFIG_SERVERIP         10.0.0.1
   #define CONFIG_ETHADDR          00:40:a6:80:14:5
   */
- #define CONFIG_HARD_I2C         1             /* hardware support for i2c */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
  #define CONFIG_SDRAM_BANK0            1
- #define CONFIG_SYS_I2C_SPEED              400000      /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE              0x7F
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0             400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0             0x7F
  #define CONFIG_SYS_I2C_EEPROM_ADDR     0x57
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
  #define CONFIG_IDENT_STRING     "Cray L1"
diff --combined include/configs/DP405.h
index 9254796cfb3434f203cb8e8d496217d5efd9ea27,fa09797596a2235baacf276c936c05732165408a..872a2b4408b5ed774b903db2c398155b6d5801f0
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2003
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/DU405.h
index b6825d5ad2657ff6ee1fb2cf8a93a97b87518027,26162d1a43643764967451912e383d7b5b32d6ea..5b9e0d2f41ca5ca13c7a531978cbc1726242b148
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC08) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/DU440.h
index 9b338535d9fb21a49080ea503241c6d2a3ef3e18,72f6a3103615fd0113124fc2bda909411b78e546..08271132dc2e933a5704c4cefed57393683d83f2
@@@ -5,7 -5,20 +5,7 @@@
   * based on the Sequoia board configuration by
   * Stefan Roese, Jacqueline Pira-Ferriol and Alain Saurel
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_I2C_MULTI_BUS    1
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
+ #define CONFIG_SYS_I2C_PPC4XX_CH1
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_1         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_1         0x7F
  
  #define CONFIG_SYS_SPD_BUS_NUM         0
  #define IIC1_MCP3021_ADDR     0x4d
  #define IIC1_USB2507_ADDR     0x2c
- #ifdef CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_NOPROBES        {{1, IIC1_USB2507_ADDR}}
- #endif
+ #define CONFIG_SYS_I2C_NOPROBES               { {1, IIC1_USB2507_ADDR} }
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x54
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
diff --combined include/configs/G2000.h
index 1edd6df7c376d14580e2e413a9202f5d51eb34a9,93be37fe46e55cdf686a60dffe71ea2e44de0022..5a74abcd4108453b2f3d8a2191e8dea0b64b95dd
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT24WC08             */
  /* CAT24WC08/16... */
index 2962c915aa0d548d0e002aa3c8ba7e38ca76b185,cc03d397d3ae98c429af6d90a023f90714976482..06c0e50c9665e6db2392e4a7842b53e5c3528488
@@@ -3,7 -3,23 +3,7 @@@
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   * Keith Outwater, keith_outwater@mvis.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * Enable I2C and select the hardware/software driver
   */
- #define CONFIG_HARD_I2C               1                               /* CPM based I2C                        */
- #undef        CONFIG_SOFT_I2C                                         /* Bit-banged I2C                       */
+ #define CONFIG_HARD_I2C               1               /* CPM based I2C */
+ #undef        CONFIG_SYS_I2C_SOFT                     /* Bit-banged I2C */
  
  #ifdef CONFIG_HARD_I2C
- #define       CONFIG_SYS_I2C_SPEED            100000                  /* clock speed in Hz            */
- #define CONFIG_SYS_I2C_SLAVE          0xFE                    /* I2C slave address            */
+ #define       CONFIG_SYS_I2C_SPEED            100000  /* clock speed in Hz */
+ #define CONFIG_SYS_I2C_SLAVE          0xFE    /* I2C slave address */
  #endif
  
- #ifdef CONFIG_SOFT_I2C
- #define PB_SCL                                0x00000020              /* PB 26                                        */
- #define PB_SDA                                0x00000010              /* PB 27                                        */
- #define I2C_INIT                      (immr->im_cpm.cp_pbdir |=  PB_SCL)
- #define I2C_ACTIVE                    (immr->im_cpm.cp_pbdir |=  PB_SDA)
- #define I2C_TRISTATE          (immr->im_cpm.cp_pbdir &= ~PB_SDA)
- #define I2C_READ                      ((immr->im_cpm.cp_pbdat & PB_SDA) != 0)
- #define I2C_SDA(bit)          if(bit) immr->im_cpm.cp_pbdat |=  PB_SDA; \
-                                                               else    immr->im_cpm.cp_pbdat &= ~PB_SDA
- #define I2C_SCL(bit)          if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
-                                                               else    immr->im_cpm.cp_pbdat &= ~PB_SCL
- #define I2C_DELAY                     udelay(5)               /* 1/4 I2C clock duration       */
+ #ifdef CONFIG_SYS_I2C_SOFT
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
+ #define PB_SCL                0x00000020              /* PB 26 */
+ #define PB_SDA                0x00000010              /* PB 27 */
+ #define I2C_INIT      (immr->im_cpm.cp_pbdir |=  PB_SCL)
+ #define I2C_ACTIVE    (immr->im_cpm.cp_pbdir |=  PB_SDA)
+ #define I2C_TRISTATE  (immr->im_cpm.cp_pbdir &= ~PB_SDA)
+ #define I2C_READ      ((immr->im_cpm.cp_pbdat & PB_SDA) != 0)
+ #define I2C_SDA(bit)  if (bit) \
+                               immr->im_cpm.cp_pbdat |=  PB_SDA; \
+                       else \
+                               immr->im_cpm.cp_pbdat &= ~PB_SDA
+ #define I2C_SCL(bit)  if (bit) \
+                               immr->im_cpm.cp_pbdat |=  PB_SCL; \
+                       else \
+                               immr->im_cpm.cp_pbdat &= ~PB_SCL
+ #define I2C_DELAY     udelay(5) /* 1/4 I2C clock duration */
  #endif
  
  /*
diff --combined include/configs/HH405.h
index 943d6ddd98497e9e128404968abd47e9f2ee07e3,7ca4212526cb592536bdde25108b515b8794fcc3..d20ca778709242032762c3dfbee8378b3e3f9192
@@@ -8,7 -8,23 +8,7 @@@
   * (C) Copyright 2006
   * Matthias Fuchs, esd GmbH, matthias.fuchs@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
  #if 0 /* test-only */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  #else
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
  #endif
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT24WC08             */
  #define CONFIG_SYS_EEPROM_WREN         1
index c1d3f10525111f2f87707c169bacc24fd86f9f22,071b4be737ef0e6c96e452270b8daf0906186700..ddeccb08686e0e197aaeab6b70bfb859bd994102
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2001, 2002
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /* ------------------------------------------------------------------------- */
   * configuration items that the driver uses to drive the port pins.
   */
  #define CONFIG_HARD_I2C               1               /* To enable I2C support        */
- #undef        CONFIG_SOFT_I2C                         /* I2C bit-banged               */
+ #undef        CONFIG_SYS_I2C_SOFT                     /* I2C bit-banged */
  #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
  #define CONFIG_SYS_I2C_SLAVE          0x7F
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  #error "Soft I2C is not configured properly.  Please review!"
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  #define I2C_PORT              3               /* Port A=0, B=1, C=2, D=3 */
  #define I2C_ACTIVE            (iop->pdir |=  0x00010000)
  #define I2C_TRISTATE          (iop->pdir &= ~0x00010000)
  #define I2C_SCL(bit)          if(bit) iop->pdat |=  0x00020000; \
                                else    iop->pdat &= ~0x00020000
  #define I2C_DELAY             udelay(5)       /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
+ #endif /* CONFIG_SYS_I2C_SOFT */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57            /* EEPROM IS24C02               */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1              /* Bytes of address             */
diff --combined include/configs/HUB405.h
index 30effc3d722f8f8c20b2ea25a0c9ccc0fe762de5,ecfc4aa0a77f2f9ab9a7dc23d2aee94fc06ba754..cf796bf2d919dafe8feb182647852a977a8cfdd1
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2003
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index 8c217562a164d239fbf0db0edc3c3bae130f1c39,0284f457326a3d37163f5044520232340c6b99d1..5aaa9767e97050cbe2dc4a08323c5701f6908f80
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2009-2010 eXMeritus, A Boeing Company
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /* -------------------------------------------------------------------- */
  
  /* Generic FreeScale hardware I2C support */
- #define CONFIG_HARD_I2C
- #define CONFIG_FSL_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x29} }
  #define CONFIG_CMD_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_OFFSET  0x3000
- #define CONFIG_SYS_I2C2_OFFSET 0x3100
- /* I2C bus configuration */
- #define CONFIG_SYS_I2C_SPEED 400000
- #define CONFIG_SYS_I2C_SLAVE 0x7F
  
  /* DDR2 SO-RDIMM SPD EEPROM is at I2C0-0x51 */
  #define CONFIG_SYS_SPD_BUS_NUM 0
diff --combined include/configs/ICU862.h
index 48a05d52ff815fc89b26b568cf368e2695af689a,ca8138bf058a7cb5e074f30f82b93336846a58ad..40d0d7cab9381cb93eb26c2bb08ee5e81ff4d82e
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_DOS_PARTITION
  
  /* enable I2C and select the hardware/software driver */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0xFE
- # define CONFIG_SYS_I2C_EEPROM_ADDR   0x50
- # define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1     /* Bytes of address             */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  
  #define       CONFIG_RTC_MPC8xx               /* use internal RTC of MPC8xx   */
  
+ #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50
+ #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address */
  
  /*
   * Command line configuration.
index c7409debe11be8a4e691c9853afcc95879514eab,b5a8d37e715a1d1991123474ddaf2a1247e28568..590abc30dfc379f0d3f511204f16ccd53606adca
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2005
   * Heiko Schocher, DENX Software Engineering, <hs@denx.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_MISC_INIT_R    1
  
  /* enable I2C and select the hardware/software driver */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     400000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  /*
   * Software (bit-bang) I2C driver configuration
   */
diff --combined include/configs/IP860.h
index 1247181b5443c82449d2e9ea564a345cc04d52bc,e5cc4e389bebd1cbed16a10b6e7e22b59d06e418..c852ca998b18e396ae0133b4884ce45a7c5a4241
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  
  
  /* enable I2C and select the hardware/software driver */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
@@@ -64,9 -82,6 +66,6 @@@
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(5)       /* 1/4 I2C clock duration */
  
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0xFE
  # define CONFIG_SYS_I2C_EEPROM_ADDR   0x50    /* EEPROM X24C16                */
  # define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1     /* bytes of address             */
  /* mask of address bits that overflow into the "EEPROM chip address"    */
index bcc007c4d278f95595e3fce4ce0fa9018f246d0c,b1fec10b22096d345e23b5fa33060ba1826b73d9..cbc8b5bbc155c474e30e8cc4b20d018051711015
@@@ -4,7 -4,23 +4,7 @@@
   * This file is based on similar values for other boards found in
   * other U-Boot config files, mainly tqm8260.h and mpc8260ads.h.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
   * If the software driver is chosen, there are some additional
   * configuration items that the driver uses to drive the port pins.
   */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     400000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  /*
   * Software (bit-bang) I2C driver configuration
   */
- #ifdef CONFIG_SOFT_I2C
  #define I2C_PORT      3               /* Port A=0, B=1, C=2, D=3 */
  #define I2C_ACTIVE    (iop->pdir |=  0x00010000)
  #define I2C_TRISTATE  (iop->pdir &= ~0x00010000)
  #define I2C_SCL(bit)  if(bit) iop->pdat |=  0x00020000; \
                        else    iop->pdat &= ~0x00020000
  #define I2C_DELAY     udelay(5)       /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
  
  
  /*
diff --combined include/configs/JSE.h
index c855c7f02f77f7d1261f269e9aa678ff878d27a1,271ebdacaf2d66d283afbba5dd1566834f16b39e..6439d99bf87f899120f17ec4df72a77e4859b276
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2003 Picture Elements, Inc.
   * Stephen Williams <steve@icarus.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  
  #define CONFIG_SYS_HZ         1000            /* decrementer freq: 1 ms ticks */
  
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  
  /*-----------------------------------------------------------------------
diff --combined include/configs/KAREF.h
index d7377a8e910a25e34606beba189cb8938e6ee357,43ecf5db498c13d252e4c6a238a0bb2196bc063e..2cbb6eeb9c6ce60a87fab7b5904280426f6d0979
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * (C) Copyright 2004 Sandburst Corporation
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C             1              /* I2C hardware support    */
- #undef        CONFIG_SOFT_I2C                      /* I2C !bit-banged         */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED        400000         /* I2C speed 400kHz        */
- #define CONFIG_SYS_I2C_SLAVE        0x7F           /* I2C slave address       */
- #define CONFIG_SYS_I2C_NOPROBES      {0x69}        /* Don't probe these addrs */
- #define CONFIG_I2C_BUS1             1              /* Include i2c bus 1 supp  */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0 0x7F
+ #define CONFIG_SYS_I2C_PPC4XX_CH1
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_1 400000 /* I2C speed 400kHz */
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_1 0x7F
+ #define CONFIG_SYS_I2C_NOPROBES { { 0, 0x69} } /* Don't probe these addrs */
  
  /*-----------------------------------------------------------------------
   * Environment
diff --combined include/configs/KUP4K.h
index 68451baf75f135f09faecefb33086e150d37098f,d6f3a628ef586dfb31ad5086eda5daeb848ea515..ef51e35df64bac85e49a044fc45a47359d6b7ecb
@@@ -3,7 -3,23 +3,7 @@@
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   * Klaus Heydeck, Kieback & Peter GmbH & Co KG, heydeck@kieback-peter.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * enable I2C and select the hardware/software driver
   */
- #undef        CONFIG_HARD_I2C         /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C         /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  
- #define CONFIG_SYS_I2C_SPEED  93000   /* 93 kHz is supposed to work */
- #define CONFIG_SYS_I2C_SLAVE  0xFE
- #ifdef CONFIG_SOFT_I2C
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  /*-----------------------------------------------------------------------
   * I2C Configuration
diff --combined include/configs/KUP4X.h
index 8af1269a456990eea74e2d8eeaba6b249553eaa0,247374922d8662271b1ebf6c2885718d5da415b5..6da07e7d06e2094e9c9b0ecf70a8f67c5b322f6e
@@@ -3,7 -3,23 +3,7 @@@
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   * Klaus Heydeck, Kieback & Peter GmbH & Co KG, heydeck@kieback-peter.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * enable I2C and select the hardware/software driver
   */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C         1       /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
  
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
+ #ifdef CONFIG_SYS_I2C_SOFT
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  
- #ifdef CONFIG_SOFT_I2C
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
+ #endif        /* CONFIG_SYS_I2C_SOFT */
  
  
  /*-----------------------------------------------------------------------
index df9ba5ea3c506569cc5120b2af56382324e2d656,8410d8b795915e13940db4af140071fb654e8700..fe901ce6c2902a93fcbc8e1c8841183c6872ac5f
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef _M5208EVBE_H
  #undef CONFIG_MCFPIT
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C                       /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x58000
  #define CONFIG_SYS_IMMR                       CONFIG_SYS_MBAR
  
  #define CONFIG_BOOTDELAY              1       /* autoboot after 5 seconds */
index 4acac6c4421d8369c646e9ddcf7f6defb578b9ef,4275088208e25d42925cf549ce91fda0d2047b53..1d10f7f2a0c16b4bf42c9709c8c869ef18f05d8b
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2c */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          80000   /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x58000
  #define CONFIG_SYS_IMMR                       CONFIG_SYS_MBAR
  
  /* DSPI and Serial Flash */
index 1b80f829347ad1fb029c354ce384fbd0ce4e8ab9,3ba4d14a746970a2f3cd0fd68f9e9a7208e7b16e..aaaaa41a153e5d363a3fd40e889955f1bde32727
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x00000300
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_i2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x00000300
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  #define CONFIG_SYS_I2C_PINMUX_REG     (gpio->par_qspi)
  #define CONFIG_SYS_I2C_PINMUX_CLR     ~(GPIO_PAR_FECI2C_SCL_MASK | GPIO_PAR_FECI2C_SDA_MASK)
index bf37fdf14b024ca89031f9bf88cca1f00c54c43c,eb375f038560f7e11a701c0a3d2601be481e0d3f..83122cf59f54d7f19eea7b2d19d7ef94dfb43b46
@@@ -1,7 -1,24 +1,7 @@@
 -/*
 - * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
 +TABILITY or FITNESS FO04-2007 Freescale Semiconductor, Inc.
   * Hayden Fraser (Hayden.Fraser@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef _M5253DEMO_H
  #define CONFIG_HOSTNAME               M5253DEMO
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hw support */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x00000280
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x00000280
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  #define CONFIG_SYS_I2C_PINMUX_REG     (*(u32 *) (CONFIG_SYS_MBAR+0x19C))
  #define CONFIG_SYS_I2C_PINMUX_CLR     (0xFFFFE7FF)
index fa43231c49ead71a4d6623460c2c91ff6a07a85b,9ca850eb47c8c4034814fa891e95f4d3addcfc2c..a77cb24975bb365c0e19d57882b9b93776358403
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2006 Lab X Technologies <zachary.landau@labxtechnologies.com>
   * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #endif
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x00000300
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x00000300
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  
  #define CONFIG_BOOTDELAY      1       /* autoboot after 1 seconds */
index 2b99ee9f1cfaaed3cf208004caf6b6fd5251bf91,9d2dfa0a06d8290e604405d017fae5ce29efe281..bacee0a8fa6475bce104e0722a77c130257f2506
@@@ -7,7 -7,23 +7,7 @@@
   * Based off of M5272C3 board code by Josef Baumgartner
   * <josef.baumgartner@telex.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #endif
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hw support */
- #undef CONFIG_SOFT_I2C
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x00000300
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x00000300
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  #define CONFIG_SYS_I2C_PINMUX_REG     (gpio_reg->par_feci2c)
  #define CONFIG_SYS_I2C_PINMUX_CLR     (0xFFF0)
index a98ded257077572b6fe710e82865740ccf3ec25d,4bb693a738157d2e27341ab9e18bec0ab40f1ee7..0ced196489a3ac463dae0ef441581a5e935389b9
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C                       /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x58000
  #define CONFIG_SYS_IMMR                       CONFIG_SYS_MBAR
  
  #define CONFIG_BOOTDELAY              1       /* autoboot after 5 seconds */
index d5d3bc48cddba18f18dffbe21b3482ea95d2a1b0,23ee61e4da311dca30b3a724d232ee223b3dda1e..86b06f4f16338d7ecbd829068846102b0c933b77
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C                       /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x58000
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  
  #define CONFIG_BOOTDELAY      1       /* autoboot after 5 seconds */
index 8657382c8ed41f736658946850a8c59bfa00a99d,bbfef903c9c70ff7ab196468337dca0bf7a05695..cca76097dc034ad62b895b1547f2f1e2aa4edd5a
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x58000
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  
  #define CONFIG_BOOTDELAY      1       /* autoboot after 5 seconds */
index aa95de2a6729b0f6fec061ef86d861d52f55fb41,817d79ee2f3db4293b3aa4bdb52cea66b50eef40..bc264276d4687a01942187efca325ae163c8d577
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright 2010-2012 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2c */
- #undef CONFIG_FSL_I2C
+ #undef CONFIG_SYS_FSL_I2C
  #undef CONFIG_HARD_I2C                /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
+ #undef        CONFIG_SYS_I2C_SOFT     /* I2C bit-banged */
  /* I2C speed and slave address  */
  #define CONFIG_SYS_I2C_SPEED          80000
  #define CONFIG_SYS_I2C_SLAVE          0x7F
index 720e888f6f530209eda740222b7763f210627357,85cd46416adb953c25071577b20839ba7de822f5..72ad8366fb0d9e040b0b9757aa2399ceb40c498e
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2c */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          80000   /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x58000
  #define CONFIG_SYS_IMMR                       CONFIG_SYS_MBAR
  
  /* DSPI and Serial Flash */
index 03dafd5440cf418b49aa77e678f429488b63b335,aa7e9f8327535c6530c248f1dffa2f6a740d101b..3dc87d6f61a08feb49514dec716c6f5bb473c6db
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2c */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          80000   /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSLI2C_OFFSET      0x58000
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  
  /* DSPI and Serial Flash */
index b5bf1c7f99928fcfe343295fed20fb596dd9ebfa,5377a512512970ecdfd441f7e782a3685b6fa3cb..dc38219c1d5a0998e348d809beda10961b8ef7a6
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #endif
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x00008F00
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x00008F00
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  
  /* PCI */
index 3924936a5a652675af96a1bb8aa95d16bb27e651,316e07c0adeb129edfe17424f773446cb0dc81ce..0307f19ad2c43e488c4fd1c01a2cf1c3aecc2ee4
@@@ -4,7 -4,23 +4,7 @@@
   * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
   * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #endif
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C               /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x00008F00
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x00008F00
  #define CONFIG_SYS_IMMR               CONFIG_SYS_MBAR
  
  /* PCI */
index 6119159e4af0e2bc503c6496058bc8b6bc7e9bd5,0f17411b033bab6f0a78b0a9fabe0d8c33c83a51..ad9c77e1c828e610f54ffb67ad91401a59620758
@@@ -4,7 -4,20 +4,7 @@@
   * Copyright (C) 2011 Matrix Vision GmbH
   * Andre Schwarz <andre.schwarz@matrix-vision.de>
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS 1
  
  /* I2C */
- #define CONFIG_HARD_I2C
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED          120000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /*
   * General PCI
index b98a4c481e0f87013bb49f7e61e935fa5552e6d4,074425110cb644d3aab7066f722f07d5782d88d7..1e50032414bdfe8f037be99737a09b3f7dd11e2a
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * (C) Copyright 2004 Sandburst Corporation
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C             1              /* I2C hardware support    */
- #undef        CONFIG_SOFT_I2C                      /* I2C !bit-banged         */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED        400000         /* I2C speed 400kHz        */
- #define CONFIG_SYS_I2C_SLAVE        0x7F           /* I2C slave address       */
- #define CONFIG_SYS_I2C_NOPROBES      {0x69}        /* Don't probe these addrs */
- #define CONFIG_I2C_BUS1             1              /* Include i2c bus 1 supp  */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0 0x7F
+ #define CONFIG_SYS_I2C_PPC4XX_CH1
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_1 400000 /* I2C speed 400kHz */
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_1 0x7F
+ #define CONFIG_SYS_I2C_NOPROBES { { 0, 0x69} } /* Don't probe these addrs */
  
  /*-----------------------------------------------------------------------
   * Environment
diff --combined include/configs/MHPC.h
index 65efe78f33decd53dbe9beaddfb2849618b4b213,fdd811d77f829903151bfbf800163ed2f444f54d..75eef20e589ba01715da52e31fea0fa500387bb6
@@@ -8,7 -8,23 +8,7 @@@
   * Configuation settings for the miniHiPerCam.
   *
   * -----------------------------------------------------------------
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef        CONFIG_UCODE_PATCH
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
@@@ -75,8 -93,6 +77,6 @@@
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(5)       /* 1/4 I2C clock duration */
  
- #define CONFIG_SYS_I2C_SPEED                  50000
- #define CONFIG_SYS_I2C_SLAVE                  0xFE
  #define CONFIG_SYS_I2C_EEPROM_ADDR            0x50    /* EEPROM X24C04                */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN                1       /* bytes of address             */
  /* mask of address bits that overflow into the "EEPROM chip address"  */
diff --combined include/configs/MIP405.h
index 9185e77ad1be5a13bd5d19e28f9babbdf2cfd98f,7b4d275b80fa7a84573436daab4aa77969a14c44..c535dbeaae1dfa5bf737daba8826f8502001874d
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001, 2002
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
   * The Atmel EEPROM uses 16Bit addressing.
   ***************************************************************/
  
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          50000   /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         50000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x53    /* EEPROM 24C128/256            */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        2       /* Bytes of address             */
index 09961a4eb8b0601741d2a2214bb150ef03720e63,44caa59894853db1e2b98059d44385688a06d31b..d315729b8b1089837a2a654bb2a2d3300bfe22b9
@@@ -3,7 -3,23 +3,7 @@@
   * Copyright (C) 2010 Ilya Yanok, Emcraft Systems, yanok@emcraft.com
   *
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000 /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x51} } /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x51} }
  
  /*
   * SPI on header J8
index 6740182045c07c9550ab86d6e3212e58844609f9,e6c60b3c938704b002f3eb530c58846b9546e1a0..6c6ce58fb88709401393424363891a3d9bd3ba7a
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright (C) Freescale Semiconductor, Inc. 2006, 2010.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  /*
   * mpc8313epb board configuration file
  #define CONFIG_SYS_HUSH_PARSER
  
  /* I2C */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support*/
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} } /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /*
   * General PCI
index 882ae73e057661fb5785f6ea12fd213b2b098a67,2f5addc3cefe9124a45c45e31e2237afdca3878d..fef19d4b5fe840a403b607b5b9b54336be1ddb7c
@@@ -3,7 -3,23 +3,7 @@@
   *
   * Dave Liu <daveliu@freescale.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED          400000 /* I2C speed and slave addr */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES               {0x51} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x51} }
  
  /*
   * Board info - revision and where boot from
index fa8e75250acba6134208b787611047c38eff6743,beee1904ef3820ecad121d32a2edf55bd3883310..32e05af8ab7628906e2ac9ff8d76df6bcc79ae93
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * Copyright (C) 2006 Freescale Semiconductor, Inc.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x51}  /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x51} }
  
  /*
   * Config on-board RTC
index 9ec2f71921769c7885ab6dbd5d80cd54684f64d5,754a9eb335272134c67b1b513b874d3149f55ce3..432db72daa803cb0fc6f6376cbd35045ad1aece7
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2006-2010
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} }   /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* SPI */
  #define CONFIG_MPC8XXX_SPI
index f9949a8000328a45912d70775736a45bed905d39,0d5a0265828937a98caac3e6417616a48727b60e..c3a577f40a1cad07d9df7632de237f11bf88db7b
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright (C) Freescale Semiconductor, Inc. 2006.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -74,7 -90,7 +74,7 @@@
  
  #define CONFIG_PCI
  #define CONFIG_RTC_DS1337
- #define CONFIG_HARD_I2C
+ #define CONFIG_SYS_I2C
  #define CONFIG_TSEC_ENET              /* TSEC Ethernet support */
  
  /*
   */
  
  /* I2C */
- #ifdef CONFIG_HARD_I2C
+ #ifdef CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
  #define CONFIG_SYS_SPD_BUS_NUM                1       /* The I2C bus for SPD */
  #define CONFIG_SYS_RTC_BUS_NUM                1       /* The I2C bus for RTC */
  
  #define CONFIG_SYS_I2C_RTC_ADDR               0x68    /* I2C1, DS1339 RTC*/
  #define SPD_EEPROM_ADDRESS            0x51    /* I2C1, DDR */
  
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
  /* Don't probe these addresses: */
  #define CONFIG_SYS_I2C_NOPROBES       { {1, CONFIG_SYS_I2C_8574_ADDR1}, \
                                 {1, CONFIG_SYS_I2C_8574_ADDR2}, \
  #define I2C_8574_PCI66                0x20    /* 0=33MHz PCI, 1=66MHz PCI */
  #define I2C_8574_FLASHSIDE    0x40    /* 0=Reset vector from U4, 1=from U7*/
  
- #undef CONFIG_SOFT_I2C
  #endif
  
  /* Compact Flash */
  #define CONFIG_VERY_BIG_RAM
  #define CONFIG_MAX_MEM_MAPPED   ((phys_size_t)256 << 20)
  
- #ifdef CONFIG_HARD_I2C
+ #ifdef CONFIG_SYS_I2C
  #define CONFIG_SPD_EEPROM             /* use SPD EEPROM for DDR setup*/
  #endif
  
@@@ -529,7 -543,7 +527,7 @@@ boards, we say we have two, but don't d
        #define CONFIG_CMD_PCI
  #endif
  
- #ifdef CONFIG_HARD_I2C
+ #ifdef CONFIG_SYS_I2C
        #define CONFIG_CMD_I2C
  #endif
  
index dfd2a50c6db00dbf8094f527e039a225049acd4d,2b7af866907f6d2618888000f23cc17ebefb2578..7c4f3ef8f1ef0cf5df92d823d602e55ff24cbc26
@@@ -3,7 -3,20 +3,7 @@@
   *
   * Dave Liu <daveliu@freescale.com>
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x52} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET 0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x52} }
  
  /*
   * Config on-board RTC
index 2c194087a42fc11b37bf23521d633ca0c7201512,f189039e86c15c6a7bca26e4997e12f0102ec1c6..1973447a237c4e343f815287a73009dc4a1f60f0
@@@ -8,7 -8,10 +8,7 @@@
   * Copyright (C) 2007 MontaVista Software, Inc.
   *                    Anton Vorontsov <avorontsov@ru.mvista.com>
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x52} } /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x52} }
  
  /*
   * General PCI
index ab61d214d39a4bc061fe03d8be320606029d1ed8,cb0863dd91ccd70047c27ab2adedcdeff4f4fd7f..51688a76bf274fc42bd31175aa9fc6eead467316
@@@ -2,7 -2,20 +2,7 @@@
   * Copyright (C) 2007 Freescale Semiconductor, Inc.
   * Dave Liu <daveliu@freescale.com>
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED  400000 /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x51} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x51} }
  
  /*
   * Config on-board RTC
index 1529a090edd2f70cfd1f3504a67010213a382875,d014e6814e750640fa43563f1a0f8e68293ea107..a5fe220b14bbfc3d49342c79a208cc61578637b0
@@@ -3,7 -3,20 +3,7 @@@
   * Kevin Lam <kevin.lam@freescale.com>
   * Joe D'Abbraccio <joe.d'abbraccio@freescale.com>
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS 1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED  400000 /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x51} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x51} }
  
  /*
   * Config on-board RTC
index 5349857ebb6446e61473cd777a0e04ec87d377b8,052fb5444175826022656c7a631f96e4d13b0b7e..8ff2c3a4fa175e347e263bd1be8d72c3ce4b3fa5
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2007-2009,2010-2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {{0, 0x29}}     /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x29} }
  
  /*
   * I2C2 EEPROM
index c80b6b2fdbf38c3860372196d4a0952fb29bacf7,25638ac4847f7f8ed48a1b4a4aff9867a96e8781..acd37a01aa75ca4c5dbffbf64c8da34531f74d92
@@@ -3,7 -3,23 +3,7 @@@
   * (C) Copyright 2002,2003 Motorola,Inc.
   * Xianghua Xiao <X.Xiao@motorola.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES        {0x69} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* RapidIO MMU */
  #define CONFIG_SYS_RIO_MEM_VIRT       0xc0000000      /* base address */
index da7a3cbb46e336bf67c883fb0638157366217ef5,a486347dbcc3dfe5eac9369ea24a169e59bf6401..61775d2c2886b17722e2aaf35cc183fbd58b26be
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2004, 2011 Freescale Semiconductor.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -267,13 -283,12 +267,12 @@@ extern unsigned long get_clock_freq(voi
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES        {0x69} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* EEPROM */
  #define CONFIG_ID_EEPROM
index ef8bf97f627ac8dda697bc2790c506706a3a2261,48a3ea170245d1e8ee1f3fc4c913ee48ed520cdf..2a5e5d4ed9df39546ace24152f49dd3dc4fcc153
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2007, 2010-2011 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -216,14 -232,13 +216,13 @@@ extern unsigned long get_board_sys_clk(
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x69}  /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3100
  
  /*
   * General PCI
index 84bd3af1afd23fe2f7d69b5b91f307705de589e1,2a1de524dc0caecaa4e4bd30be527fcad0e94c24..8deb241c39167537f91a6efb0c2a58dad0f8f38b
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2004, 2007, 2010-2011 Freescale Semiconductor.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -342,13 -358,12 +342,12 @@@ extern unsigned long get_clock_freq(voi
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x69}  /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* EEPROM */
  #define CONFIG_ID_EEPROM
index eb4e620d8b137d3510cf2584176655df3665998d,d4a395f608ec23ffbbd109ead443131021685897..1ec3797e7c420d240c64af2d0ce9ef984c161cd7
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2004, 2011 Freescale Semiconductor.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -265,13 -281,12 +265,12 @@@ extern unsigned long get_clock_freq(voi
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES        {0x69} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* EEPROM */
  #define CONFIG_ID_EEPROM
index d4a557b675a9007d8d8ccbf6fd8d285fe7a7c735,7a6231192f33511566fad0640f40c8dfb92ae3a7..49f6a353326468e3a923e6358a673dd1a4c12a32
@@@ -3,7 -3,23 +3,7 @@@
   * (C) Copyright 2002,2003 Motorola,Inc.
   * Xianghua Xiao <X.Xiao@motorola.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES        {0x69} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* RapidIO MMU */
  #define CONFIG_SYS_RIO_MEM_VIRT       0xc0000000      /* base address */
index 21ce7b9125afe1c3b5ea199760e90c4f51d7fcea,6cda16b64f53f0682c76ad5dde16d50c2aa6a4a7..2d5e8c0b7b11e72293417d6eae94500fb198edfb
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2004-2007, 2010-2011 Freescale Semiconductor.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -250,16 -266,16 +250,16 @@@ extern unsigned long get_clock_freq(voi
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x52
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES        {{0,0x69}}     /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
  
  /*
   * General PCI
index 7f7cd20d7871fa6aa9f2b48d805057f5190dfd5d,e36aadee8f5a3a561a547f9bffcb7957a9695921..c35fd2bdbce70d87cc462ba8de13619c7de11f6d
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2009-2011 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -286,15 -302,15 +286,15 @@@ extern unsigned long get_clock_freq(voi
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {{0,0x69}}      /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /*
   * I2C2 EEPROM
index e9da73632799e4d04567ae813de12159e4e2ca52,f794fdb0ae24b488a2ab88f2f5d2a827a2dcf219..05d887050046eeb23f46c3fcda43837f44f29551
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2007-2008,2010-2011 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_FIT_VERBOSE    1 /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x29} }
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {{0,0x29}}/* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
  
  /*
   * I2C2 EEPROM
index 89049d0f6214532481c3b27590f715c8a7844314,6d6058f5ef60018a5b8a6b8b1f174eca6699a971..6ca6f6b807e2e960959cf0808ba9d7ead0fd71a8
@@@ -3,7 -3,23 +3,7 @@@
   *
   * Srikanth Srinivasan (srikanth.srinivasan@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -282,13 -298,12 +282,12 @@@ extern unsigned long get_board_sys_clk(
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x69}  /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /*
   * RapidIO MMU
diff --combined include/configs/MVBLM7.h
index bb5a4fc5e3fa2389f576c20cfc3c0e480ba825ec,8342a1a7e187fd5b3c3ced849dde1887782c3916..044a1bc2c8f74d257638dfe3c7c0dc4630e8073b
@@@ -4,7 -4,23 +4,7 @@@
   * Matrix Vision mvBlueLYNX-M7 configuration file
   * based on Freescale's MPC8349ITX.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  
@@@ -28,7 -44,6 +28,6 @@@
  #define CONFIG_PCI
  #define CONFIG_PCI_INDIRECT_BRIDGE
  #define CONFIG_PCI_SKIP_HOST_BRIDGE
- #define CONFIG_HARD_I2C
  #define CONFIG_TSEC_ENET
  #define CONFIG_MPC8XXX_SPI
  #define CONFIG_HARD_SPI
  #define CONFIG_MISC_INIT_R
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
- #define CONFIG_SYS_I2C_SPEED          100000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      100000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     100000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /*
   * DDR Setup
diff --combined include/configs/OCRTC.h
index be2ecf464035b980b6561e0fd7877749290e835e,1c1568702f1430477f266e7b21d2794358bfdfd7..c9196135197ea2d4b1e18aa92b905b477fa225c2
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC08) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/ORSG.h
index fb0b89db9e1ea0363127999ab18be09dcc86895f,eda8af287b04e071b33bfc288b47ee0c66815471..56d251cea5f0c7d7e086a9b326c435a34851b802
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC08) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index 3fe4108219f7085986fd5958814568b65a220292,ba0a396cee0e9af14e70564ca4a1f07d75077c6d..ba3f7c282196a174b9a4653b0a22627ef62b5513
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2010-2011 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -473,15 -489,15 +473,15 @@@ extern unsigned long get_sdram_size(voi
  #define CONFIG_FIT
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
#define CONFIG_FSL_I2C                        /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000 /* I2C speed and slave address*/
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
/* I2C */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /* I2C EEPROM */
  #undef CONFIG_ID_EEPROM
index 0391a96a54abc33812dcc55a23f7ba6630322fa4,40076471acaff9fa369740c9f5890f9643dee454..d1ce9fdc8d8436a327acea07adbfcaba6e8d7dfa
@@@ -3,7 -3,10 +3,7 @@@
   * Authors: Srikanth Srinivasan <srikanth.srinivasan@freescale.com>
   *          Timur Tabi <timur@freescale.com>
   *
 - * This program is free software; you can redistribute it and/or modify it
 - * under the terms of the GNU General Public License as published by the Free
 - * Software Foundation; either version 2 of the License, or (at your option)
 - * any later version.
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_FIT_VERBOSE
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED          400000
- #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  #define CONFIG_SYS_I2C_NOPROBES               {{0, 0x29}}
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
  
  /*
   * I2C2 EEPROM
index 6b7579baf00f5ae9073562847564a2ca0db2bae3,f21d9e860b65d5e70425a94306ed68d2ad9e9604..cd6d20c7294331918cece483db3cc3e824ee7d85
@@@ -4,7 -4,23 +4,7 @@@
   * Authors:  Roy Zang <tie-fei.zang@freescale.com>
   *         Chunhe Lan <Chunhe.Lan@freescale.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
@@@ -188,13 -204,14 +188,14 @@@ extern unsigned long get_clock_freq(voi
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /*
   * I2C2 EEPROM
index 3ebec6b590d64b9251f20392389731493ca43e54,7e2679bd2fa3c6adec88f62bf32cc1ace24c97fc..a8202c67fdb07b8d402addaf2e64f2143161a657
@@@ -4,7 -4,23 +4,7 @@@
   * Authors:  Roy Zang <tie-fei.zang@freescale.com>
   *         Chunhe Lan <b25806@freescale.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -297,15 -313,15 +297,15 @@@ extern unsigned long get_clock_freq(voi
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x51
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
  
  /*
   * I2C2 EEPROM
index 447cd98dafc4fc20d05cc72a01f1c2046236fc8d,b86637cd8b1058ec38cae7619fb36160e80f96e0..adaed564f7d43d032ecf55ea7b6ae766b9a8914d
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2009-2011 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -351,16 -367,15 +351,15 @@@ extern unsigned long get_board_sys_clk(
  #define CONFIG_FIT_VERBOSE    1 /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address*/
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {{0,0x29}}      /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x29} }
  
  /*
   * I2C2 EEPROM
index d1c9b2481036ed6823e0c00a755efebb3797cc9b,3266e54134a1fdbc3767a23a080ec944e44c7ecd..08d1c2591460d7c41e387796686ec6295eb6801a
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2009-2010,2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
@@@ -209,16 -225,15 +209,15 @@@ extern unsigned long get_board_sys_clk(
  #define CONFIG_FIT_VERBOSE            1
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #undef  CONFIG_SOFT_I2C               /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address*/
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x29} }
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
  
  /*
   * I2C2 EEPROM
index 9df116e26bb37f999ffac0696d8abb3298e1dfdd,94b77d1dc79579ef14d31854410e2ad00e86da2b..b5078cdb524e991c43715daa7f7c52132760b2e6
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2007-2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {{0,0x29}}/* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x29} }
  
  /*
   * I2C2 EEPROM
index 43387d7492e5d5e54c5b30bbecac753e168456ea,2c2b609b1aaccded02bf5ac00df17961316cf165..9814ca2012f5946641046422152074fe27af4f0b
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2011-2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -351,14 -367,14 +351,14 @@@ unsigned long get_board_sys_clk(unsigne
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x118000
- #define CONFIG_SYS_I2C2_OFFSET                0x118100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /*
   * RapidIO
diff --combined include/configs/PCI405.h
index 626a5463b63430c9bf524600981eed6c47430013,54c8bb23b00e5103a52dba152c56833f18e3ba1d..a71a5219cfbd480ba5fadc853e7278be1569c950
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2001-2004
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/PIP405.h
index 036fec8cd894ef080e19f5c69211a92af57321aa,148fb190cdc8f2af083401094bb4eda2610fbfd2..2251ca6116c2309d3b06e51e4497e08803d09f4c
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
   * EEPROM of the SDRAM
   * The Atmel EEPROM uses 16Bit addressing.
   ***************************************************************/
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          50000   /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         50000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x53
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        2
diff --combined include/configs/PLU405.h
index 75c0926853953d50723e69d64d718fb279de7c26,74bd97d04264f9d2da62fc093d32e136a3ae6f7a..3c31cfb01af4074792fb6ecccdc7910433903f7c
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2003
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C EEPROM (24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM 24WC16 */
  #define CONFIG_SYS_EEPROM_WREN         1
diff --combined include/configs/PM826.h
index 2c4aa2fd611e22c484df44c0f05f2352c6506794,5508313cec67ff4fc948c4e0a2375c327555ef6d..b466513ea3c84ab06ae31761d20017a7a5f66f10
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
        "bootm"
  
  /* enable I2C and select the hardware/software driver */
- #undef  CONFIG_HARD_I2C
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0xFE
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
diff --combined include/configs/PM828.h
index dbf980126bb14869a7e10656738653debc26a56d,3842f57c0e04b18ace0a2496fc4d825b1ab61f31..cb68c41babaee87cdf506862abe194abaab572fb
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
        "bootm"
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0xFE
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
diff --combined include/configs/PMC405.h
index fbee0930d8dbc8ad3379c11a82d9d8197978a705,19583b66b410de535412b080cb8d1936a1923fd0..67a96d29d496614c19c8adb37ab2e7ea7558f6db
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000 /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT24W16 */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address */
index 22b1177ace53c949fc2a34c54989ff8b20efedf2,33c39f8918183fe7e96ea3b820ea84cf0346400f..531e95612a23f3f490582f8fc8e87ba66e92abb4
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2009
   * Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd.eu
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C EEPROM (24W16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000 /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM 24W16 */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address */
diff --combined include/configs/PMC440.h
index 1b81861ac703183dc82e52b0987527c93324d5aa,867f57866ff998562b14a00bc7491d0ebe234890..a54c099ce45e8cac190bb25c050f068ed996fa02
   * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com
   * Alain Saurel,            AMCC/IBM, alain.saurel@fr.ibm.com
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_I2C_MULTI_BUS  1
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
+ #define CONFIG_SYS_I2C_PPC4XX_CH1
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_1         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_1         0x7F
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  
index 1aaa8b0ae8142820f5c8e04baf2a73c93d6df8f4,a705f1c4e6dd5eef7632700ef43e451d94076aea..cd9eb4b10b5968c035374a350bbcc4095ef3648a
   *
   * Credits: Stefan Roese, Wolfgang Denk
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
index 9ab524f4bfb189dfefd88c39af6d8082122db278,df16598e3c2e89a441f5811c353bb6b934d7e3d2..efe699538ce95e214c1c69d4b8e07cacc03ae558
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define       CONFIG_RTC_MPC8xx               /* use internal RTC of MPC8xx   */
  
  #define CONFIG_HARD_I2C               1       /* To I2C with hardware support */
- #undef CONFIG_SORT_I2C                        /* To I2C with software support */
+ #undef CONFIG_SYS_I2C_SOFT            /* To I2C with software support */
  #define CONFIG_SYS_I2C_SPEED          4700    /* I2C speed and slave address */
  #define CONFIG_SYS_I2C_SLAVE          0x7F
  
+ #if defined(CONFIG_SYS_I2C_SOFT)
+ #define CONFIG_SYS_SYS_I2C_SOFT_SPEED 4700 /* I2C speed and slave address */
+ #define CONFIG_SYS_SYS_I2C_SOFT_SLAVE 0x7F
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)          if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                                else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY             udelay(50)
+ #endif /* #define(CONFIG_SYS_I2C_SOFT) */
  
  #define CONFIG_SYS_I2C_LCD_ADDR       0x8     /* LCD Control */
  #define CONFIG_SYS_I2C_KEY_ADDR       0x9     /* Keyboard coprocessor */
index b0b0c91e4a0f537082572995264b749a62626f01,8130ee6e0ad4ffd683af7844e4ce7d486183b293..6ba8a02bcb096ce30129102a0c4e6a05a387350e
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000, 2001, 2002
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
   * I2C Configuration
   *-----------------------------------------------------------------------------
   */
- #define CONFIG_I2C              1
- #define CONFIG_SYS_I2C_SPEED           50000
- #define CONFIG_SYS_I2C_SLAVE           0x34
+ #define CONFIG_SYS_I2C_SPEED          50000
+ #define CONFIG_SYS_I2C_SLAVE          0x34
  
  
  /* enable I2C and select the hardware/software driver */
  #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef  CONFIG_SOFT_I2C                       /* I2C bit-banged               */
+ #undef  CONFIG_SYS_I2C_SOFT           /* I2C bit-banged               */
+ #if defined(CONFIG_SYS_I2C_SOFT)
+ #define CONFIG_SYS_I2C                        1
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_DELAY     udelay(5)       /* 1/4 I2C clock duration */
  
  
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0x34
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x34
+ #endif
  # define CONFIG_SYS_I2C_EEPROM_ADDR   0x50    /* EEPROM X24C16                */
  # define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1     /* bytes of address             */
  /* mask of address bits that overflow into the "EEPROM chip address"    */
index 28132566df9479cb803beaf43c8fc6f55a3d3624,9a385a48b611efe1027f456e85b13278b6f50925..ada7e145c07fbe0dcbee8442f4cb85fdc2392b79
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* Yoo. Jonghoon, IPone, yooth@ipone.co.kr
  #undef        CONFIG_SYS_LOADS_BAUD_CHANGE            /* don't allow baudrate change  */
  
  #define CONFIG_BZIP2          /* Include support for bzip2 compressed images  */
+ /* enable I2C and select the hardware/software driver */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     40000   /* 40 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
+ /* Software (bit-bang) I2C driver configuration */
+ #define PB_SCL                0x00000020      /* PB 26 */
+ #define PB_SDA                0x00000010      /* PB 27 */
+ #define I2C_INIT      (immr->im_cpm.cp_pbdir |=  PB_SCL)
+ #define I2C_ACTIVE    (immr->im_cpm.cp_pbdir |=  PB_SDA)
+ #define I2C_TRISTATE  (immr->im_cpm.cp_pbdir &= ~PB_SDA)
+ #define I2C_READ      ((immr->im_cpm.cp_pbdat & PB_SDA) != 0)
+ #define I2C_SDA(bit)  if (bit) \
+                               immr->im_cpm.cp_pbdat |=  PB_SDA; \
+                       else \
+                               immr->im_cpm.cp_pbdat &= ~PB_SDA
+ #define I2C_SCL(bit)  if (bit) \
+                               immr->im_cpm.cp_pbdat |=  PB_SCL; \
+                       else \
+                               immr->im_cpm.cp_pbdat &= ~PB_SCL
+ #define I2C_DELAY     udelay(5)       /* 1/4 I2C clock duration */
+ /* M41T11 Serial Access Timekeeper(R) SRAM */
+ #define CONFIG_RTC_M41T11 1
+ #define CONFIG_SYS_I2C_RTC_ADDR 0x68
+ /* play along with the linux driver */
+ #define CONFIG_SYS_M41T11_BASE_YEAR 1900
  #undef        CONFIG_WATCHDOG                 /* watchdog disabled            */
  
  /*
index 61ada9573d8bacfc0e63c5d4c18492650bbe4427,b14136df13ca024ac27b629b960cee91ef59594e..06273a2ae1a3bbc444b4b15a12b4002b09df70f7
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000, 2001, 2002
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #endif
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- # define CONFIG_SYS_I2C_SPEED         50000   /* 50 kHz is supposed to work   */
- # define CONFIG_SYS_I2C_SLAVE         0xFE
- #ifdef CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(1)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  
  /*
index f5d61358707e8ae62a329d2baa9a1d7c47ecbb05,e127d6f13fe64c1c28526cea914b8c2b27837122..3448ef35a8e51f5671737214b9d4c1eeda3a0ee8
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright (C) Sheldon Instruments, Inc. 2008
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  /*
   * simpc8313 board configuration file
  #define CONFIG_SYS_HUSH_PARSER
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} } /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /*
   * General PCI
index dfb1426751c351d0fa9e40234230d27287850057,f0ce2828c2d732f0b9219a2b7b10a16cb5784571..e2b05de3810d8fd10a2f357d63cd1faa66f32aaa
@@@ -6,7 -6,24 +6,7 @@@
   *
   * Copyright (c) 2000-2002 Dave Ellis, SIXNET, dge@sixnetio.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  
  #define       CONFIG_RTC_DS1306               /* Dallas 1306 real time clock  */
  
- #define       CONFIG_SOFT_I2C                 /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(5)       /* 1/4 I2C clock duration */
  
- # define CONFIG_SYS_I2C_SPEED         50000
- # define CONFIG_SYS_I2C_SLAVE         0xFE
  # define CONFIG_SYS_I2C_EEPROM_ADDR   0x50    /* Atmel 24C64                  */
  # define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2     /* two byte address             */
  
index c5e0339268e06f16ee3b68236644a3d9a532567b,65ca4259d8bd4fe9ab8f51778d4c875c49e0ac75..ed8a32f7df3558b51280eae0b76c4632053c39ee
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* ------------------------------------------------------------------------- */
   * If the software driver is chosen, there are some additional
   * configuration items that the driver uses to drive the port pins.
   */
- #define CONFIG_HARD_I2C               1               /* To enable I2C support        */
- #undef  CONFIG_SOFT_I2C                               /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_HARD_I2C               1               /* To enable I2C support */
+ #undef  CONFIG_SYS_I2C_SOFT
+ #define CONFIG_SYS_I2C_SLAVE  0x7F
+ #define CONFIG_SYS_I2C_SPEED  400000
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  #error "Soft I2C is not configured properly.  Please review!"
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  #define I2C_PORT              3               /* Port A=0, B=1, C=2, D=3 */
  #define I2C_ACTIVE            (iop->pdir |=  0x00010000)
  #define I2C_TRISTATE          (iop->pdir &= ~0x00010000)
  #define I2C_SCL(bit)          if(bit) iop->pdat |=  0x00020000; \
                                else    iop->pdat &= ~0x00020000
  #define I2C_DELAY             udelay(5)       /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
+ #endif /* CONFIG_SYS_I2C_SOFT */
  
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57            /* EEPROM IS24C02               */
index e1692dc0b2e79a8f5a21c89d13f3ce53a6f5c207,9a69374221af3c177533c1fc92db98a61aa49556..97e8968243a5606d5b4cb04528ad1cfcfdb3b362
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* ------------------------------------------------------------------------- */
   * If the software driver is chosen, there are some additional
   * configuration items that the driver uses to drive the port pins.
   */
- #define CONFIG_HARD_I2C               1               /* To enable I2C support        */
- #undef  CONFIG_SOFT_I2C                               /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_HARD_I2C               1               /* To enable I2C support */
+ #undef  CONFIG_SYS_I2C_SOFT
+ #define CONFIG_SYS_I2C_SPEED  400000
+ #define CONFIG_SYS_I2C_SLAVE  0x7F
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  #error "Soft I2C is not configured properly.  Please review!"
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  #define I2C_PORT              3               /* Port A=0, B=1, C=2, D=3 */
  #define I2C_ACTIVE            (iop->pdir |=  0x00010000)
  #define I2C_TRISTATE          (iop->pdir &= ~0x00010000)
  #define I2C_SCL(bit)          if(bit) iop->pdat |=  0x00020000; \
                                else    iop->pdat &= ~0x00020000
  #define I2C_DELAY             udelay(5)       /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
+ #endif /* CONFIG_SYS_I2C_SOFT */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57            /* EEPROM IS24C02               */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        1               /* Bytes of address             */
diff --combined include/configs/TASREG.h
index 494ed078f86ac81cdcca3ce5ca17eb7e643aa321,059fb362f8784c7d7b0ed9e29ee1689cc498ca2a..bce4176f9db6e45e7971ad323b169c9a1209e367
@@@ -4,7 -4,23 +4,7 @@@
   * (C) Copyright 2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C
   */
- #define       CONFIG_SOFT_I2C
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC32             */
- #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2      /* Bytes of address             */
- /* mask of address bits that overflow into the "EEPROM chip address"  */
- #define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW   0x01
- #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5   /* The Catalyst CAT24WC32 has   */
-                                       /* 32 byte page write mode using*/
-                                       /* last 5 bits of the address   */
- #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10   /* and takes up to 10 msec */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     100000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  
- #if defined (CONFIG_SOFT_I2C)
  #if 0 /* push-pull */
  #define       SDA             0x00800000
  #define       SCL             0x00000008
  #define       I2C_ACTIVE      {DIR1|=SDA;}
  #define       I2C_TRISTATE    {DIR1&=~SDA;}
  #endif
- #endif
+ #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC32     */
+ #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2      /* Bytes of address     */
+ /* mask of address bits that overflow into the "EEPROM chip address"  */
+ #define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW   0x01
+ /*
+  * The Catalyst CAT24WC32 has 32 byte page write mode using
+  * last 5 bits of the address
+  */
+ #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5
+ #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
  
  /*-----------------------------------------------------------------------
   * Definitions for initial stack pointer and data area (in DPRAM)
diff --combined include/configs/TK885D.h
index 39c39ee8c92f08c88cac262cc5bfe1f272e28645,af8877373d534ffa487909d7c58b29a645263095..7f2b842993555bed99fc5faf01c68bae0f92f571
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2006
   * Martin Krause, TQ-Systems GmBH, martin.krause@tqs.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef        CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
- #ifdef CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT                   /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50            /* EEPROM AT24C??       */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2              /* two byte address     */
index 3c7addbb54273459abe99f9d0b2cb9b55109c3cd,e9dcefc7895cdf01146f67969ea2641b44bd1ff5..00056a33d4d7072643a2c2b8625c5c7e56c55761
   * Internal regs are at 0xf0000000
   * Reset jumps to 0x00000100
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_ENV_OVERWRITE
  #define CONFIG_MISC_INIT_R
  
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support */
- #define       CONFIG_SOFT_I2C         1       /* I2C with softwate support */
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
  
- #if defined (CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
+ #  define CONFIG_SYS_I2C
+ #  define CONFIG_SYS_I2C_SOFT_SPEED   100000
+ #  define CONFIG_SYS_I2C_SOFT_SLAVE   0x7F
+ /**/
  #  define SDA0                        0x40
  #  define SCL0                        0x80
  #  define GPIOE0              *((volatile uchar*)(CONFIG_SYS_MBAR+0x0c00))
  #  define I2C_DELAY           {udelay(5);}
  #  define I2C_ACTIVE  {DDR0|=SDA0;}
  #  define I2C_TRISTATE        {DDR0&=~SDA0;}
- #  define CONFIG_SYS_I2C_SPEED                100000
- #  define CONFIG_SYS_I2C_SLAVE                0x7F
  #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57
  #define CONFIG_SYS_I2C_FACT_ADDR      0x57
  #endif
diff --combined include/configs/TOP860.h
index c2210503a0b1f297f4903d3e6a408cf1cae975f3,1f728e3d4a9c6515cf40f97a4f02cb625fa20c22..5c5ce84ff176184f1470a005ee3271f352aa3a27
@@@ -6,7 -6,23 +6,7 @@@
   * Configuation settings for the TOP860 board.
   *
   * -----------------------------------------------------------------
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  /*
   * TOP860 is a simple module:
   * Environment handler
   * only the first 6k in EEPROM are available for user. Of that we use 256b
   */
- #define       CONFIG_SOFT_I2C
  #define CONFIG_ENV_IS_IN_EEPROM       1       /* turn on EEPROM env feature */
  #define CONFIG_ENV_OFFSET             0x1000
  #define CONFIG_ENV_SIZE               0x0700
  #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
  #define CONFIG_SYS_EEPROM_SIZE 0x2000
- #define       CONFIG_SYS_I2C_SPEED    100000
- #define       CONFIG_SYS_I2C_SLAVE    0xFE
  #define       CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 12
  #define CONFIG_ENV_OVERWRITE
  #define CONFIG_MISC_INIT_R
  
- #if defined (CONFIG_SOFT_I2C)
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     100000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
+ /**/
  #define       SDA     0x00010
  #define       SCL     0x00020
  #define __I2C_DIR     immr->im_cpm.cp_pbdir
  #define       I2C_DELAY       { udelay(5); }
  #define       I2C_ACTIVE      { __I2C_DIR |= SDA; }
  #define       I2C_TRISTATE    { __I2C_DIR &= ~SDA; }
- #endif
  
  #define CONFIG_SYS_BAUDRATE_TABLE     { 9600, 19200, 38400, 57600, 115200, 230400 }
  
index 006d53d345669617a6cbec0433c3b11a20e839a1,5fbfd1c9702f987cb9fcbe75f7443c1cb1e44baf..1b02cbbca7486b4083c990ac3e45afd90941ee56
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_BOOTCOMMAND    "run flash_self"
  
  /* enable I2C and select the hardware/software driver */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     400000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  
  /*
   * Software (bit-bang) I2C driver configuration
index c5b64b245a5f537e22febeeb8c907680e9da703a,c27e4ef1d05e890afec9fd8acbae511c73194e32..3f586fbbc13f522eaee524b8d52c8101328604e5
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2006
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  
  #if CONFIG_I2C
  /* enable I2C and select the hardware/software driver */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     400000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define CONFIG_SYS_DTT_HYSTERESIS     3
  
  #else
+ #undef CONFIG_SYS_I2C
  #undef CONFIG_HARD_I2C
- #undef CONFIG_SOFT_I2C
+ #undef CONFIG_SYS_I2C_SOFT
  #endif
  
  /*
index 8eb217c5d8e160bc8ed549cbd79aaf62aac6c2b0,89b6db6cf9878d9fcc692be880ce59972acbe223..07b5acb9770ae7b3e0f145d430604b3d96b87498
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed: 400KHz */
- #define CONFIG_SYS_I2C_SLAVE          0x7F    /* slave address */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
  
  /* I2C EEPROM, configuration for onboard EEPROMs 24C256 and 24C32 */
  #define CONFIG_SYS_I2C_EEPROM_ADDR            0x50    /* 1010000x */
index a893316efc8ec731d19babe3856ff89203bc9823,1b558fc4d3497aafb581de8422451094a4df11a5..37e3541d682ce6b2be303a3504e6c80510b43a64
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2008
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #undef        CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C         1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
- #ifdef CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50            /* EEPROM AT24C64       */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        2               /* two byte address     */
index f28aa16c02b39d210f8ac50143a567e5b57ed6ac,910497126fb39b59464eec10b99f17be7077a534..9cf263cff60a60d4a33e6872af7dfd7a70b958d8
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2008
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef        CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT                   /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
- #ifdef CONFIG_SOFT_I2C
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50            /* EEPROM AT24C256      */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2              /* two byte address     */
index e6b1e35d5413c0b24fcc5e06d6f79cf5b0e1ab01,65d7c58189410bb636be59b7be32a1bbbd6c0081..1f52efcf5bdf33ba11d2512d39e9cb32223a94fb
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2006
   * Martin Krause, TQ-Systems GmBH, martin.krause@tqs.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef        CONFIG_CAN_DRIVER               /* CAN Driver support disabled  */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
- #ifdef CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT                   /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50            /* EEPROM AT24C??       */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2              /* two byte address     */
diff --combined include/configs/VOH405.h
index 6316fb566a12e8f012a0c3ff6406f3198417d1dd,98d975fbd26b416496bbeb4a593970e2f64b915b..a1dad2b5bba47589206d0a04005c33c83ca4873e
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2003
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT24WC08             */
  #define CONFIG_SYS_EEPROM_WREN         1
diff --combined include/configs/VOM405.h
index f3bd423b4689e5993a3a633fc95c75c2eb28d581,85722e408d645270ee2a178d45cbd44c7e5abdc3..5daf1758635ae92281061dd874f5fefa4860e6a9
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/W7OLMC.h
index f388047ee5756009f0e7950a545dda057c9256c8,7c5be4076992ba3dc8d41123378227ea55e1a7ac..51cfcf6e21821516569881294a4bcf25592cd87f
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC08) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        1       /* Bytes of address             */
diff --combined include/configs/W7OLMG.h
index dba456108c1b372d52c0ad611a51e130e79e18bb,41057d01c15bf717263fb7fa26cfa29eb2c35afe..6769c0d80616dd90d8a796781d1a47416c94fe99
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (ATMEL 24C04N)
   */
- #define CONFIG_HARD_I2C               1               /* Hardware assisted I2C        */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50            /* EEPROM ATMEL 24C04N          */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        1               /* Bytes of address             */
diff --combined include/configs/WUH405.h
index df4652153ce22699ca86849ddfd3975d5f49af42,2632db25bd627ccdc06f6e1a79cf25ffc3d84ab9..f38d90ee3f3d77e771b3d3b2711bd9b417502610
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2004
   * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*-----------------------------------------------------------------------
   * I2C EEPROM (CAT24WC16) for environment
   */
- #define CONFIG_HARD_I2C                       /* I2c with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* EEPROM CAT28WC08             */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1      /* Bytes of address             */
diff --combined include/configs/acadia.h
index 88c4aee153471d01eeb1c852c8d7cf1a105383b2,52a64bf4e70cb454ca48081fd01f9424544ca467..f79706e1d2997539d01d88edecab4e08c793f7e9
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
diff --combined include/configs/alpr.h
index b9b4e9af994ce313ff9709cedf6df3bf2b4da73e,13978be1de59775cca21c0eb60f289f8e37b43ba..5431b098c5c388a555cc26ec8152c8ffbfba5b60
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2006-2008
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x69}  /* Don't probe these addrs      */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
+ #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} }   /* Don't probe these addrs */
  
  /*-----------------------------------------------------------------------
   * I2C EEPROM (PCF8594C)
index 72f75aae663175e30b5b825972733f468c49e654,1dc44fc0b0f6566d5af0858d4680f056c5a63aaa..580d079ed1a8a34f3f519eaf5d747b98cb03ad76
@@@ -4,7 -4,20 +4,7 @@@
   *
   * Common configuration options for all AMCC boards
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __AMCC_COMMON_H
  /*
   * I2C
   */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  /*
   * Ethernet/EMAC/PHY
diff --combined include/configs/aria.h
index c9d090e000bdaafb384735d76bd9e1fb4f2e8207,261dc695c63bffc8ef7c1dfd53ea12bc9f76382d..68f25ea388cb8fd9fa0c2c3c1137197d5f0296ee
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2009 Wolfgang Denk <wd@denx.de>
   * (C) Copyright 2009, DAVE Srl <www.dave.eu>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  
  /* I2C */
  #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* so disable bit-banged I2C */
  #define CONFIG_I2C_MULTI_BUS
  
  /* I2C speed and slave address */
index 1124f0a29a73c2328923b387f795d09afbd74494,f641959cc112775aaeaaa40d045a32cb516ed775..ed9400e4c0bd3c69a26375198528b837fb39498c
@@@ -3,7 -3,23 +3,7 @@@
   *
   * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef CONFIG_MCFPIT
  
  /* I2C */
- #define CONFIG_FSL_I2C
- #define CONFIG_HARD_I2C                       /* I2C with hw support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          80000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x58000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      80000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x58000
  #define CONFIG_SYS_IMMR                       CONFIG_SYS_MBAR
  
  /*
diff --combined include/configs/bamboo.h
index e585efe4d3cb0c6991e59b8b2bf0729ae5990844,03fa17bb8f856fc2289d9f1eb11c9b797b02b1d9..5336f69103125cee5b4ceb2a06fd366db0094535
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2005-2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
index 5ea6f46bee9858760a31ae6e1987e23644c82452,934da8134b7d37bfd9fca6a9e58695117c61afe2..33e04963e6782caa8e7aaef5d9491af379f57ff7
@@@ -4,7 -4,20 +4,7 @@@
   * Copyright (c) 2010, Applied Micro Circuits Corporation
   * Author: Tirumala R Marri <tmarri@apm.com>
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C
   */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed            */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR            0x54
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN                1
index b02f86207a5df00f36981fd2bc612ed7803d5016,43059a06f9b1e9cebed46190ba1732b066ad6551..9301fccbdc657b6b950ed9e20715f7b6f99d52b6
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
   * I2C stuff
   *-----------------------------------------------------------------------
   */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
- #define CONFIG_SYS_I2C_NOPROBES       { 0x69 }        /* avoid i2c probe hangup (why?) */
+ #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} }   /* avoid i2c probe hangup (?) */
  #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 6       /* 24C02 requires 5ms delay */
  
  #if defined(CONFIG_CMD_EEPROM)
index 4353a8cb2b9f722009b553112969d8dea435b09c,a3c04b65dcb3ccd1bc29bd5a4edab957e767d475..f6faeec06ce6395d83da600e0184548d2ecc7868
@@@ -2,7 -2,20 +2,7 @@@
   * (C) Copyright 2008
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed                    */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR            (0xa8>>1)
index a85680f10362a53f4965387dc6f2a5bab5b8e346,41f33d964c8346f7431216edbf6a6114d7ca4b01..c0591c52770d9083b4291bfccea69271bbcb3649
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2009-2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x118000
- #define CONFIG_SYS_I2C2_OFFSET                0x118100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x118000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x118100
  
  /*
   * RapidIO
index 4a7c4fc288af20baebe04d9bf589c0a678b5c1e3,d9b006ab7b0bf4310a260cdcac779193033fc828..c56fdd751719911103c8fcc42042e355ce053537
@@@ -4,7 -4,23 +4,7 @@@
   *
   * Configuration settings for the CPUAT91 board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef _CONFIG_CPUAT91_H
@@@ -76,7 -92,6 +76,6 @@@
  #define CONFIG_USART_ID               0/* ignored in arm */
  
  #undef CONFIG_HARD_I2C
- #undef CONFIG_SOFT_I2C
  #define AT91_PIN_SDA                  (1<<25)
  #define AT91_PIN_SCL                  (1<<26)
  
  #undef CONFIG_CMD_NFS
  #undef CONFIG_CMD_DHCP
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  #define CONFIG_CMD_EEPROM
  #define CONFIG_CMD_I2C
  #endif
diff --combined include/configs/csb272.h
index 663b8cbd4425bfb7c7c2e75d9cd8318febba2346,c12c3a21005ed5e27c935d0dc4c84ea6b1ab341e..49a144fd33f4c83f0773ba53a8e648d73b86eff6
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2004
   * Tolunay Orkun, Nextio Inc., torkun@nextio.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
   * I2C configuration
   *
   */
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed                    */
- #define CONFIG_SYS_I2C_SLAVE          0x7F    /* I2C slave address            */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F    /* I2C slave address */
  
  /*
   * MII PHY configuration
diff --combined include/configs/csb472.h
index 6f7dc1856746e3cfdddef1c8f88d5c63c7879f0f,663424b1966c8381b5e9cb5a38dcf0a5acf83dbf..7705a5dda89f952d6d7b3a6c1f2e315586406299
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2004
   * Tolunay Orkun, Nextio Inc., torkun@nextio.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
   * I2C configuration
   *
   */
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed                    */
- #define CONFIG_SYS_I2C_SLAVE          0x7F    /* I2C slave address            */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F    /* I2C slave address */
  
  /*
   * MII PHY configuration
diff --combined include/configs/debris.h
index 660cceebd8418413db031f05710988b47c921b14,0d3a4fa290e3dc8e587158ed94f12381de45558b..c9fb8d78cbe54102d50aa1965a91e6890fb6e9de
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001, 2002
   * Sangmoon Kim, Etin Systems, dogoil@etinsys.com.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /* ------------------------------------------------------------------------- */
   * configuration items that the driver uses to drive the port pins.
   */
  #define CONFIG_HARD_I2C               1               /* To enable I2C support        */
- #undef  CONFIG_SOFT_I2C                               /* I2C bit-banged               */
+ #undef  CONFIG_SYS_I2C_SOFT                   /* I2C bit-banged */
  #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
  #define CONFIG_SYS_I2C_SLAVE          0x7F
  
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
  #error "Soft I2C is not configured properly.  Please review!"
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  #define I2C_PORT              3               /* Port A=0, B=1, C=2, D=3 */
  #define I2C_ACTIVE            (iop->pdir |=  0x00010000)
  #define I2C_TRISTATE          (iop->pdir &= ~0x00010000)
  #define I2C_SCL(bit)          if(bit) iop->pdat |=  0x00020000; \
                                else    iop->pdat &= ~0x00020000
  #define I2C_DELAY             udelay(5)       /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
+ #endif /* CONFIG_SYS_I2C_SOFT */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x57            /* EEPROM IS24C02               */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        1               /* Bytes of address             */
index 84af8957818b75f8084c1b96389ed01f91e5677f,5d6308fb186113e88fc6397d123049490f8a462d..17391cddc988529c2f1314125f61a443a4ea45b9
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2010
   * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C stuff
   */
- #define CONFIG_SYS_I2C_SPEED          100000
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
  
  /* Temp sensor/hwmon/dtt */
  #define CONFIG_DTT_LM63               1       /* National LM63        */
index d5bf73558184eec9cf683463eaaa9f72d90fd749,24c9fa429928f3a506bd371ecf590b3ec233181a..27471284ac6fa59d170b58e44d24d2d059a8d6a4
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2009
   * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C stuff
   */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address*/
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
  
  /*
   * FLASH organization
index 6d9e2ad96a11a6e4e4035e91f044b2ec1fcb91c2,b80ab3fcf09bb74e2a15df18add3642f8d201b1d..c2d04a21c7c9302758d037bc5429bc5ceca081a2
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /* ------------------------------------------------------------------------- */
   * configuration items that the driver uses to drive the port pins.
   */
  #define CONFIG_HARD_I2C               1       /* To enable I2C support        */
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged               */
+ #undef        CONFIG_SYS_I2C_SOFT             /* I2C bit-banged               */
  #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
  #define CONFIG_SYS_I2C_SLAVE          0x7F
  
index 84cf9d74fc34e75db457892cd27b2310bbfb6c32,6e734df56920becfd02a1687a46e53af13e67673..08ba883f4c4998257faf24a95a8e8f8310439c64
@@@ -3,7 -3,23 +3,7 @@@
   *
   * (C) Copyright 2005-2009 BuS Elektronik GmbH & Co.KG <esw@bus-elektonik.de>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef _CONFIG_EB_CPU5282_H_
   * I2C
   */
  
- #define CONFIG_HARD_I2C
- #define CONFIG_FSL_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
  
- #define CONFIG_SYS_I2C_OFFSET         0x00000300
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x00000300
  #define CONFIG_SYS_IMMR                       CONFIG_SYS_MBAR
  
- #define CONFIG_SYS_I2C_SPEED          100000
- #define CONFIG_SYS_I2C_SLAVE          0
+ #define CONFIG_SYS_FSL_I2C_SPEED      100000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0
  
  #ifdef CONFIG_CMD_DATE
  #define CONFIG_RTC_DS1338
index a768ef3a32fba79085a4b4f308c519b45e954304,efb50e37786c263c4b4ccd6b9b2e2c0f8ef87221..247e37b6dddaeec972465876ea6f2dcbde76a3b1
@@@ -5,7 -5,23 +5,7 @@@
   *
   * Configuation settings for the EB+CPUx9K2 board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef _CONFIG_EB_CPUx9K2_H_
   * I2C-Bus
   */
  
- #define CONFIG_SYS_I2C_SPEED          50000
- #define CONFIG_SYS_I2C_SLAVE          0               /* not used */
- #ifndef CONFIG_HARD_I2C
- #define CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0
  
  /* Software  I2C driver configuration */
  
        else                                                    \
                writel(ATMEL_PMX_AA_TWCK, &pio->pioa.codr);
  
- #define I2C_DELAY     udelay(2500000/CONFIG_SYS_I2C_SPEED)
- #endif        /* CONFIG_HARD_I2C */
+ #define I2C_DELAY     udelay(2500000/CONFIG_SYS_I2C_SOFT_SPEED)
  
  /* I2C-RTC */
  
diff --combined include/configs/ebony.h
index 800af72766ef326c6f774ed9816b0e72f6773f0d,aabc898464e329a34dc3ff99a4ee97ca7209472f..47014f9e30561ed46b7590a7b3be2ee6fae1dd09
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * (C) Copyright 2002 Scott McNutt <smcnutt@artesyncp.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
diff --combined include/configs/ep8260.h
index 5fdc46aa2deada3002af504599b45785a1ac4733,2e675bce61c7d0bc4e18a8248dfc83a664a2279a..aba3392234d3123c982dd4368d7e5806bbbaca74
@@@ -5,7 -5,23 +5,7 @@@
   * This file is based on similar values for other boards found in other
   * U-Boot config files, and some that I found in the EP8260 manual.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
   * If the software driver is chosen, there are some additional
   * configuration items that the driver uses to drive the port pins.
   */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
  #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C_SLAVE          0x7F    /* This is for HARD, must go */
  
  /*
   * Software (bit-bang) I2C driver configuration
   */
- #ifdef CONFIG_SOFT_I2C
+ #ifdef CONFIG_SYS_I2C_SOFT
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  #define I2C_PORT      3               /* Port A=0, B=1, C=2, D=3 */
  #define I2C_ACTIVE    (iop->pdir |=  0x00010000)
  #define I2C_TRISTATE  (iop->pdir &= ~0x00010000)
  #define I2C_SCL(bit)  if(bit) iop->pdat |=  0x00020000; \
                        else    iop->pdat &= ~0x00020000
  #define I2C_DELAY     udelay(5)       /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
+ #endif /* CONFIG_SYS_I2C_SOFT */
  
  /* #define CONFIG_RTC_DS174x */
  
index 3cf27edcdc2da8c530455763d68490f092641276,5bf8c22498c0eef30908257258372d2742246d76..adf14be3658d0de612370aa2503e72bdc5fd14c9
@@@ -4,7 -4,23 +4,7 @@@
   *
   * Configuation settings for Ethernut 5 with AT91SAM9XE.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  
  /* I2C */
  #define CONFIG_SYS_MAX_I2C_BUS        1
- #define CONFIG_SYS_I2C_SLAVE  0
- #define CONFIG_SYS_I2C_SPEED  100000
  
- #define CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT                   /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     100000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0
  #define I2C_SOFT_DECLARATIONS
  
  #define GPIO_I2C_SCL          AT91_PIO_PORTA, 24
index c95cb00e9e3f801c940ba6d8ca9c5fcc97805758,db1fd284351bf96a3835488471103e00f8393538..cfb2a72716127370564fa27ece236133d239ffa9
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2005-2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed+slave address*/
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  /*
   * Default environment variables
diff --combined include/configs/icon.h
index fd8d56fe46bace0bdb5962ad3dcee4b909461447,ba43355007902006cb64d6c426a4e0a9129d84a3..eafcf5aeaf7bf0f49f8635c9684ce1424b30d3b5
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2009-2010
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_SYS_I2C_SPEED  100000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 100000
  
- #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SYS_SPD_BUS_NUM        0       /* The I2C bus for SPD          */
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
diff --combined include/configs/intip.h
index fed0c3c23cae0d8cf4a593a4251b67d2a8d47764,917d214dd1cfddc16ccf912f3c24ca023f0ddd4e..d3d7a441b6b307c7a512ed18829c4b9019b27e9f
@@@ -6,7 -6,20 +6,7 @@@
   * (C) Copyright 2008
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR            (0xa8>>1)
diff --combined include/configs/io.h
index af01ae25b374cceefe3f40a438ab50bcca0bab9a,4950ad711d878443bb9f63b6483ca09b4ee06668..33743e61ac0951b7e655d28daafcffa8dc463f7d
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2010
   * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C stuff
   */
- #define CONFIG_SYS_I2C_SPEED          100000
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
  
  /* Temp sensor/hwmon/dtt */
  #define CONFIG_DTT_LM63               1       /* National LM63        */
diff --combined include/configs/io64.h
index 274625dbd4860f306d1ad07365c70f4cad767c84,bb29bedb2d2a509ee0ce1b575538f2ba0c6ad388..dcd1b82e25f0ffd738049d33240a577b687de07c
@@@ -6,7 -6,23 +6,7 @@@
   * by Stefan Roese, DENX Software Engineering, sr@denx.de.
   * and Grant Erickson <gerickson@nuovations.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 400000
  
  #define CONFIG_PCA9698                1       /* NXP PCA9698 */
  
diff --combined include/configs/iocon.h
index bae525026edfcf3e668ef1e6c486813db135584d,5972711574b708b141acac5122205bf1713f4842..32d9050adb952f14838e96ba00ed4ac5ba00f28e
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2010
   * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C stuff
   */
- #define CONFIG_SYS_I2C_SPEED          400000
- /* enable I2C and select the hardware/software driver */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  /*
   * Software (bit-bang) I2C driver configuration
diff --combined include/configs/katmai.h
index 10871e8349727423439eba09c7d6fa4603d81b8f,0bde3929da95f92f02ca888de8559710ac2dcd17..ca0df2d0ce00f98937adfe2a23527cb33cf06480
@@@ -4,7 -4,23 +4,7 @@@
   *
   * (C) Copyright 2004 Paul Reynolds <PaulReynolds@lhsolutions.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
  
- #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SYS_SPD_BUS_NUM                0       /* The I2C bus for SPD          */
  
  #define IIC0_BOOTPROM_ADDR    0x50
index 613654c511d944e8e27f42707eb270b1a66fcd1e,fc34c24a62a89bca0adf6f9a3b6cea08ac53d9aa..bd3bbb79a5d69059a76f6575be52d8423b0bf0d6
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x52    /* I2C boot EEPROM (24C02BN)    */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        1       /* Bytes of address             */
index d0e4b3fd4789d998cb545e7e6f2444c455989b58,6182e81a684d19677c041c8689cef20d5be5e190..a82987d6a09f5a05e7c33c1efd6085fadd92982a
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2008-2011
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_KEYMILE_H
  #define CONFIG_LOADS_ECHO
  #define CONFIG_SYS_LOADS_BAUD_CHANGE
  
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_MAX_I2C_BUS                1
  #define CONFIG_SYS_I2C_INIT_BOARD
- #define CONFIG_I2C_MUX
  
  /* Support the IVM EEprom */
  #define       CONFIG_SYS_IVM_EEPROM_ADR       0x50
index 6b3a4cca30b81e6c25b98d73b0858d542878fd46,8f97f679bbeddff4d6bada05e8d752527bfeda58..0ff866a8966ce3603978235a937961181f05fb2d
@@@ -2,7 -2,10 +2,7 @@@
   * (C) Copyright 2010
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_KM83XX_H
  #endif /* CFG_SYS_RAMBOOT */
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED  200000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_OFFSET 0x3000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_NUM_I2C_BUSES      4
+ #define CONFIG_SYS_I2C_MAX_HOPS               1
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      200000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_I2C_OFFSET         0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     200000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_BUSES  {{0, {I2C_NULL_HOP} }, \
+               {0, {{I2C_MUX_PCA9547, 0x70, 2} } }, \
+               {0, {{I2C_MUX_PCA9547, 0x70, 1} } }, \
+               {1, {I2C_NULL_HOP} } }
+ #define CONFIG_KM_IVM_BUS             2       /* I2C2 (Mux-Port 1)*/
  
  /* I2C SYSMON (LM75, AD7414 is almost compatible) */
  #define CONFIG_DTT_LM75               /* ON Semi's LM75 */
  #define CONFIG_SYS_DTT_MAX_TEMP       70
  #define CONFIG_SYS_DTT_LOW_TEMP       -30
  #define CONFIG_SYS_DTT_HYSTERESIS     3
- #define CONFIG_SYS_DTT_BUS_NUM                (CONFIG_SYS_MAX_I2C_BUS)
+ #define CONFIG_SYS_DTT_BUS_NUM                1
  
  #if defined(CONFIG_CMD_NAND)
  #define CONFIG_NAND_KMETER1
  #define CONFIG_EXTRA_ENV_SETTINGS \
        CONFIG_KM_DEF_ENV                                               \
        CONFIG_KM_DEF_ARCH                                              \
-       "EEprom_ivm=pca9547:70:9\0"                                     \
        "newenv="                                                       \
                "prot off 0xF00C0000 +0x40000 && "                      \
                "era 0xF00C0000 +0x40000\0"                             \
index 97bdeba15c603f22b1fd4b6aeb8501edcfea8fff,4da54d56a63f3009e1779096419f47031966c0a2..e0368cb894a3be098f598a3662e80b7c36aba2af
@@@ -9,7 -9,23 +9,7 @@@
   * (C) Copyright 2010-2011
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 - * MA 02110-1301 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -42,7 -58,6 +42,6 @@@
  
  #define CONFIG_CMD_NAND
  #define CONFIG_CMD_SF
- #define CONFIG_SOFT_I2C               /* I2C bit-banged       */
  
  /* SPI NOR Flash default params, used by sf commands */
  #define CONFIG_SF_DEFAULT_SPEED               8100000
  /*
   * I2C related stuff
   */
+ #undef CONFIG_I2C_MVTWSI
+ #define CONFIG_SYS_I2C
+ #define       CONFIG_SYS_I2C_SOFT     /* I2C bit-banged       */
  #define       CONFIG_KIRKWOOD_GPIO            /* Enable GPIO Support */
- #if defined(CONFIG_SOFT_I2C)
+ #if defined(CONFIG_SYS_I2C_SOFT)
+ #define CONFIG_SYS_NUM_I2C_BUSES      6
+ #define CONFIG_SYS_I2C_MAX_HOPS               1
+ #define CONFIG_SYS_I2C_BUSES  {       {0, {I2C_NULL_HOP} }, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 1} } }, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 2} } }, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 3} } }, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 4} } }, \
+                                       {0, {{I2C_MUX_PCA9547, 0x70, 5} } }, \
+                               }
  #ifndef __ASSEMBLY__
  #include <asm/arch-kirkwood/gpio.h>
  extern void __set_direction(unsigned pin, int high);
@@@ -195,6 -225,8 +209,8 @@@ int get_scl(void)
  #define I2C_DELAY     udelay(1)
  #define I2C_SOFT_DECLARATIONS
  
+ #define       CONFIG_SYS_I2C_SOFT_SLAVE       0x0
+ #define       CONFIG_SYS_I2C_SOFT_SPEED       100000
  #endif
  
  /* EEprom support 24C128, 24C256 valid for environment eeprom */
  #define CONFIG_SYS_EEPROM_WREN
  #define CONFIG_ENV_OFFSET             0x0 /* no bracets! */
  #define CONFIG_ENV_SIZE                       (0x2000 - CONFIG_ENV_OFFSET)
- #define CONFIG_I2C_ENV_EEPROM_BUS     KM_ENV_BUS "\0"
+ #define CONFIG_I2C_ENV_EEPROM_BUS     KM_ENV_BUS
  #define CONFIG_ENV_OFFSET_REDUND      0x2000 /* no bracets! */
  #define CONFIG_ENV_SIZE_REDUND                (CONFIG_ENV_SIZE)
  #endif
  #else
  #define CONFIG_KM_NEW_ENV                                             \
        "newenv=setenv addr 0x100000 && "                               \
-               "i2c dev 1; mw.b ${addr} 0 4 && "                       \
+               "i2c dev " __stringify(CONFIG_I2C_ENV_EEPROM_BUS) "; "  \
+               "mw.b ${addr} 0 4 && "                                  \
                "eeprom write " __stringify(CONFIG_SYS_DEF_EEPROM_ADDR) \
                " ${addr} " __stringify(CONFIG_ENV_OFFSET) " 4 && "     \
                "eeprom write " __stringify(CONFIG_SYS_DEF_EEPROM_ADDR) \
        CONFIG_KM_DEF_ENV                                               \
        CONFIG_KM_NEW_ENV                                               \
        "arch=arm\0"                                                    \
-       "EEprom_ivm=" KM_IVM_BUS "\0"                                   \
        ""
  
  #if defined(CONFIG_SYS_NO_FLASH)
diff --combined include/configs/km82xx.h
index b087cdb24045fd231c01d6986c6190e82cf21936,4278be26e2c03096cae4a97f93b02f9e83d97ea8..b23cb96274d3a8ec7aab0ab34e7683ba7ca77327
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2007-2011
   * Heiko Schocher, DENX Software Engineering, hs@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  #define       CONFIG_EXTRA_ENV_SETTINGS                                       \
        CONFIG_KM_BOARD_EXTRA_ENV                                       \
        CONFIG_KM_DEF_ENV                                               \
-       "EEprom_ivm=pca9544a:70:4 \0"                                   \
        "unlock=yes\0"                                                  \
        "newenv="                                                       \
                "prot off 0xFE0C0000 +0x40000 && "                      \
  #endif /* CONFIG_ENV_IS_IN_FLASH */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          50000   /* I2C speed */
- #define CONFIG_SYS_I2C_SLAVE          0x7F    /* I2C slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_NUM_I2C_BUSES      3
+ #define CONFIG_SYS_I2C_MAX_HOPS               1
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SPEED          CONFIG_SYS_I2C_SOFT_SPEED
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
+ #define CONFIG_SYS_I2C_BUSES  {{0, {I2C_NULL_HOP} }, \
+                       {0, {{I2C_MUX_PCA9542, 0x70, 0} } }, \
+                       {0, {{I2C_MUX_PCA9542, 0x70, 1} } } }
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  
  /*
   * Software (bit-bang) I2C driver configuration
@@@ -266,7 -289,7 +273,7 @@@ int get_scl(void)
  #define CONFIG_SYS_DTT_MAX_TEMP       70
  #define CONFIG_SYS_DTT_LOW_TEMP       -30
  #define CONFIG_SYS_DTT_HYSTERESIS     3
- #define CONFIG_SYS_DTT_BUS_NUM                (CONFIG_SYS_MAX_I2C_BUS)
+ #define CONFIG_SYS_DTT_BUS_NUM                2
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        1
  
index 68d1bf6c66d584216ab58ba776e24eebf02869f1,5f3e4449baaf7e2c09581fd22cccb3d07376a9b8..0e6073c6425be323cc906794e35057a3656a01c5
   * Holger Brunck, Keymile GmbH Hannover, holger.brunck@keymile.com
   * Valentin Longchamp, Keymile AG, valentin.longchamp@keymile.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 - * MA 02110-1301 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_IDENT_STRING           "\nKeymile Kirkwood"
  #define CONFIG_HOSTNAME                       km_kirkwood
  #define CONFIG_KM_DISABLE_PCIE
- #define KM_IVM_BUS                    "pca9544a:70:9" /* I2C2 (Mux-Port 1)*/
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  
  /* KM_KIRKWOOD_PCI */
  #elif defined(CONFIG_KM_KIRKWOOD_PCI)
  #define CONFIG_IDENT_STRING           "\nKeymile Kirkwood PCI"
  #define CONFIG_HOSTNAME                       km_kirkwood_pci
- #define KM_IVM_BUS                    "pca9544a:70:9" /* I2C2 (Mux-Port 1)*/
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  #define CONFIG_KM_FPGA_CONFIG
  
  /* KM_NUSA */
  #elif defined(CONFIG_KM_NUSA)
- #define KM_IVM_BUS                    "pca9547:70:9"  /* I2C2 (Mux-Port 1)*/
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  #define CONFIG_IDENT_STRING           "\nKeymile NUSA"
  #define CONFIG_HOSTNAME                       kmnusa
  #undef CONFIG_SYS_KWD_CONFIG
@@@ -53,7 -69,7 +53,7 @@@
  #elif defined(CONFIG_KM_MGCOGE3UN)
  #define CONFIG_IDENT_STRING           "\nKeymile COGE3UN"
  #define CONFIG_HOSTNAME                       mgcoge3un
- #define KM_IVM_BUS                    "pca9547:70:9" /* I2C2 (Mux-Port 1)*/
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  #undef CONFIG_SYS_KWD_CONFIG
  #define CONFIG_SYS_KWD_CONFIG \
                $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-memphis.cfg
@@@ -65,7 -81,7 +65,7 @@@
  /* KMCOGE5UN */
  #elif defined(CONFIG_KM_COGE5UN)
  #define CONFIG_IDENT_STRING           "\nKeymile COGE5UN"
- #define KM_IVM_BUS                    "pca9547:70:9"  /* I2C2 (Mux-Port 1)*/
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  #undef        CONFIG_SYS_KWD_CONFIG
  #define CONFIG_SYS_KWD_CONFIG \
                $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage_256M8_1.cfg
  #elif defined(CONFIG_KM_PORTL2)
  #define CONFIG_IDENT_STRING           "\nKeymile Port-L2"
  #define CONFIG_HOSTNAME                       portl2
- #define KM_IVM_BUS                    "pca9544a:70:9" /* I2C2 (Mux-Port 1)*/
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  #define CONFIG_KM_PIGGY4_88E6061
  
  /* KM_SUV31 */
  #elif defined(CONFIG_KM_SUV31)
- #define KM_IVM_BUS                    "pca9547:70:9"  /* I2C2 (Mux-Port 1)*/
+ #define CONFIG_KM_IVM_BUS             1       /* I2C2 (Mux-Port 1)*/
  #define CONFIG_IDENT_STRING           "\nKeymile SUV31"
  #define CONFIG_HOSTNAME                       kmsuv31
  #define CONFIG_KM_ENV_IS_IN_SPI_NOR
  #include "km/km_arm.h"
  
  #ifndef CONFIG_KM_ENV_IS_IN_SPI_NOR
- #define KM_ENV_BUS    "pca9544a:70:d" /* I2C2 (Mux-Port 5)*/
+ #define KM_ENV_BUS    5       /* I2C2 (Mux-Port 5)*/
  #endif
  
  #if defined(CONFIG_KM_PIGGY4_88E6352)
diff --combined include/configs/korat.h
index 3410733ed72907ca689c1812b501233df0b621cb,c2e7118b1e504552301a5f725eaf4cfe5b2aeaf9..7c7a305175ebdf7196c697b0cf25cc5b652cc57e
@@@ -9,7 -9,20 +9,7 @@@
   * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com
   * Alain Saurel,            AMCC/IBM, alain.saurel@fr.ibm.com
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
diff --combined include/configs/luan.h
index 37111acdfb7c3694e50dadc87d5eab9be9334ce7,6219df70e406869bed77a91dd716c7a528faa222..8ecdf8049df0268abc9f18c60e4ef3732da6cfdf
@@@ -3,7 -3,23 +3,7 @@@
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   * John Otken, jotken@softadvances.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
diff --combined include/configs/lwmon.h
index a1cee6832c4705f5619848530e49b7852ff911f8,dc0bd33e8de13d9697c172702498f27b7e620303..459c047b71743872049e2d55857946a3ad359dcd
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2001-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #undef        CONFIG_STATUS_LED               /* Status LED disabled          */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C         1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
- #ifdef CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  
  #define CONFIG_RTC_PCF8563            /* use Philips PCF8563 RTC      */
diff --combined include/configs/lwmon5.h
index e2c436ff97918b34fe7aa118a683f0c28b0ae12a,7d9378ebbfe75c6a5732b6dff5fa841c4266e693..8f5eb956aeb07f4b1162a6167ed77d8370439639
@@@ -2,7 -2,20 +2,7 @@@
   * (C) Copyright 2007-2013
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_HARD_I2C                               /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                         /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000          /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_RTC_ADDR       0x51    /* RTC                          */
  #define CONFIG_SYS_I2C_EEPROM_CPU_ADDR        0x52    /* EEPROM          (CPU Modul)  */
diff --combined include/configs/makalu.h
index 520ab8c98cb16fa897715d692ca4b26c20445d5a,66f35d7799f707745439ef97e3a55740ba02f82d..e7ed917f8480fd4959d1c63a0dfab000775f67cd
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2007-2008
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 6       /* 24C02 requires 5ms delay */
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x52    /* I2C boot EEPROM (24C02BN)    */
index 9a483e74480ef0ecb0232d2b1018d86d232755c4,6f73e5d949b4d6aa0cad0e5790e6afd0283c562c..b48872b2678a89ad2f3b8cf61df1f71b7bd84d2e
@@@ -2,7 -2,24 +2,7 @@@
   * (C) Copyright 2009 Wolfgang Denk <wd@denx.de>
   * (C) Copyright 2009, DAVE Srl <www.dave.eu>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 - *
 + * SPDX-License-Identifier:   GPL-2.0+
   * modifications for the MECP5123 by reinhard.arlt@esd-electronics.com
   *
   */
  
  /* I2C */
  #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* so disable bit-banged I2C */
  #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed */
  #define CONFIG_SYS_I2C_SLAVE          0x7F    /* slave address */
index 1ad023b905e70ea701bc51da0382e0403ee3b19d,65ca62fa315520eb467a0d480e58186701f5e3ad..85ae3671f13fd580128f4af9f0cd997ad0210212
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * (C) Copyright 2007-2009 DENX Software Engineering
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  
  /* I2C */
  #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* so disable bit-banged I2C */
  #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address */
  #define CONFIG_SYS_I2C_SLAVE          0x7F
index 3927250ba0a6941e0852af4645b3a8a6380f7108,517d6f3dcb6c9155b9fbfc5e47f77501d25234cd..6875cf4c5b7c1229f170aa4a6446322c1a2756f9
@@@ -3,7 -3,23 +3,7 @@@
   * Copyright (C) 2010 Ilya Yanok, Emcraft Systems, yanok@emcraft.com
   *
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED  400000 /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_OFFSET 0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /*
   * General PCI
diff --combined include/configs/mpq101.h
index 2ab2f8ff191b83c275de1fdc84a1472c69b1b059,8ca3f76f0302b2c0b023d78488de3fda74da375a..55d93da5987afbaccd8c617e66176fe20ec2b1cf
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2011 Alex Dubov <oakad@yahoo.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C buses and peripherals
   */
- #define CONFIG_FSL_I2C         /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C        /* I2C with hardware support*/
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C_SPEED   400000 /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE   0x7f
- #define CONFIG_SYS_I2C_OFFSET  0x3000
- #define CONFIG_SYS_I2C2_OFFSET 0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* I2C RTC - M41T81 */
  #define CONFIG_RTC_M41T62
diff --combined include/configs/neo.h
index fede8b8b647caf890218a16ba8c43a5d20a6ac91,be1c9ff5a6af352c0de31800890fda292955e45f..5abb8b1a7521d822ecd87513f13ce29fc78af40b
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2007-2008
   * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  /*
   * I2C stuff
   */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
  
  /* RTC */
  #define CONFIG_RTC_DS1337
index 1453285f6cf66df67db2ba63bd0263a164e2ead5,09073e9489bc78fcd07501d3e23c531834ca4402..0997f49859b44f62a656a7da782450d5f2424105
@@@ -4,7 -4,23 +4,7 @@@
   * Configuration settings for the "Nomadik Hardware Kit" NHK-8815,
   * the evaluation board for the Nomadik 8815 System on Chip.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
  #ifndef __ASSEMBLY__
  #include <asm/arch/gpio.h>
  #define CONFIG_CMD_I2C
- #define CONFIG_SOFT_I2C
- #define CONFIG_SYS_I2C_SPEED  400000
+ #define CONFIG_SYS_I2C
+ #define       CONFIG_SYS_I2C_SOFT     1       /* I2C bit-banged       */
+ #define I2C_SOFT_DEFS
+ #define CONFIG_SYS_I2C_SOFT_SPEED     400000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  #define __SDA                 63
  #define __SCL                 62
  #define I2C_SDA(x)            nmk_gpio_set(__SDA, x)
diff --combined include/configs/ocotea.h
index 14d00abc62351e5b7226d86f3ecde92e6f82cabf,0bac61168b6953e0a3ad13b622bffe64d0bb1d9f..60ee8da5583a28a35af7131a72caafbb44d81598
@@@ -4,7 -4,23 +4,7 @@@
   * (C) Copyright 2005
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
diff --combined include/configs/otc570.h
index 76b078fa73b5aab7a4bda498d16f2f5ed0f014f4,010e1b940544c21d76de93b624f0cfd17a61c9ad..543209cb9d79e53935003e80659c0461abb548a1
@@@ -9,7 -9,23 +9,7 @@@
   *
   * Configuation settings for the esd OTC570 board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  /* RTC and I2C stuff */
  #define CONFIG_RTC_DS1338
  #define CONFIG_SYS_I2C_RTC_ADDR               0x68
- #undef CONFIG_HARD_I2C
- #define CONFIG_SOFT_I2C
- #define CONFIG_SYS_I2C_SPEED          100000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #ifdef CONFIG_SOFT_I2C
- # define CONFIG_I2C_CMD_TREE
- # define CONFIG_I2C_MULTI_BUS
+ #define CONFIG_SYS_I2C
+ #define       CONFIG_SYS_I2C_SOFT     /* I2C bit-banged       */
+ #ifdef CONFIG_SYS_I2C_SOFT
+ #define CONFIG_SYS_I2C_SOFT_SPEED     100000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  /* Configure data and clock pins for pio */
  # define I2C_INIT { \
        at91_set_pio_output(AT91_PIO_PORTB, 4, 0); \
  /* Set clock pin */
  # define I2C_SCL(bit)         at91_set_pio_value(AT91_PIO_PORTB, 5, bit)
  # define I2C_DELAY            udelay(2) /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
+ #endif /* CONFIG_SYS_I2C_SOFT */
  
  /*
   * BOOTP options
index a061610ac9cc4c787c57d58ef319c6ad0814f6f4,1d1ad3debf64a5b5bc551443689ec6b821ff7f1f..1b0be23dd36d8710014dc53c16d59b4b8aadc60b
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2010-2011 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                        /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support */
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C spd and slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x29} }
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x52
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES               {{0, 0x29}} /* Don't probe this addr */
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
  #define CONFIG_SYS_SPD_BUS_NUM                1 /* For rom_loc and flash bank */
  
  /*
diff --combined include/configs/p3p440.h
index 09d0e2342fcc84af81f8f5802579c36486f733e5,9f7642816cefae8674818e86a436d9575c762a8f..c4c50932c3e2e3ee926673c397591953365d5f3e
@@@ -4,7 -4,23 +4,7 @@@
   *
   * (C) Copyright 2002 Scott McNutt <smcnutt@artesyncp.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x69}  /* Don't probe these addrs      */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
+ #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} }   /* Don't probe these addrs */
  
  /*-----------------------------------------------------------------------
   * I2C RTC
index e4eaa66ebff0576694f893433112866dcb02c412,1104f92482dc22afa4597295cb2570bb80661134..5de8e98aca3dc68bc93a9921ae7e21d4e124a12f
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2006
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C               1           /* I2C with hardware support        */
- #undef        CONFIG_SOFT_I2C                     /* I2C bit-banged           */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa4>>1)
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
diff --combined include/configs/pdnb3.h
index 0a17abc499e356fe6d3bb735f99f4df3c392d27f,9aa112a261412f2f204e4867927b01543d708b43..c6640100677c865b12abb4bac09b02bc4342a039
@@@ -4,7 -4,23 +4,7 @@@
   *
   * Configuation settings for the PDNB3 board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
   */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C         1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          83000   /* 83 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     83000   /* 83 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
index 451a61dd34aba786d9263d40aef0b9820f49feb3,809d76439239b481d8e8d9a22c847c5e1fd9a77a..a51f2d4fafa318da752e140b07aa65e303c9119c
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2008
   * Gary Jennejohn, DENX Software Engineering GmbH, garyj@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C               1               /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                         /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50            /* base address */
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        2               /* bytes of address */
index 5ba47bf999ba08557986f5c8e2e40ea7201d193e,355c330c336a59d2ddd55ace83e327f223845ddd..c8bd02e710b2deb1b6d6c3e5c18ebfb725f94241
@@@ -4,7 -4,23 +4,7 @@@
   * (C) Copyright 2008
   * Feng Kan, Applied Micro Circuits Corp., fkan@amcc.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  #ifndef __CONFIG_H
  #define __CONFIG_H
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed                    */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define IIC0_BOOTPROM_ADDR    0x50
  #define IIC0_ALT_BOOTPROM_ADDR        0x54
  
  /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_NOPROBES       {0x50, 0x52, 0x53, 0x54}
+ #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x50}, {0, 0x52}, {0, 0x53}, {0, 0x54} }
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        2       /* Bytes of address             */
  
index b4c8e40d50e48f9d946f331aef3075519e99be43,89ae32b215ae2e3694debacc26cf53ae69e9b4f4..d0fafd71361e22d4eec0a22a31095fd2f4755e73
@@@ -5,7 -5,23 +5,7 @@@
   *
   * Configuation settings for the SAMSUNG Universal (s5pc100) board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_SOFT_I2C_GPIO_SCL s5pc110_gpio_get_nr(j4, 3)
  #define CONFIG_SOFT_I2C_GPIO_SDA s5pc110_gpio_get_nr(j4, 0)
  
- #define CONFIG_SOFT_I2C       1
- #define CONFIG_SYS_I2C_SPEED  50000
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SYS_MAX_I2C_BUS        7
  #define CONFIG_USB_GADGET
index eab81e7febbe2cbcedb313deab4ba2575b79f3b9,f7266aa3a1a50f2966396ce3df62e2667cdb2985..97a4008e367010fdd97b34aaf7e5ee9e081010f4
@@@ -4,7 -4,23 +4,7 @@@
   *
   * Configuation settings for the SAMSUNG Universal (EXYNOS4210) board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_SOFT_I2C_GPIO_SCL exynos4_gpio_part1_get_nr(b, 7)
  #define CONFIG_SOFT_I2C_GPIO_SDA exynos4_gpio_part1_get_nr(b, 6)
  
- #define CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0
  #define CONFIG_SOFT_I2C_READ_REPEATED_START
- #define CONFIG_SYS_I2C_SPEED  50000
  #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SYS_MAX_I2C_BUS        7
  
diff --combined include/configs/sacsng.h
index df20abb68d22b8db7fc4bab1f300835f49c7bca5,efbf6b69f0cdaaabf53e6711410fb8c9687e8d64..d63d0c4f54421d72cc9a3667fcb60c6671d2bdd1
   *
   * Configuration settings for the SACSng 8260 board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
   * If the software driver is chosen, there are some additional
   * configuration items that the driver uses to drive the port pins.
   */
- #undef  CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C               1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     400000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  /*
   * Software (bit-bang) I2C driver configuration
   */
- #ifdef CONFIG_SOFT_I2C
  #define I2C_PORT      3               /* Port A=0, B=1, C=2, D=3 */
  #define I2C_ACTIVE    (iop->pdir |=  0x00010000)
  #define I2C_TRISTATE  (iop->pdir &= ~0x00010000)
  #define I2C_SCL(bit)  if(bit) iop->pdat |=  0x00020000; \
                        else    iop->pdat &= ~0x00020000
  #define I2C_DELAY     udelay(20)      /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
  
  /* Define this to reserve an entire FLASH sector for
   * environment variables. Otherwise, the environment will be
diff --combined include/configs/sbc405.h
index 7a20d4d84cf4a90622b788d0f84824790eb7544b,d5eb74563a340e64ffb3830fc5786c6bbbe5752e..072f97e602b4af21aec6b6bc069dddcd86b8a832
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * (C) Copyright 2001
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  
  #define CONFIG_SYS_RX_ETH_BUFFER      16      /* use 16 rx buffer on 405 emac */
  
- #define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
- #undef  CONFIG_SOFT_I2C                       /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  /*-----------------------------------------------------------------------
   * PCI stuff
index afa587eeba3d2049505fa8a2210c5f067c6bbf13,9925d30341bb51d0c9fd3439d33ba4c11ff9dd19..6f912ed2c3afdc27c1f32e642f946b5bd041fb74
@@@ -5,7 -5,23 +5,7 @@@
   * Paul Gortmaker <paul.gortmaker@windriver.com>
   * Based on the MPC8349EMDS config.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #define CONFIG_OF_STDOUT_VIA_ALIAS    1
  
  /* I2C */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support*/
- #undef CONFIG_SOFT_I2C                        /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       {0x69}  /* Don't probe these addrs */
- #define CONFIG_SYS_I2C1_OFFSET        0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
- #define CONFIG_SYS_I2C_OFFSET CONFIG_SYS_I2C2_OFFSET
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69}, {1, 0x69} }
  /* could also use CONFIG_I2C_MULTI_BUS and CONFIG_SYS_SPD_BUS_NUM... */
  
  /* TSEC */
index 3aae95e345099d40ab898127337462dc7787978b,e700436c5343f54b91c9da9a207b13560d570dec..84be5246b91c270bf0157a962089e986cb626443
@@@ -3,7 -3,23 +3,7 @@@
   * Copyright 2007 Embedded Specialties, Inc.
   * Copyright 2004, 2007 Freescale Semiconductor.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C         /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
  
  /*
   * General PCI
index d740cfec8adee54f24a92e18dd30bd8325bdaa7d,b83658de8e40e73d59325f23b9624897633f6588..cf97db94c81d4283e67d0acad35f3a1d69c2323a
@@@ -7,7 -7,23 +7,7 @@@
   *
   * Srikanth Srinivasan (srikanth.srinivasan@freescale.com)
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C
   */
- #define       CONFIG_FSL_I2C          /* Use FSL common I2C driver */
- #define       CONFIG_HARD_I2C         /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_NOPROBES        {0x69} /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_OFFSET         0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /*
   * RapidIO MMU
diff --combined include/configs/sc3.h
index 8508c22e034b9335038f5e70fd356683bcd91f96,27859ee7db4896f8b40ba670456017f0ccaaf014..a96ffbcec3251c74bb34f97486e9aeb59d35d738
@@@ -6,7 -6,23 +6,7 @@@
   * (C) Copyright 2003
   * Juergen Beisert, EuroDesign embedded technologies, jbeisert@eurodsn.de
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
   * IIC stuff
   *-----------------------------------------------------------------------
   */
- #define  CONFIG_HARD_I2C              /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
+ #define  CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
  
  #define I2C_INIT
  #define I2C_ACTIVE 0
  #define I2C_TRISTATE 0
  
- #define CONFIG_SYS_I2C_SPEED          100000  /* use the standard 100kHz speed */
- #define CONFIG_SYS_I2C_SLAVE          0x7F            /* mask valid bits */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         100000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F    /* mask valid bits */
  
  #define CONFIG_RTC_DS1337
  #define CONFIG_SYS_I2C_RTC_ADDR 0x68
index c7718579c011edc1fc53e354d329741793d7c538,4048b6e2da784306d1da350a5d95022f5bb84626..2a24ef3c642b8ba77b691cea64f8563b0572c9fe
@@@ -2,7 -2,23 +2,7 @@@
   *  (C) Copyright 2010,2011
   *  NVIDIA Corporation <www.nvidia.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_BOARD_LATE_INIT                /* Make sure LCD init is complete */
  
  /* I2C */
- #define CONFIG_TEGRA_I2C
+ #define CONFIG_SYS_I2C_TEGRA
  #define CONFIG_SYS_I2C_INIT_BOARD
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_MAX_I2C_BUS                4
  #define CONFIG_SYS_I2C_SPEED          100000
  #define CONFIG_CMD_I2C
+ #define CONFIG_SYS_I2C
  
  /* SD/MMC */
  #define CONFIG_MMC
index 44ed7556d4eaa5fb2b10fb1ab2b9e9f55f0b5e12,e09069530c6cba970ce4c15531856187a236804d..d2dedac4edd78917bf1ab7c9549a2fbc33e9335b
@@@ -6,7 -6,20 +6,7 @@@
   * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com
   * Alain Saurel,            AMCC/IBM, alain.saurel@fr.ibm.com
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
index 383d1ce01367e0ab6d9b4c34357d12e5707d42ae,c683fab004867871136a3ed9ba1585474bf98540..17eb5f24552b1ac1652a3828f1c7a9d96b8edeae
@@@ -5,7 -5,23 +5,7 @@@
   *   Author: Andre Renaud <andre@bluewatersys.com>
   *   Author: Ryan Mallon <ryan@bluewatersys.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_SYS_PROMPT             "Snapper> "
  
  /* I2C - Bit-bashed */
- #define CONFIG_SOFT_I2C
- #define CONFIG_SYS_I2C_SPEED          100000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     100000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  #define CONFIG_SOFT_I2C_READ_REPEATED_START
- #define CONFIG_I2C_MULTI_BUS
  #define I2C_INIT do {                                                 \
                at91_set_gpio_output(AT91_PIN_PA23, 1);                 \
                at91_set_gpio_output(AT91_PIN_PA24, 1);                 \
index f5fe550a025f4492cf18081cbbdea6006c04301b,f1323eca2abc4dd7adbe14b3de15bc7d60941bec..e73f9c174c3a63cc42709e06bef23b867a1e2f78
@@@ -7,7 -7,23 +7,7 @@@
   * (C) Copyright 2002,2003 Motorola,Inc.
   * Xianghua Xiao <X.Xiao@motorola.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                       /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          102124  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      102124
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     102124
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /* I2C RTC */
  #define CONFIG_RTC_RX8025             /* Use Epson rx8025 rtc via i2c */
index 6d905dee267a9377a9431f11d17b76fd32170461,2a9b00c4ec50f12ed16582a7811f22940a47e1d8..564f3645c9a52db0f908c1b1b78ff2244590c633
@@@ -4,7 -4,20 +4,7 @@@
   *
   * Configuation settings for the SPC1920 board.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __H
   */
  #if defined(CONFIG_CMD_I2C)
  /* enable I2C and select the hardware/software driver */
- #undef CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define CONFIG_SOFT_I2C                1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
- #ifdef CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000   /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)   if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                       else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY      udelay(2)       /* 1/4 I2C clock duration */
- #endif /* CONFIG_SOFT_I2C */
  #endif
  
  /*-----------------------------------------------------------------------
diff --combined include/configs/stxgp3.h
index 80b46a0033a56add2395c61d468e28d5b9e9c501,d7c079740ee2f7a4f689587b48d70f2c6996360f..c7689a729045ba785961f579bffc3a9b98c3cca9
@@@ -7,7 -7,23 +7,7 @@@
   * (C) Copyright 2002,2003 Motorola,Inc.
   * Xianghua Xiao <X.Xiao@motorola.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /* mpc8560ads board configuration file */
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
  #if 0
  #define CONFIG_SYS_I2C_NOPROBES        {0x00}  /* Don't probe these addrs */
  #else
  /* I did the 'if 0' so we could keep the syntax above if ever needed. */
  #undef CONFIG_SYS_I2C_NOPROBES
  #endif
- #define CONFIG_SYS_I2C_OFFSET         0x3000
  
  /* RapdIO Map configuration, mapped 1:1.
  */
diff --combined include/configs/stxssa.h
index fc0252339e8f530bf9d5b5b6b2eb5c651824ea81,3e3ede42d7f4f73295918a7c779a1ed1d5d881b6..f5f7f5434887dbd448654649d0941b60ea6736bc
@@@ -7,7 -7,23 +7,7 @@@
   * (C) Copyright 2002,2003 Motorola,Inc.
   * Xianghua Xiao <X.Xiao@motorola.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /* mpc8560ads board configuration file */
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                        /* Use FSL common I2C driver */
- #define  CONFIG_HARD_I2C              /* I2C with hardware support*/
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
  #undef CONFIG_SYS_I2C_NOPROBES
- #define CONFIG_SYS_I2C_OFFSET         0x3000
  
  /* I2C RTC */
  #define CONFIG_RTC_DS1337             /* This is really a DS1339 RTC  */
diff --combined include/configs/t3corp.h
index ce65e39dafbb2c598765f0e66e7ca752a20dc24f,dfd8db4b1c8f218b000fe05ac831507a1b899fae..9ab99244cfdbb673165703ca73628fe93366fa5b
@@@ -2,7 -2,20 +2,7 @@@
   * (C) Copyright 2010
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_SYS_I2C_SPEED                  400000  /* I2C speed */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0                 400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR            (0xa8>>1)
diff --combined include/configs/t4qds.h
index 0344d0d973da2aab6cc55a1a0465de969f205928,f7999fce0d05ec1f2451f2860f93d74b9a1c2bf7..1ed53dbbb1ee5a38283cf86b0f0712297844c1cf
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright 2011-2012 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -429,14 -445,15 +429,15 @@@ unsigned long get_board_ddr_clk(void)
  #define CONFIG_FIT_VERBOSE    /* enable fit_format_{error,warning}() */
  
  /* I2C */
- #define CONFIG_FSL_I2C                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C               /* I2C with hardware support */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED          100000  /* I2C speed */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x118000
- #define CONFIG_SYS_I2C2_OFFSET                0x118100
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      100000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x118000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     100000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x118100
  #define I2C_MUX_PCA_ADDR_PRI          0x77 /* I2C bus multiplexer,primary */
  #define I2C_MUX_PCA_ADDR_SEC          0x76 /* I2C bus multiplexer,secondary */
  
diff --combined include/configs/taihu.h
index ac8e57a93e3475e59db82c5c560284aadc9576fb,d43894c4deeb6f0dba833401bc9d6372dd555c69..e8d191e7f9b757f15f08b0a873bec6f0f3dee53b
@@@ -5,7 -5,23 +5,7 @@@
   * (C) Copyright 2005-2007
   * Beijing UD Technology Co., Ltd., taihusupport@amcc.com
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  #ifndef __CONFIG_H
   * I2C stuff
   *-----------------------------------------------------------------------
   */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
- #define CONFIG_SYS_I2C_NOPROBES       { 0x69 } /* avoid i2c probe hangup (why?) */
+ #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} } /* avoid i2c probe hangup (?) */
  #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 6 /* 24C02 requires 5ms delay */
  
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50    /* I2C boot EEPROM (24C02W)     */
index 6dbed7d2d8b57e8eb4f9c795774df01753477883,20989a7fdb24120842f607141068d5143693de19..3dbfc6ad1d53c5f5f01d92071efccf323a912808
@@@ -2,7 -2,20 +2,7 @@@
   * (C) Copyright 2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #undef CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50
index 21ca4bbd443cbb028f2b913b301c1096b0a5d705,b784263ebcd598f448f24638a045413c58ad82a3..a3242fe61299b2d34fb0d318fa04235cdf6c584c
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2010-2012
   * NVIDIA Corporation <www.nvidia.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __TEGRA_COMMON_POST_H
  #endif
  
  /* remove I2C support */
- #ifdef CONFIG_TEGRA_I2C
- #undef CONFIG_TEGRA_I2C
+ #ifdef CONFIG_SYS_I2C_TEGRA
+ #undef CONFIG_SYS_I2C_TEGRA
  #endif
  #ifdef CONFIG_CMD_I2C
  #undef CONFIG_CMD_I2C
index ba5b6071d20c8a71bd2410e71a1abf4615f47d33,884670da25ae41f409e142f367eb0e992ec43d8a..65dabde54ff1a93545a91279ba1f8fe4af85e640
@@@ -4,7 -4,23 +4,7 @@@
   *
   * Configuation settings for the TOP9000 CPU module with AT91SAM9XE.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  /*
   * top9000 with at91sam9xe256 or at91sam9xe512
  #define CONFIG_CMD_USB
  
  /* I2C support must always be enabled */
- #define CONFIG_SOFT_I2C
  #define CONFIG_CMD_I2C
- #define CONFIG_SYS_I2C_SPEED          400000
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_I2C_MULTI_BUS
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     400000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7F
  #define I2C0_PORT                     AT91_PIO_PORTA
  #define SDA0_PIN                      23
  #define SCL0_PIN                      24
diff --combined include/configs/trats.h
index 465ade6f0290f8fc661471483e5d1a9afa7704e1,926b209c0448637085ca00ca040a8fd560a38cd3..9b6aac96e675f7c6a0c3f8939d3a4c4abe857f6d
@@@ -4,7 -4,23 +4,7 @@@
   *
   * Configuation settings for the SAMSUNG TRATS (EXYNOS4210) board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_SYS_INIT_SP_ADDR       (CONFIG_SYS_LOAD_ADDR - GENERATED_GBL_DATA_SIZE)
  #define CONFIG_SYS_CACHELINE_SIZE       32
  
- #define CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     50000
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  #define CONFIG_SOFT_I2C_READ_REPEATED_START
  #define CONFIG_SYS_I2C_INIT_BOARD
- #define CONFIG_SYS_I2C_SPEED  50000
  #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SOFT_I2C_MULTI_BUS
  #define CONFIG_SYS_MAX_I2C_BUS        15
index 9567cc6e961b15c7a8e62db63900dfcac5d5a6f7,209c60e43efada124959214949c86e4058668470..8e03f6f4c4b76e9157bd5ef5fb5c47fcf8dc7f2d
@@@ -2,7 -2,23 +2,7 @@@
   *  (C) Copyright 2010-2012
   *  NVIDIA Corporation <www.nvidia.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_CMD_SF
  
  /* I2C */
- #define CONFIG_TEGRA_I2C
+ #define CONFIG_SYS_I2C_TEGRA
  #define CONFIG_SYS_I2C_INIT_BOARD
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_MAX_I2C_BUS                4
  #define CONFIG_SYS_I2C_SPEED          100000
  #define CONFIG_CMD_I2C
+ #define CONFIG_SYS_I2C
  
  /* SD/MMC */
  #define CONFIG_MMC
index 8277f8d388ec598777505436ee09651881ca96ba,218feeb232fd9ff60cd3edaf6bd87c1e00136c95..0c97ab1894eaa8b3ed2706f26d73c7125c1ab519
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * Copyright (C) ST-Ericsson SA 2009
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
   */
  #define CONFIG_U8500_I2C
  #undef        CONFIG_HARD_I2C                 /* I2C with hardware support */
- #undef        CONFIG_SOFT_I2C                 /* I2C bit-banged */
  #define CONFIG_I2C_MULTI_BUS
  #define CONFIG_SYS_I2C_SPEED          100000
  #define CONFIG_SYS_I2C_SLAVE          0       /* slave addr of controller */
diff --combined include/configs/uc100.h
index 43acf26679d6c94f4ed4c142ddfa433ebf7bd33f,ce122b46eca9bee1045026483db68f116f654b01..8bf7353bc1f3653f33e008c329acb127d3ed2189
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2005
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
   */
  
  /* enable I2C and select the hardware/software driver */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C         1       /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0xFE
- #ifdef CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     93000 /* 93 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0xFE
  /*
   * Software (bit-bang) I2C driver configuration
   */
  #define I2C_SCL(bit)  if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
                        else    immr->im_cpm.cp_pbdat &= ~PB_SCL
  #define I2C_DELAY     udelay(2)       /* 1/4 I2C clock duration */
- #endif        /* CONFIG_SOFT_I2C */
  
  /*-----------------------------------------------------------------------
   * I2C EEPROM (24C164)
index 3088409271a2dff2614011cbc9ae087fca3fc0a9,4815664ab9b49092fe57743ff6b99551f68e23f4..bf044456ce6631ef9ac9e262a237a2337fe06b5c
@@@ -7,7 -7,23 +7,7 @@@
   * Matthew E. Karger, karger@arlut.utexas.edu
   * Applied Research Laboratories, The University of Texas at Austin
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -219,8 -235,7 +219,7 @@@ protect on ${u-boot_startaddr} ${u-boot
   *------------------------------------------------------------------*/
  #if 1
  #define CONFIG_HARD_I2C               1               /* To enable I2C support        */
- #undef  CONFIG_SOFT_I2C                               /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_SPEED          400000
  #define CONFIG_SYS_I2C_SLAVE          0x7F
  #endif
  
diff --combined include/configs/vct.h
index 8258ccd8158567614b567e45403bc4c9e4aa8bbb,fbdb728498f43875b6e8965e8de20be5114c0e88..85a6c1113747423e6280d88649c9fcd44a013b6f
@@@ -1,7 -1,20 +1,7 @@@
  /*
   * (C) Copyright 2008 Stefan Roese <sr@denx.de>, DENX Software Engineering
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C/EEPROM
   */
- #undef        CONFIG_HARD_I2C                 /* I2C with hardware support    */
- #define       CONFIG_SOFT_I2C                 /* I2C bit-banged               */
- #define CONFIG_SYS_I2C_SPEED          83000   /* 83 kHz is supposed to work   */
- #define CONFIG_SYS_I2C_SLAVE          0x7f
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT           /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     83000   /* 83 kHz is supposed to work */
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     0x7f
  
  /*
   * Software (bit-bang) I2C driver configuration
@@@ -324,7 -336,7 +323,7 @@@ int vct_gpio_get(int pin)
  #undef CONFIG_CMD_USB
  
  #undef CONFIG_SMC911X
- #undef CONFIG_SOFT_I2C
+ #undef CONFIG_SYS_I2C_SOFT
  #undef CONFIG_SOURCE
  #undef CONFIG_SYS_LONGHELP
  #undef CONFIG_TIMESTAMP
index 223321c6d3d6c83a4bdf593d48515efdd768cd34,9aba5bc9a540dd1ec5e84d6c0b0d43f2633e06f1..5a7a066377ee28e2e14c84a4cee95fa1fa3ee0dd
@@@ -3,7 -3,20 +3,7 @@@
   *
   * Configuration settings for the Freescale Vybrid vf610twr board.
   *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.       See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_PHYLIB
  #define CONFIG_PHY_MICREL
  
+ /* I2C Configs */
+ #define CONFIG_CMD_I2C
+ #define CONFIG_HARD_I2C
+ #define CONFIG_I2C_MXC
+ #define CONFIG_SYS_I2C_BASE           I2C0_BASE_ADDR
+ #define CONFIG_SYS_I2C_SPEED          100000
  #define CONFIG_BOOTDELAY              3
  
  #define CONFIG_LOADADDR                       0x82000000
index 817d36f17e0e5be426c704a82fa9f754dd835f50,5c43c1bea3b1072f98dbfe8fc6987c34e717c175..e171ae4c404b51db9bf16c8d5393da15f07c47f7
@@@ -5,7 -5,23 +5,7 @@@
   *
   * Configuation settings for the VL_MA2SC board.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_SYS_I2C_SLAVE                  0               /* not used */
  
  #ifndef CONFIG_HARD_I2C
- #define CONFIG_SOFT_I2C
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_SOFT                   /* I2C bit-banged */
+ #define CONFIG_SYS_I2C_SOFT_SPEED     CONFIG_SYS_I2C_SPEED
+ #define CONFIG_SYS_I2C_SOFT_SLAVE     CONFIG_SYS_I2C_SLAVE
  
  /* Software  I2C driver configuration */
  #define I2C_DELAY     udelay(2500000/CONFIG_SYS_I2C_SPEED)
  
  #define AT91_PIN_SDA  (1<<4)          /* AT91C_PIO_PB4 */
index 0cd838e192492904243d5ff11b323d6b806c7fb7,222f4ce2d4de1a0b0589ebc4c3764a39bfc626f6..b450ab5e17423caad8daa142ddd31aa443ce1a63
@@@ -8,7 -8,23 +8,7 @@@
   * reinhard.arlt@esd-electronics.de
   * Based on the MPC8349EMDS config.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
  #define CONFIG_OF_STDOUT_VIA_ALIAS
  
  /* I2C */
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_HARD_I2C               /* I2C with hardware support*/
- #undef CONFIG_SOFT_I2C                /* I2C bit-banged */
- #define CONFIG_FSL_I2C
- #define CONFIG_I2C_CMD_TREE
- #define CONFIG_SYS_I2C_SPEED  400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE  0x7F
- #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x69} } /* Don't probe these addrs */
- #define CONFIG_SYS_I2C1_OFFSET        0x3000
- #define CONFIG_SYS_I2C2_OFFSET        0x3100
- #define CONFIG_SYS_I2C_OFFSET CONFIG_SYS_I2C1_OFFSET
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  /* could also use CONFIG_I2C_MULTI_BUS and CONFIG_SYS_SPD_BUS_NUM... */
  
  #define CONFIG_SYS_I2C_8574_ADDR2       0x20    /* I2C1, PCF8574 */
diff --combined include/configs/walnut.h
index e24295cf14a37684a95ab4d4bfb0bd2108cb1de5,bb81b2b587262760660927c0d019c5342f5a220b..b23824bd0abe2096d5803e2925403e56fc08c085
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2000-2005
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -79,7 -95,7 +79,7 @@@
   * I2C stuff
   *-----------------------------------------------------------------------
   */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
index ed3eda1f0f992c9144338e4951b1376f6fa02ac5,34e451d0c748cd6025942dd7363c54a018cfc4c1..d5c7e3bbd6e0f8e01b8f3d4fa37501ab6a85b34f
@@@ -2,7 -2,23 +2,7 @@@
   *  (C) Copyright 2010-2012
   *  NVIDIA Corporation <www.nvidia.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __CONFIG_H
  #define CONFIG_BOARD_EARLY_INIT_F
  
  /* I2C */
- #define CONFIG_TEGRA_I2C
+ #define CONFIG_SYS_I2C_TEGRA
  #define CONFIG_SYS_I2C_INIT_BOARD
- #define CONFIG_I2C_MULTI_BUS
- #define CONFIG_SYS_MAX_I2C_BUS                4
  #define CONFIG_SYS_I2C_SPEED          100000
  #define CONFIG_CMD_I2C
+ #define CONFIG_SYS_I2C
  
  /* SD/MMC */
  #define CONFIG_MMC
index 28af3cba5add47c00b08af48a648837d53d29bdb,dab7d39af7f5745c45d82a1fbce9196178c1584c..ea270509c1e405ab40faf3e207be098c88207946
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * (C) Copyright 2002 Scott McNutt <smcnutt@artesyncp.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /*
@@@ -129,11 -145,11 +129,11 @@@ extern void out32(unsigned int, unsigne
  /*
   * I2C
   */
- #define CONFIG_HARD_I2C                       1       /* I2C with hardware support */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7f
- #define CONFIG_I2C_MULTI_BUS
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7f
  
  /* I2C EEPROM */
  #define CONFIG_SYS_I2C_EEPROM_ADDR            0x50
index 51bdd095eb0acdeebd27555ce4b1d70af2e7c603,719a4904d48e22178d9382a60a170e9c2033c2fb..97ce3eb54276823470a8cd8bb8c18bcb909f495e
@@@ -2,7 -2,23 +2,7 @@@
   * Copyright 2009 Extreme Engineering Solutions, Inc.
   * Copyright 2007-2008 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -242,13 -258,14 +242,14 @@@ extern unsigned long get_board_sys_clk(
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                               /* I2C with hardware support */
- #define CONFIG_SYS_I2C_SPEED          100000  /* M41T00 only supports 100 KHz */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
- #define CONFIG_I2C_MULTI_BUS
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      100000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     100000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /* PEX8518 slave I2C interface */
  #define CONFIG_SYS_I2C_PEX8518_ADDR   0x70
index c20935dfcf382889027133df220cd0983357dc04,e55635c9d6256952e6cceb5e17120fa1cfde4419..372135a89f9a65568c1987545189080740c53cdd
@@@ -2,7 -2,23 +2,7 @@@
   * Copyright 2008 Extreme Engineering Solutions, Inc.
   * Copyright 2004-2008 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                               /* I2C with hardware support */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
- #define CONFIG_I2C_MULTI_BUS
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /* I2C EEPROM */
  #define CONFIG_SYS_I2C_EEPROM_ADDR            0x50
index 6cf35f31054003bee788d8e149cc820416cc6e4b,bdfe0baa584946a27ea9ce844b262586d0d6f8db..31330eaa30c6a2f8236be6505abd981d0c494566
@@@ -2,7 -2,23 +2,7 @@@
   * Copyright 2008 Extreme Engineering Solutions, Inc.
   * Copyright 2007-2008 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -242,13 -258,15 +242,15 @@@ extern unsigned long get_board_ddr_clk(
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                               /* I2C with hardware support */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
- #define CONFIG_I2C_MULTI_BUS
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
+ #define CONFIG_SYS_I2C_NOPROBES               { {0, 0x69} }
  
  /* PEX8518 slave I2C interface */
  #define CONFIG_SYS_I2C_PEX8518_ADDR   0x70
index 5a4125193a79ad6ec10316a58cd3fa010ea77c32,a8be3f62abfd646c3324c0c9c525dc3377c6b865..340d4be4c6f197344b75564065a1d3c0aa26a7c2
@@@ -2,7 -2,22 +2,7 @@@
   * Copyright 2010 Extreme Engineering Solutions, Inc.
   * Copyright 2007-2008 Freescale Semiconductor, Inc.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /*
@@@ -234,13 -249,14 +234,14 @@@ extern unsigned long get_board_ddr_clk(
  /*
   * I2C
   */
- #define CONFIG_FSL_I2C                                /* Use FSL common I2C driver */
- #define CONFIG_HARD_I2C                               /* I2C with hardware support */
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
- #define CONFIG_SYS_I2C_OFFSET         0x3000
- #define CONFIG_SYS_I2C2_OFFSET                0x3100
- #define CONFIG_I2C_MULTI_BUS
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_FSL
+ #define CONFIG_SYS_FSL_I2C_SPEED      400000
+ #define CONFIG_SYS_FSL_I2C_SLAVE      0x7F
+ #define CONFIG_SYS_FSL_I2C_OFFSET     0x3000
+ #define CONFIG_SYS_FSL_I2C2_SPEED     400000
+ #define CONFIG_SYS_FSL_I2C2_SLAVE     0x7F
+ #define CONFIG_SYS_FSL_I2C2_OFFSET    0x3100
  
  /* I2C DS7505 temperature sensor */
  #define CONFIG_DTT_LM75
index 2c1de321bb17ab98e65455d3c251442728dd4665,e814cfd26230c64b697a97e48e7ebdd6699947ac..4d3abf08bd717bbf91e8a38f6bf9334ba4c60eb5
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2005-2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define CONFIG_SYS_I2C_MULTI_EEPROMS
  #define CONFIG_SYS_I2C_EEPROM_ADDR    (0xa8>>1)
diff --combined include/configs/yucca.h
index e3b0840ced24c33e6365a9fd460acb68bdc8216f,33a82d9269c87cc32e02113f70826730f029f00d..5d584fbad4827f4317eaad0efc802f576978eb4b
@@@ -1,7 -1,23 +1,7 @@@
  /*
   * (C) Copyright 2004 Paul Reynolds <PaulReynolds@lhsolutions.com>
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_SYS_I2C_SPEED          400000  /* I2C speed and slave address  */
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
  
  #define IIC0_BOOTPROM_ADDR    0x50
  #define IIC0_ALT_BOOTPROM_ADDR        0x54
  
  /* Don't probe these addrs */
- #define CONFIG_SYS_I2C_NOPROBES       {0x50, 0x52, 0x53, 0x54}
+ #define CONFIG_SYS_I2C_NOPROBES       { {0, 0x50}, {0, 0x52}, {0, 0x53}, {0, 0x54} }
  
  /* #if defined(CONFIG_CMD_EEPROM) */
  /* #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 */ /* I2C boot EEPROM              */
diff --combined include/configs/zeus.h
index 04448d62619a9e83cfe91647d12df59441de9da8,b653993700345362ccd85d1532e9aade18d7d3c4..386f9deb701f8dc50922c57e7ca15ec31b7ecbf9
@@@ -2,7 -2,23 +2,7 @@@
   * (C) Copyright 2007
   * Stefan Roese, DENX Software Engineering, sr@denx.de.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+ 
   */
  
  /************************************************************************
  /*-----------------------------------------------------------------------
   * I2C
   *----------------------------------------------------------------------*/
- #define CONFIG_HARD_I2C               1               /* I2C with hardware support    */
- #undef        CONFIG_SOFT_I2C                         /* I2C bit-banged               */
- #define CONFIG_PPC4XX_I2C             /* use PPC4xx driver            */
- #define CONFIG_SYS_I2C_SPEED          400000          /* I2C speed and slave address  */
- #define CONFIG_SYS_I2C_SLAVE          0x7F
+ #define CONFIG_SYS_I2C
+ #define CONFIG_SYS_I2C_PPC4XX
+ #define CONFIG_SYS_I2C_PPC4XX_CH0
+ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0         400000
+ #define CONFIG_SYS_I2C_PPC4XX_SLAVE_0         0x7F
  
  /* these are for the ST M24C02 2kbit serial i2c eeprom */
  #define CONFIG_SYS_I2C_EEPROM_ADDR    0x50            /* base address */
diff --combined include/fdtdec.h
index f2ac13bee8fa2b7ed171318eaf001bffd3792f5a,c5d3b2b292189ff1d644e666c0172652c400c5bf..6bf83bf7c1a5b25d4af43824973230452cec86b1
@@@ -1,6 -1,22 +1,6 @@@
  /*
   * Copyright (c) 2011 The Chromium OS Authors.
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #ifndef __fdtdec_h
@@@ -84,6 -100,7 +84,7 @@@ enum fdt_compat_id 
        COMPAT_MAXIM_98095_CODEC,       /* MAX98095 Codec */
        COMPAT_INFINEON_SLB9635_TPM,    /* Infineon SLB9635 TPM */
        COMPAT_INFINEON_SLB9645_TPM,    /* Infineon SLB9645 TPM */
+       COMPAT_SAMSUNG_EXYNOS5_I2C,     /* Exynos5 High Speed I2C Controller */
  
        COMPAT_COUNT,
  };
diff --combined include/i2c.h
index bbea29b47e3f30580c5fd758243cd00aa35803ac,a8074acd85d0e04ed5d505e80ee38ba34abe4a05..d8674efe58b64a42daa31e00a7639982521c2890
@@@ -1,8 -1,28 +1,12 @@@
  /*
+  * Copyright (C) 2009 Sergey Kubushyn <ksi@koi8.net>
+  * Copyright (C) 2009 - 2013 Heiko Schocher <hs@denx.de>
+  * Changes for multibus/multiadapter I2C support.
+  *
   * (C) Copyright 2001
   * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com.
   *
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   *
   * The original I2C interface was
   *   (C) 2000 by Paolo Scaffardi (arsenio@tin.it)
   */
  #define I2C_RXTX_LEN  128     /* maximum tx/rx buffer length */
  
- #ifdef        CONFIG_I2C_MULTI_BUS
- #define       MAX_I2C_BUS                     2
- #define       I2C_MULTI_BUS                   1
+ #if !defined(CONFIG_SYS_I2C_MAX_HOPS)
+ /* no muxes used bus = i2c adapters */
+ #define CONFIG_SYS_I2C_DIRECT_BUS     1
+ #define CONFIG_SYS_I2C_MAX_HOPS               0
+ #define CONFIG_SYS_NUM_I2C_BUSES      ll_entry_count(struct i2c_adapter, i2c)
  #else
- #define       MAX_I2C_BUS                     1
- #define       I2C_MULTI_BUS                   0
- #endif
- #if !defined(CONFIG_SYS_MAX_I2C_BUS)
- #define CONFIG_SYS_MAX_I2C_BUS                MAX_I2C_BUS
+ /* we use i2c muxes */
+ #undef CONFIG_SYS_I2C_DIRECT_BUS
  #endif
  
  /* define the I2C bus number for RTC and DTT if not already done */
  #define CONFIG_SYS_SPD_BUS_NUM                0
  #endif
  
+ struct i2c_adapter {
+       void            (*init)(struct i2c_adapter *adap, int speed,
+                               int slaveaddr);
+       int             (*probe)(struct i2c_adapter *adap, uint8_t chip);
+       int             (*read)(struct i2c_adapter *adap, uint8_t chip,
+                               uint addr, int alen, uint8_t *buffer,
+                               int len);
+       int             (*write)(struct i2c_adapter *adap, uint8_t chip,
+                               uint addr, int alen, uint8_t *buffer,
+                               int len);
+       uint            (*set_bus_speed)(struct i2c_adapter *adap,
+                               uint speed);
+       int             speed;
+       int             slaveaddr;
+       int             init_done;
+       int             hwadapnr;
+       char            *name;
+ };
+ #define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \
+               _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \
+       { \
+               .init           =       _init, \
+               .probe          =       _probe, \
+               .read           =       _read, \
+               .write          =       _write, \
+               .set_bus_speed  =       _set_speed, \
+               .speed          =       _speed, \
+               .slaveaddr      =       _slaveaddr, \
+               .init_done      =       0, \
+               .hwadapnr       =       _hwadapnr, \
+               .name           =       #_name \
+ };
+ #define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \
+                       _set_speed, _speed, _slaveaddr, _hwadapnr) \
+       ll_entry_declare(struct i2c_adapter, _name, i2c) = \
+       U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \
+                _set_speed, _speed, _slaveaddr, _hwadapnr, _name);
+ struct i2c_adapter *i2c_get_adapter(int index);
+ #ifndef CONFIG_SYS_I2C_DIRECT_BUS
+ struct i2c_mux {
+       int     id;
+       char    name[16];
+ };
+ struct i2c_next_hop {
+       struct i2c_mux          mux;
+       uint8_t         chip;
+       uint8_t         channel;
+ };
+ struct i2c_bus_hose {
+       int     adapter;
+       struct i2c_next_hop     next_hop[CONFIG_SYS_I2C_MAX_HOPS];
+ };
+ #define I2C_NULL_HOP  {{-1, ""}, 0, 0}
+ extern struct i2c_bus_hose    i2c_bus[];
+ #define I2C_ADAPTER(bus)      i2c_bus[bus].adapter
+ #else
+ #define I2C_ADAPTER(bus)      bus
+ #endif
+ #define       I2C_BUS                 gd->cur_i2c_bus
+ #define       I2C_ADAP_NR(bus)        i2c_get_adapter(I2C_ADAPTER(bus))
+ #define       I2C_ADAP                I2C_ADAP_NR(gd->cur_i2c_bus)
+ #define I2C_ADAP_HWNR         (I2C_ADAP->hwadapnr)
+ #ifndef CONFIG_SYS_I2C_DIRECT_BUS
+ #define I2C_MUX_PCA9540_ID    1
+ #define I2C_MUX_PCA9540               {I2C_MUX_PCA9540_ID, "PCA9540B"}
+ #define I2C_MUX_PCA9542_ID    2
+ #define I2C_MUX_PCA9542               {I2C_MUX_PCA9542_ID, "PCA9542A"}
+ #define I2C_MUX_PCA9544_ID    3
+ #define I2C_MUX_PCA9544               {I2C_MUX_PCA9544_ID, "PCA9544A"}
+ #define I2C_MUX_PCA9547_ID    4
+ #define I2C_MUX_PCA9547               {I2C_MUX_PCA9547_ID, "PCA9547A"}
+ #endif
  #ifndef I2C_SOFT_DECLARATIONS
  # if defined(CONFIG_MPC8260)
  #  define I2C_SOFT_DECLARATIONS volatile ioport_t *iop = ioport_addr((immap_t *)CONFIG_SYS_IMMR, I2C_PORT);
@@@ -97,26 -197,103 +181,103 @@@ void i2c_init_board(void)
  void i2c_board_late_init(void);
  #endif
  
- #if defined(CONFIG_I2C_MUX)
+ #ifdef CONFIG_SYS_I2C
+ /*
+  * i2c_get_bus_num:
+  *
+  *  Returns index of currently active I2C bus.  Zero-based.
+  */
+ unsigned int i2c_get_bus_num(void);
+ /*
+  * i2c_set_bus_num:
+  *
+  *  Change the active I2C bus.  Subsequent read/write calls will
+  *  go to this one.
+  *
+  *    bus - bus index, zero based
+  *
+  *    Returns: 0 on success, not 0 on failure
+  *
+  */
+ int i2c_set_bus_num(unsigned int bus);
+ /*
+  * i2c_init_all():
+  *
+  * Initializes all I2C adapters in the system. All i2c_adap structures must
+  * be initialized beforehead with function pointers and data, including
+  * speed and slaveaddr. Returns 0 on success, non-0 on failure.
+  */
+ void i2c_init_all(void);
+ /*
+  * Probe the given I2C chip address.  Returns 0 if a chip responded,
+  * not 0 on failure.
+  */
+ int i2c_probe(uint8_t chip);
+ /*
+  * Read/Write interface:
+  *   chip:    I2C chip address, range 0..127
+  *   addr:    Memory (register) address within the chip
+  *   alen:    Number of bytes to use for addr (typically 1, 2 for larger
+  *              memories, 0 for register type devices with only one
+  *              register)
+  *   buffer:  Where to read/write the data
+  *   len:     How many bytes to read/write
+  *
+  *   Returns: 0 on success, not 0 on failure
+  */
+ int i2c_read(uint8_t chip, unsigned int addr, int alen,
+                               uint8_t *buffer, int len);
+ int i2c_write(uint8_t chip, unsigned int addr, int alen,
+                               uint8_t *buffer, int len);
+ /*
+  * Utility routines to read/write registers.
+  */
+ uint8_t i2c_reg_read(uint8_t addr, uint8_t reg);
+ void i2c_reg_write(uint8_t addr, uint8_t reg, uint8_t val);
+ /*
+  * i2c_set_bus_speed:
+  *
+  *  Change the speed of the active I2C bus
+  *
+  *    speed - bus speed in Hz
+  *
+  *    Returns: new bus speed
+  *
+  */
+ unsigned int i2c_set_bus_speed(unsigned int speed);
  
- typedef struct _mux {
-       uchar   chip;
-       uchar   channel;
-       char    *name;
-       struct _mux     *next;
- } I2C_MUX;
+ /*
+  * i2c_get_bus_speed:
+  *
+  *  Returns speed of currently active I2C bus in Hz
+  */
  
- typedef struct _mux_device {
-       int     busid;
-       I2C_MUX *mux;   /* List of muxes, to reach the device */
-       struct _mux_device      *next;
- } I2C_MUX_DEVICE;
+ unsigned int i2c_get_bus_speed(void);
  
- I2C_MUX_DEVICE        *i2c_mux_search_device(int id);
- I2C_MUX_DEVICE *i2c_mux_ident_muxstring (uchar *buf);
- int i2x_mux_select_mux(int bus);
- int i2c_mux_ident_muxstring_f (uchar *buf);
+ /*
+  * i2c_reloc_fixup:
+  *
+  * Adjusts I2C pointers after U-Boot is relocated to DRAM
+  */
+ void i2c_reloc_fixup(void);
+ #if defined(CONFIG_SYS_I2C_SOFT)
+ void i2c_soft_init(void);
+ void i2c_soft_active(void);
+ void i2c_soft_tristate(void);
+ int i2c_soft_read(void);
+ void i2c_soft_sda(int bit);
+ void i2c_soft_scl(int bit);
+ void i2c_soft_delay(void);
  #endif
+ #else
  
  /*
   * Probe the given I2C chip address.  Returns 0 if a chip responded,
@@@ -219,6 -396,21 +380,21 @@@ int i2c_set_bus_speed(unsigned int)
   */
  
  unsigned int i2c_get_bus_speed(void);
+ #endif /* CONFIG_SYS_I2C */
+ /*
+  * only for backwardcompatibility, should go away if we switched
+  * completely to new multibus support.
+  */
+ #if defined(CONFIG_SYS_I2C) || defined(CONFIG_I2C_MULTI_BUS)
+ # if !defined(CONFIG_SYS_MAX_I2C_BUS)
+ #  define CONFIG_SYS_MAX_I2C_BUS              2
+ # endif
+ # define I2C_MULTI_BUS                                0
+ #else
+ # define CONFIG_SYS_MAX_I2C_BUS               1
+ # define I2C_MULTI_BUS                                0
+ #endif
  
  /* NOTE: These two functions MUST be always_inline to avoid code growth! */
  static inline unsigned int I2C_GET_BUS(void) __attribute__((always_inline));
diff --combined lib/fdtdec.c
index 5952450b965aec8dbaa7a15aaec524aa729e5171,4d1f3fedab6addc31ab372e5cec3153df9d0c761..dc358562d19fa25ee4c6c47c716a7584f41ad6cf
@@@ -1,6 -1,22 +1,6 @@@
  /*
   * Copyright (c) 2011 The Chromium OS Authors.
 - * See file CREDITS for list of people who contributed to this
 - * project.
 - *
 - * This program is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU General Public License as
 - * published by the Free Software Foundation; either version 2 of
 - * the License, or (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 - * MA 02111-1307 USA
 + * SPDX-License-Identifier:   GPL-2.0+
   */
  
  #include <common.h>
@@@ -57,6 -73,7 +57,7 @@@ static const char * const compat_names[
        COMPAT(MAXIM_98095_CODEC, "maxim,max98095-codec"),
        COMPAT(INFINEON_SLB9635_TPM, "infineon,slb9635-tpm"),
        COMPAT(INFINEON_SLB9645_TPM, "infineon,slb9645-tpm"),
+       COMPAT(SAMSUNG_EXYNOS5_I2C, "samsung,exynos5-hsi2c"),
  };
  
  const char *fdtdec_get_compatible(enum fdt_compat_id id)