All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle
@ 2020-06-26  6:13 Masahiro Yamada
  2020-06-26  6:13 ` [PATCH 2/3] treewide: convert bd_t to struct bd_info manually Masahiro Yamada
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Masahiro Yamada @ 2020-06-26  6:13 UTC (permalink / raw)
  To: u-boot

The Linux coding style guide (Documentation/process/coding-style.rst)
clearly says:

  It's a **mistake** to use typedef for structures and pointers.

Besides, using typedef for structures is annoying when you try to make
headers self-contained.

Let's say you have the following function declaration in a header:

  void foo(bd_t *bd);

This is not self-contained since bd_t is not defined.

To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h>

  #include <asm/u-boot.h>
  void foo(bd_t *bd);

Then, the include direcective pulls in more bloat needlessly.

If you use 'struct bd_info' instead, it is enough to put a forward
declaration as follows:

  struct bd_info;
  void foo(struct bd_info *bd);

Right, typedef'ing bd_t is a mistake.

I used coccinelle to generate this commit.

The semantic patch that makes this change is as follows:

  <smpl>
  @@
  typedef bd_t;
  @@
  -bd_t
  +struct bd_info
  </smpl>

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 arch/arm/cpu/arm1136/mx35/generic.c           |  4 +-
 arch/arm/cpu/arm926ejs/mx25/generic.c         |  4 +-
 arch/arm/cpu/arm926ejs/mx27/generic.c         |  4 +-
 arch/arm/cpu/arm926ejs/mxs/mxs.c              |  2 +-
 arch/arm/cpu/arm926ejs/mxs/spl_boot.c         |  2 +-
 arch/arm/cpu/armv7/ls102xa/cpu.c              |  4 +-
 arch/arm/cpu/armv7/ls102xa/fdt.c              |  2 +-
 arch/arm/cpu/armv7/vf610/generic.c            |  4 +-
 arch/arm/cpu/armv8/fsl-layerscape/cpu.c       |  4 +-
 arch/arm/cpu/armv8/fsl-layerscape/fdt.c       |  2 +-
 arch/arm/cpu/armv8/s32v234/generic.c          |  2 +-
 arch/arm/include/asm/arch-mx27/mxcmmc.h       |  2 +-
 arch/arm/include/asm/arch-mx31/sys_proto.h    |  2 +-
 arch/arm/include/asm/arch-mx6/litesom.h       |  2 +-
 arch/arm/include/asm/arch-mxs/sys_proto.h     |  3 +-
 arch/arm/lib/bootm-fdt.c                      |  2 +-
 arch/arm/lib/bootm.c                          | 11 +--
 arch/arm/lib/cache-cp15.c                     |  2 +-
 .../mach-davinci/include/mach/sdmmc_defs.h    |  2 +-
 arch/arm/mach-imx/cpu.c                       |  4 +-
 arch/arm/mach-imx/imx8/ahab.c                 |  2 +-
 arch/arm/mach-imx/imx8/fdt.c                  |  4 +-
 arch/arm/mach-imx/imx8m/soc.c                 |  2 +-
 arch/arm/mach-imx/mx6/litesom.c               |  2 +-
 arch/arm/mach-imx/mx6/module_fuse.c           |  2 +-
 arch/arm/mach-kirkwood/cpu.c                  |  4 +-
 arch/arm/mach-lpc32xx/cpu.c                   |  2 +-
 arch/arm/mach-meson/board-common.c            |  4 +-
 arch/arm/mach-mvebu/cpu.c                     |  2 +-
 arch/arm/mach-omap2/am33xx/board.c            |  2 +-
 arch/arm/mach-omap2/am33xx/fdt.c              |  6 +-
 arch/arm/mach-omap2/fdt-common.c              |  8 +-
 arch/arm/mach-omap2/omap-cache.c              |  2 +-
 arch/arm/mach-omap2/omap3/emac.c              |  2 +-
 arch/arm/mach-omap2/omap5/fdt.c               | 16 ++--
 arch/arm/mach-orion5x/cpu.c                   |  2 +-
 arch/arm/mach-rmobile/emac.c                  |  2 +-
 arch/arm/mach-stm32mp/fdt.c                   |  2 +-
 arch/arm/mach-tegra/dt-setup.c                |  2 +-
 arch/arm/mach-uniphier/fdt-fixup.c            |  4 +-
 arch/m68k/cpu/mcf523x/cpu.c                   |  2 +-
 arch/m68k/cpu/mcf52x2/cpu.c                   |  2 +-
 arch/m68k/cpu/mcf532x/cpu.c                   |  2 +-
 arch/m68k/cpu/mcf5445x/cpu.c                  |  2 +-
 arch/m68k/cpu/mcf547x_8x/cpu.c                |  2 +-
 arch/m68k/lib/bootm.c                         | 10 +--
 arch/nds32/lib/bootm.c                        | 24 +++---
 arch/powerpc/cpu/mpc83xx/cpu.c                |  4 +-
 arch/powerpc/cpu/mpc83xx/fdt.c                |  2 +-
 arch/powerpc/cpu/mpc83xx/interrupts.c         |  2 +-
 arch/powerpc/cpu/mpc83xx/pci.c                |  2 +-
 arch/powerpc/cpu/mpc85xx/cpu.c                |  2 +-
 arch/powerpc/cpu/mpc85xx/ether_fcc.c          |  4 +-
 arch/powerpc/cpu/mpc85xx/fdt.c                |  2 +-
 arch/powerpc/cpu/mpc86xx/fdt.c                |  2 +-
 arch/powerpc/cpu/mpc8xx/cpu.c                 |  2 +-
 arch/powerpc/cpu/mpc8xx/fdt.c                 |  2 +-
 arch/powerpc/cpu/mpc8xxx/cpu.c                |  2 +-
 arch/powerpc/lib/bootm.c                      | 16 ++--
 arch/sh/cpu/sh4/cpu.c                         |  2 +-
 arch/x86/lib/bootm.c                          |  2 +-
 board/AndesTech/adp-ae3xx/adp-ae3xx.c         |  2 +-
 board/AndesTech/adp-ag101p/adp-ag101p.c       |  2 +-
 board/AndesTech/ax25-ae350/ax25-ae350.c       |  2 +-
 board/Arcturus/ucp1020/spl.c                  |  6 +-
 board/Arcturus/ucp1020/ucp1020.c              |  4 +-
 board/BuR/common/bur_common.h                 |  2 +-
 board/BuR/common/common.c                     |  2 +-
 board/CZ.NIC/turris_mox/turris_mox.c          |  2 +-
 board/CarMediaLab/flea3/flea3.c               |  2 +-
 board/Marvell/db-88f6720/db-88f6720.c         |  2 +-
 board/Marvell/db-88f6820-amc/db-88f6820-amc.c |  2 +-
 board/Marvell/db-88f6820-gp/db-88f6820-gp.c   |  2 +-
 board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c   |  2 +-
 board/Marvell/gplugd/gplugd.c                 |  2 +-
 board/abilis/tb100/tb100.c                    |  2 +-
 board/advantech/dms-ba16/dms-ba16.c           |  4 +-
 board/advantech/imx8qm_rom7720_a1/spl.c       |  2 +-
 board/amazon/kc1/kc1.c                        |  2 +-
 board/armltd/integrator/integrator.c          |  2 +-
 board/armltd/vexpress/vexpress_common.c       |  4 +-
 board/armltd/vexpress/vexpress_tc2.c          |  2 +-
 board/armltd/vexpress64/vexpress64.c          |  2 +-
 board/atmel/at91rm9200ek/at91rm9200ek.c       |  2 +-
 board/atmel/at91sam9261ek/at91sam9261ek.c     |  2 +-
 board/atmel/at91sam9n12ek/at91sam9n12ek.c     |  2 +-
 board/bachmann/ot1200/ot1200.c                |  4 +-
 board/barco/platinum/platinum.c               |  4 +-
 board/barco/titanium/titanium.c               |  4 +-
 board/birdland/bav335x/board.c                |  2 +-
 board/bluegiga/apx4devkit/apx4devkit.c        |  4 +-
 board/bluewater/gurnard/gurnard.c             |  4 +-
 board/bluewater/snapper9260/snapper9260.c     |  2 +-
 board/bosch/shc/board.c                       |  2 +-
 board/boundary/nitrogen6x/nitrogen6x.c        |  2 +-
 board/broadcom/bcm23550_w1d/bcm23550_w1d.c    |  2 +-
 board/broadcom/bcm28155_ap/bcm28155_ap.c      |  2 +-
 board/broadcom/bcm_ep/board.c                 |  2 +-
 board/calao/usb_a9263/usb_a9263.c             |  2 +-
 board/cavium/thunderx/thunderx.c              |  2 +-
 board/ccv/xpress/xpress.c                     |  4 +-
 board/cirrus/edb93xx/edb93xx.c                |  2 +-
 board/compulab/cl-som-imx7/cl-som-imx7.c      |  4 +-
 board/compulab/cl-som-imx7/spl.c              |  2 +-
 board/compulab/cm_fx6/cm_fx6.c                |  4 +-
 board/compulab/cm_fx6/spl.c                   |  2 +-
 board/compulab/cm_t335/cm_t335.c              |  2 +-
 board/compulab/cm_t35/cm_t35.c                |  4 +-
 board/compulab/cm_t43/cm_t43.c                |  2 +-
 board/compulab/cm_t54/cm_t54.c                |  6 +-
 board/congatec/cgtqmx6eval/cgtqmx6eval.c      |  4 +-
 board/corscience/tricorder/tricorder.c        |  2 +-
 board/creative/xfi3/xfi3.c                    |  4 +-
 board/cssi/MCR3000/MCR3000.c                  |  2 +-
 board/davinci/da8xxevm/da850evm.c             |  2 +-
 board/davinci/da8xxevm/omapl138_lcdk.c        |  2 +-
 board/dhelectronics/dh_imx6/dh_imx6_spl.c     |  2 +-
 board/dhelectronics/dh_stm32mp1/board.c       |  2 +-
 board/egnite/ethernut5/ethernut5.c            |  4 +-
 board/el/el6x/el6x.c                          |  4 +-
 board/embest/mx6boards/mx6boards.c            |  4 +-
 board/esd/meesc/meesc.c                       |  2 +-
 board/esd/vme8349/vme8349.c                   |  4 +-
 board/freescale/b4860qds/b4860qds.c           |  2 +-
 board/freescale/b4860qds/b4860qds.h           |  2 +-
 board/freescale/b4860qds/eth_b4860qds.c       |  2 +-
 board/freescale/b4860qds/pci.c                |  2 +-
 board/freescale/b4860qds/spl.c                |  6 +-
 board/freescale/bsc9131rdb/bsc9131rdb.c       |  2 +-
 board/freescale/bsc9132qds/bsc9132qds.c       |  4 +-
 board/freescale/c29xpcie/c29xpcie.c           |  4 +-
 board/freescale/c29xpcie/spl.c                |  6 +-
 board/freescale/common/cds_pci_ft.c           |  2 +-
 board/freescale/common/p_corenet/pci.c        |  2 +-
 board/freescale/corenet_ds/corenet_ds.c       |  2 +-
 board/freescale/corenet_ds/corenet_ds.h       |  2 +-
 board/freescale/corenet_ds/eth_hydra.c        |  2 +-
 board/freescale/corenet_ds/eth_p4080.c        |  2 +-
 board/freescale/corenet_ds/eth_superhydra.c   |  2 +-
 board/freescale/imx8mq_evk/spl.c              |  2 +-
 board/freescale/imx8qm_mek/imx8qm_mek.c       |  2 +-
 board/freescale/imx8qxp_mek/imx8qxp_mek.c     |  2 +-
 board/freescale/ls1012afrdm/ls1012afrdm.c     |  2 +-
 board/freescale/ls1012aqds/ls1012aqds.c       |  2 +-
 board/freescale/ls1012ardb/ls1012ardb.c       |  2 +-
 board/freescale/ls1021aiot/ls1021aiot.c       |  4 +-
 board/freescale/ls1021aqds/eth.c              |  2 +-
 board/freescale/ls1021aqds/ls1021aqds.c       |  2 +-
 board/freescale/ls1021atsn/ls1021atsn.c       |  4 +-
 board/freescale/ls1021atwr/ls1021atwr.c       |  4 +-
 board/freescale/ls1028a/ls1028a.c             |  4 +-
 board/freescale/ls1043aqds/eth.c              |  2 +-
 board/freescale/ls1043aqds/ls1043aqds.c       |  2 +-
 board/freescale/ls1043ardb/eth.c              |  2 +-
 board/freescale/ls1043ardb/ls1043ardb.c       |  2 +-
 board/freescale/ls1046afrwy/eth.c             |  2 +-
 board/freescale/ls1046afrwy/ls1046afrwy.c     |  2 +-
 board/freescale/ls1046aqds/eth.c              |  2 +-
 board/freescale/ls1046aqds/ls1046aqds.c       |  2 +-
 board/freescale/ls1046ardb/eth.c              |  2 +-
 board/freescale/ls1046ardb/ls1046ardb.c       |  2 +-
 board/freescale/ls1088a/eth_ls1088aqds.c      |  2 +-
 board/freescale/ls1088a/eth_ls1088ardb.c      |  2 +-
 board/freescale/ls1088a/ls1088a.c             |  2 +-
 board/freescale/ls2080a/ls2080a.c             |  4 +-
 board/freescale/ls2080aqds/eth.c              |  2 +-
 board/freescale/ls2080aqds/ls2080aqds.c       |  2 +-
 board/freescale/ls2080ardb/eth_ls2080rdb.c    |  2 +-
 board/freescale/ls2080ardb/ls2080ardb.c       |  2 +-
 board/freescale/lx2160a/eth_lx2160aqds.c      |  2 +-
 board/freescale/lx2160a/eth_lx2160ardb.c      |  2 +-
 board/freescale/lx2160a/lx2160a.c             |  2 +-
 board/freescale/m5253demo/m5253demo.c         |  2 +-
 board/freescale/mpc8308rdb/mpc8308rdb.c       |  6 +-
 board/freescale/mpc8313erdb/mpc8313erdb.c     |  2 +-
 board/freescale/mpc8315erdb/mpc8315erdb.c     |  6 +-
 board/freescale/mpc8323erdb/mpc8323erdb.c     |  2 +-
 board/freescale/mpc832xemds/mpc832xemds.c     |  2 +-
 board/freescale/mpc8349emds/mpc8349emds.c     |  2 +-
 board/freescale/mpc8349itx/mpc8349itx.c       |  2 +-
 board/freescale/mpc837xemds/mpc837xemds.c     | 14 ++--
 board/freescale/mpc837xemds/pci.c             |  2 +-
 board/freescale/mpc837xemds/pci.h             |  2 +-
 board/freescale/mpc837xerdb/mpc837xerdb.c     |  4 +-
 board/freescale/mpc8536ds/mpc8536ds.c         |  4 +-
 board/freescale/mpc8541cds/mpc8541cds.c       |  2 +-
 board/freescale/mpc8544ds/mpc8544ds.c         |  4 +-
 board/freescale/mpc8548cds/mpc8548cds.c       |  4 +-
 board/freescale/mpc8555cds/mpc8555cds.c       |  2 +-
 board/freescale/mpc8568mds/mpc8568mds.c       |  2 +-
 board/freescale/mpc8569mds/mpc8569mds.c       | 15 ++--
 board/freescale/mpc8572ds/mpc8572ds.c         |  4 +-
 board/freescale/mpc8610hpcd/mpc8610hpcd.c     |  4 +-
 board/freescale/mpc8641hpcn/mpc8641hpcn.c     |  4 +-
 board/freescale/mx23evk/mx23evk.c             |  2 +-
 board/freescale/mx25pdk/mx25pdk.c             |  2 +-
 board/freescale/mx28evk/mx28evk.c             |  4 +-
 board/freescale/mx31pdk/mx31pdk.c             |  2 +-
 board/freescale/mx35pdk/mx35pdk.c             |  4 +-
 board/freescale/mx51evk/mx51evk.c             |  2 +-
 board/freescale/mx53ard/mx53ard.c             |  4 +-
 board/freescale/mx53evk/mx53evk.c             |  2 +-
 board/freescale/mx53loco/mx53loco.c           |  2 +-
 board/freescale/mx53smd/mx53smd.c             |  2 +-
 board/freescale/mx6qarm2/mx6qarm2.c           |  4 +-
 board/freescale/mx6sabreauto/mx6sabreauto.c   |  2 +-
 board/freescale/mx6sabresd/mx6sabresd.c       |  2 +-
 board/freescale/mx6slevk/mx6slevk.c           |  2 +-
 .../freescale/mx6sxsabreauto/mx6sxsabreauto.c |  2 +-
 board/freescale/mx6sxsabresd/mx6sxsabresd.c   |  2 +-
 .../mx6ul_14x14_evk/mx6ul_14x14_evk.c         |  2 +-
 board/freescale/mx7ulp_evk/mx7ulp_evk.c       |  2 +-
 board/freescale/p1010rdb/p1010rdb.c           |  6 +-
 board/freescale/p1010rdb/spl.c                |  6 +-
 board/freescale/p1022ds/p1022ds.c             |  4 +-
 board/freescale/p1022ds/spl.c                 |  6 +-
 board/freescale/p1023rdb/p1023rdb.c           |  4 +-
 board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c   |  4 +-
 board/freescale/p1_p2_rdb_pc/spl.c            |  6 +-
 board/freescale/p1_twr/p1_twr.c               |  4 +-
 board/freescale/p2041rdb/eth.c                |  2 +-
 board/freescale/p2041rdb/p2041rdb.c           |  4 +-
 board/freescale/qemu-ppce500/qemu-ppce500.c   |  4 +-
 board/freescale/s32v234evb/s32v234evb.c       |  2 +-
 board/freescale/t102xqds/eth_t102xqds.c       |  2 +-
 board/freescale/t102xqds/pci.c                |  2 +-
 board/freescale/t102xqds/spl.c                |  6 +-
 board/freescale/t102xqds/t102xqds.c           |  2 +-
 board/freescale/t102xqds/t102xqds.h           |  2 +-
 board/freescale/t102xrdb/eth_t102xrdb.c       |  2 +-
 board/freescale/t102xrdb/pci.c                |  2 +-
 board/freescale/t102xrdb/spl.c                |  6 +-
 board/freescale/t102xrdb/t102xrdb.c           |  2 +-
 board/freescale/t102xrdb/t102xrdb.h           |  2 +-
 board/freescale/t1040qds/eth.c                |  2 +-
 board/freescale/t1040qds/pci.c                |  2 +-
 board/freescale/t1040qds/t1040qds.c           |  2 +-
 board/freescale/t1040qds/t1040qds.h           |  2 +-
 board/freescale/t104xrdb/eth.c                |  2 +-
 board/freescale/t104xrdb/pci.c                |  2 +-
 board/freescale/t104xrdb/spl.c                |  6 +-
 board/freescale/t104xrdb/t104xrdb.c           |  2 +-
 board/freescale/t104xrdb/t104xrdb.h           |  2 +-
 board/freescale/t208xqds/eth_t208xqds.c       |  2 +-
 board/freescale/t208xqds/pci.c                |  2 +-
 board/freescale/t208xqds/spl.c                |  6 +-
 board/freescale/t208xqds/t208xqds.c           |  2 +-
 board/freescale/t208xqds/t208xqds.h           |  2 +-
 board/freescale/t208xrdb/eth_t208xrdb.c       |  2 +-
 board/freescale/t208xrdb/pci.c                |  2 +-
 board/freescale/t208xrdb/spl.c                |  6 +-
 board/freescale/t208xrdb/t208xrdb.c           |  2 +-
 board/freescale/t208xrdb/t208xrdb.h           |  2 +-
 board/freescale/t4qds/eth.c                   |  2 +-
 board/freescale/t4qds/pci.c                   |  2 +-
 board/freescale/t4qds/spl.c                   |  6 +-
 board/freescale/t4qds/t4240emu.c              |  2 +-
 board/freescale/t4qds/t4240qds.c              |  2 +-
 board/freescale/t4qds/t4qds.h                 |  2 +-
 board/freescale/t4rdb/eth.c                   |  2 +-
 board/freescale/t4rdb/pci.c                   |  2 +-
 board/freescale/t4rdb/spl.c                   |  6 +-
 board/freescale/t4rdb/t4240rdb.c              |  2 +-
 board/freescale/t4rdb/t4rdb.h                 |  2 +-
 board/freescale/vf610twr/vf610twr.c           |  2 +-
 board/gateworks/gw_ventana/common.c           |  2 +-
 board/gateworks/gw_ventana/gw_ventana.c       |  6 +-
 board/gdsys/mpc8308/gazerbeam.c               |  2 +-
 board/gdsys/mpc8308/hrcon.c                   |  4 +-
 board/gdsys/mpc8308/strider.c                 |  4 +-
 board/gdsys/p1022/controlcenterd.c            |  4 +-
 board/ge/bx50v3/bx50v3.c                      |  2 +-
 board/ge/mx53ppd/mx53ppd.c                    |  2 +-
 board/google/imx8mq_phanbell/spl.c            |  2 +-
 board/grinn/liteboard/board.c                 |  2 +-
 board/gumstix/duovero/duovero.c               |  4 +-
 board/gumstix/pepper/board.c                  |  2 +-
 board/highbank/highbank.c                     |  4 +-
 board/hisilicon/hikey/hikey.c                 |  2 +-
 board/ids/ids8313/ids8313.c                   |  2 +-
 board/imgtec/boston/dt.c                      |  2 +-
 board/imgtec/ci20/ci20.c                      |  4 +-
 board/imgtec/malta/malta.c                    |  2 +-
 board/inversepath/usbarmory/usbarmory.c       |  2 +-
 board/isee/igep003x/board.c                   |  4 +-
 board/isee/igep00x0/common.c                  |  2 +-
 board/isee/igep00x0/igep00x0.c                |  4 +-
 board/keymile/common/common.c                 |  2 +-
 board/keymile/km83xx/km83xx.c                 |  2 +-
 board/keymile/kmp204x/eth.c                   |  2 +-
 board/keymile/kmp204x/kmp204x.c               |  2 +-
 board/keymile/kmp204x/kmp204x.h               |  2 +-
 board/keymile/kmp204x/pci.c                   |  2 +-
 board/kmc/kzm9g/kzm9g.c                       |  2 +-
 board/kobol/helios4/helios4.c                 |  2 +-
 board/kosagi/novena/novena_spl.c              |  2 +-
 board/l+g/vinco/vinco.c                       |  4 +-
 board/laird/wb45n/wb45n.c                     |  2 +-
 board/laird/wb50n/wb50n.c                     |  2 +-
 board/lg/sniper/sniper.c                      |  2 +-
 board/liebherr/display5/display5.c            |  2 +-
 board/liebherr/display5/spl.c                 |  2 +-
 board/liebherr/mccmon6/spl.c                  |  2 +-
 board/liebherr/xea/xea.c                      |  2 +-
 board/logicpd/am3517evm/am3517evm.c           |  2 +-
 board/logicpd/zoom1/zoom1.c                   |  4 +-
 board/menlo/m53menlo/m53menlo.c               |  4 +-
 board/mini-box/picosam9g45/picosam9g45.c      |  4 +-
 board/mpc8308_p1m/mpc8308_p1m.c               |  4 +-
 board/nokia/rx51/rx51.c                       |  2 +-
 board/nvidia/p2371-2180/p2371-2180.c          |  2 +-
 board/nvidia/p2771-0000/p2771-0000.c          |  2 +-
 board/nvidia/p3450-0000/p3450-0000.c          |  2 +-
 board/olimex/mx23_olinuxino/mx23_olinuxino.c  |  2 +-
 board/overo/common.c                          |  2 +-
 board/overo/overo.c                           |  2 +-
 board/phytec/pcl063/spl.c                     |  2 +-
 board/phytec/pcm058/pcm058.c                  |  4 +-
 board/phytec/pfla02/pfla02.c                  |  6 +-
 board/phytec/phycore_am335x_r2/board.c        |  2 +-
 board/ppcag/bg0900/bg0900.c                   |  2 +-
 board/qemu-mips/qemu-mips.c                   |  2 +-
 .../dragonboard410c/dragonboard410c.c         |  2 +-
 board/quipos/cairo/cairo.c                    |  2 +-
 board/raspberrypi/rpi/rpi.c                   |  2 +-
 board/renesas/MigoR/migo_r.c                  |  2 +-
 board/renesas/blanche/blanche.c               |  2 +-
 board/renesas/r2dplus/r2dplus.c               |  2 +-
 board/renesas/r7780mp/r7780mp.c               |  2 +-
 board/renesas/rcar-common/common.c            |  2 +-
 board/renesas/sh7752evb/sh7752evb.c           |  2 +-
 board/renesas/sh7753evb/sh7753evb.c           |  2 +-
 board/renesas/sh7757lcr/sh7757lcr.c           |  2 +-
 board/ronetix/pm9261/pm9261.c                 |  2 +-
 board/ronetix/pm9263/pm9263.c                 |  2 +-
 board/ronetix/pm9g45/pm9g45.c                 |  2 +-
 board/samsung/arndale/arndale.c               |  2 +-
 board/samsung/common/board.c                  |  2 +-
 board/samsung/goni/goni.c                     |  2 +-
 board/samsung/smdkc100/smdkc100.c             |  2 +-
 board/samsung/smdkv310/smdkv310.c             |  4 +-
 board/sandbox/sandbox.c                       |  2 +-
 board/sandisk/sansa_fuze_plus/sfp.c           |  4 +-
 board/sbc8349/sbc8349.c                       |  2 +-
 board/sbc8548/sbc8548.c                       |  4 +-
 board/sbc8641d/sbc8641d.c                     |  2 +-
 board/schulercontrol/sc_sps_1/sc_sps_1.c      |  4 +-
 board/seco/mx6quq7/mx6quq7.c                  |  4 +-
 board/siemens/capricorn/board.c               |  2 +-
 board/siemens/corvus/board.c                  |  2 +-
 board/siemens/draco/board.c                   |  2 +-
 board/siemens/pxm2/board.c                    |  2 +-
 board/siemens/rut/board.c                     |  2 +-
 board/siemens/smartweb/smartweb.c             |  2 +-
 board/siemens/taurus/taurus.c                 |  2 +-
 board/silica/pengwyn/board.c                  |  2 +-
 board/sks-kinkel/sksimx6/sksimx6.c            |  4 +-
 board/socrates/socrates.c                     |  2 +-
 board/softing/vining_2000/vining_2000.c       |  2 +-
 board/solidrun/clearfog/clearfog.c            |  2 +-
 board/spear/spear300/spear300.c               |  2 +-
 board/spear/spear310/spear310.c               |  2 +-
 board/spear/spear320/spear320.c               |  2 +-
 board/spear/spear600/spear600.c               |  2 +-
 board/spear/x600/x600.c                       |  2 +-
 board/st/stm32mp1/stm32mp1.c                  |  2 +-
 board/st/stv0991/stv0991.c                    |  2 +-
 board/sunxi/board.c                           |  4 +-
 board/tcl/sl50/board.c                        |  2 +-
 board/technexion/pico-imx6/pico-imx6.c        |  2 +-
 board/technexion/pico-imx6/spl.c              |  2 +-
 board/technexion/pico-imx6ul/pico-imx6ul.c    |  2 +-
 board/technexion/pico-imx6ul/spl.c            |  2 +-
 board/technexion/pico-imx7d/spl.c             |  2 +-
 board/technexion/pico-imx8mq/spl.c            |  2 +-
 board/technexion/tao3530/tao3530.c            |  2 +-
 board/technologic/ts4600/ts4600.c             |  2 +-
 board/technologic/ts4800/ts4800.c             |  4 +-
 board/theadorable/theadorable.c               |  2 +-
 board/ti/am335x/board.c                       |  2 +-
 board/ti/am3517crane/am3517crane.c            |  2 +-
 board/ti/am43xx/board.c                       |  2 +-
 board/ti/am57xx/board.c                       |  6 +-
 board/ti/am65x/evm.c                          |  2 +-
 board/ti/beagle/beagle.c                      |  4 +-
 board/ti/dra7xx/evm.c                         |  4 +-
 board/ti/evm/evm.c                            |  6 +-
 board/ti/j721e/evm.c                          |  2 +-
 board/ti/ks2_evm/board.c                      |  4 +-
 board/ti/ks2_evm/board_k2g.c                  |  2 +-
 board/ti/omap5_uevm/evm.c                     |  4 +-
 board/ti/panda/panda.c                        |  4 +-
 board/ti/sdp4430/sdp.c                        |  4 +-
 board/ti/ti814x/evm.c                         |  4 +-
 board/ti/ti816x/evm.c                         |  2 +-
 board/timll/devkit8000/devkit8000.c           |  4 +-
 board/toradex/apalis-imx8/apalis-imx8.c       |  2 +-
 board/toradex/apalis-tk1/apalis-tk1.c         |  2 +-
 board/toradex/apalis_imx6/apalis_imx6.c       |  4 +-
 board/toradex/apalis_t30/apalis_t30.c         |  2 +-
 .../toradex/colibri-imx6ull/colibri-imx6ull.c |  2 +-
 board/toradex/colibri-imx8x/colibri-imx8x.c   |  2 +-
 board/toradex/colibri_imx6/colibri_imx6.c     |  4 +-
 board/toradex/colibri_imx7/colibri_imx7.c     |  2 +-
 board/toradex/colibri_pxa270/colibri_pxa270.c |  6 +-
 board/toradex/colibri_t20/colibri_t20.c       |  2 +-
 board/toradex/colibri_t30/colibri_t30.c       |  2 +-
 board/toradex/colibri_vf/colibri_vf.c         |  2 +-
 board/toradex/common/tdx-common.c             |  4 +-
 board/toradex/common/tdx-common.h             |  2 +-
 board/toradex/verdin-imx8mm/verdin-imx8mm.c   |  2 +-
 board/tqc/tqm834x/tqm834x.c                   |  2 +-
 board/tqc/tqma6/tqma6.c                       |  4 +-
 board/tqc/tqma6/tqma6_bb.h                    |  4 +-
 board/tqc/tqma6/tqma6_mba6.c                  |  2 +-
 board/tqc/tqma6/tqma6_wru4.c                  |  6 +-
 board/udoo/neo/neo.c                          |  4 +-
 board/udoo/udoo.c                             |  4 +-
 board/variscite/dart_6ul/dart_6ul.c           |  2 +-
 board/variscite/dart_6ul/spl.c                |  2 +-
 board/varisys/cyrus/cyrus.c                   |  2 +-
 board/varisys/cyrus/cyrus.h                   |  2 +-
 board/varisys/cyrus/eth.c                     |  2 +-
 board/varisys/cyrus/pci.c                     |  2 +-
 board/ve8313/ve8313.c                         |  2 +-
 board/vscom/baltos/board.c                    |  4 +-
 board/wandboard/spl.c                         |  2 +-
 board/warp/warp.c                             |  2 +-
 board/warp7/warp7.c                           |  2 +-
 board/xes/common/fsl_8xxx_pci.c               |  2 +-
 board/xes/xpedite517x/xpedite517x.c           |  4 +-
 board/xes/xpedite520x/xpedite520x.c           |  4 +-
 board/xes/xpedite537x/xpedite537x.c           |  4 +-
 board/xes/xpedite550x/xpedite550x.c           |  4 +-
 cmd/bdinfo.c                                  | 32 ++++----
 common/board_f.c                              | 13 ++--
 common/board_r.c                              |  4 +-
 common/bootm_os.c                             |  8 +-
 common/image.c                                |  8 +-
 common/spl/spl.c                              |  2 +-
 drivers/ddr/altera/sdram_agilex.c             |  2 +-
 drivers/ddr/altera/sdram_s10.c                |  2 +-
 drivers/ddr/altera/sdram_soc64.c              |  4 +-
 drivers/ddr/altera/sdram_soc64.h              |  4 +-
 drivers/mmc/davinci_mmc.c                     |  2 +-
 drivers/mmc/fsl_esdhc.c                       |  6 +-
 drivers/mmc/fsl_esdhc_imx.c                   |  6 +-
 drivers/mmc/mmc.c                             | 10 +--
 drivers/mmc/mvebu_mmc.c                       |  2 +-
 drivers/mmc/mxcmmc.c                          |  4 +-
 drivers/mmc/mxsmmc.c                          |  3 +-
 drivers/net/armada100_fec.c                   |  2 +-
 drivers/net/at91_emac.c                       |  4 +-
 drivers/net/ax88180.c                         |  4 +-
 drivers/net/bcm-sf2-eth.c                     |  4 +-
 drivers/net/calxedaxgmac.c                    |  2 +-
 drivers/net/cs8900.c                          |  2 +-
 drivers/net/dc2114x.c                         | 10 +--
 drivers/net/designware.c                      |  2 +-
 drivers/net/dm9000x.c                         |  4 +-
 drivers/net/dnet.c                            |  2 +-
 drivers/net/e1000.c                           |  4 +-
 drivers/net/eepro100.c                        | 10 +--
 drivers/net/ep93xx_eth.c                      |  4 +-
 drivers/net/ethoc.c                           |  2 +-
 drivers/net/fec_mxc.c                         |  7 +-
 drivers/net/fec_mxc.h                         |  2 +-
 drivers/net/fm/eth.c                          |  2 +-
 drivers/net/fm/init.c                         |  2 +-
 drivers/net/fm/memac_phy.c                    |  2 +-
 drivers/net/fm/tgec_phy.c                     |  2 +-
 drivers/net/fsl-mc/mc.c                       |  4 +-
 drivers/net/fsl_mcdmafec.c                    |  2 +-
 drivers/net/fsl_mdio.c                        |  2 +-
 drivers/net/ftmac100.c                        |  4 +-
 drivers/net/ftmac110.c                        |  4 +-
 drivers/net/ks8851_mll.c                      |  2 +-
 drivers/net/lan91c96.c                        |  8 +-
 drivers/net/lpc32xx_eth.c                     |  2 +-
 drivers/net/macb.c                            |  2 +-
 drivers/net/mcffec.c                          |  2 +-
 drivers/net/mpc8xx_fec.c                      |  8 +-
 drivers/net/mvgbe.c                           |  2 +-
 drivers/net/natsemi.c                         |  6 +-
 drivers/net/ne2000_base.c                     |  2 +-
 drivers/net/ns8382x.c                         |  6 +-
 drivers/net/pcnet.c                           | 12 +--
 drivers/net/rtl8139.c                         |  4 +-
 drivers/net/rtl8169.c                         |  4 +-
 drivers/net/sh_eth.c                          |  4 +-
 drivers/net/smc91111.c                        |  2 +-
 drivers/net/ti/cpsw.c                         |  2 +-
 drivers/net/tsec.c                            | 10 ++-
 drivers/net/uli526x.c                         |  6 +-
 drivers/net/vsc9953.c                         |  2 +-
 drivers/pci/pci-uclass.c                      |  2 +-
 drivers/pci/pcie_fsl_fixup.c                  |  4 +-
 drivers/pci/pcie_layerscape_fixup.c           |  4 +-
 drivers/pci/pcie_layerscape_fixup_common.c    |  2 +-
 drivers/pci/pcie_layerscape_fixup_common.h    |  4 +-
 drivers/pci/pcie_layerscape_gen4_fixup.c      |  4 +-
 drivers/qe/uec.c                              |  8 +-
 drivers/qe/uec.h                              |  6 +-
 drivers/usb/common/fsl-dt-fixup.c             |  2 +-
 drivers/usb/eth/asix.c                        |  2 +-
 drivers/usb/eth/asix88179.c                   |  2 +-
 drivers/usb/eth/mcs7830.c                     |  2 +-
 drivers/usb/eth/r8152.c                       |  2 +-
 drivers/usb/eth/smsc95xx.c                    |  2 +-
 drivers/usb/gadget/ether.c                    |  4 +-
 drivers/video/cfb_console.c                   |  2 +-
 include/fdt_support.h                         | 18 ++---
 include/fm_eth.h                              |  6 +-
 include/fsl-mc/fsl_mc.h                       |  4 +-
 include/fsl_esdhc.h                           | 10 +--
 include/fsl_esdhc_imx.h                       | 10 +--
 include/fsl_mdio.h                            |  2 +-
 include/image.h                               |  4 +-
 include/lmb.h                                 |  3 +-
 include/mvebu_mmc.h                           |  2 +-
 include/net/pfe_eth/pfe_eth.h                 |  2 +-
 include/netdev.h                              | 74 ++++++++++---------
 include/tsec.h                                |  5 +-
 include/vsc9953.h                             |  2 +-
 lib/fdtdec.c                                  |  3 +-
 lib/lmb.c                                     |  2 +-
 net/eth_legacy.c                              |  6 +-
 post/drivers/memory.c                         |  2 +-
 528 files changed, 885 insertions(+), 866 deletions(-)

diff --git a/arch/arm/cpu/arm1136/mx35/generic.c b/arch/arm/cpu/arm1136/mx35/generic.c
index e6fff5b220..10f9ce4270 100644
--- a/arch/arm/cpu/arm1136/mx35/generic.c
+++ b/arch/arm/cpu/arm1136/mx35/generic.c
@@ -439,7 +439,7 @@ int print_cpuinfo(void)
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
  */
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	int rc = -ENODEV;
 
@@ -455,7 +455,7 @@ int cpu_eth_init(bd_t *bis)
  * Initializes on-chip MMC controllers.
  * to override, implement board_mmc_init()
  */
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	return fsl_esdhc_mmc_init(bis);
 }
diff --git a/arch/arm/cpu/arm926ejs/mx25/generic.c b/arch/arm/cpu/arm926ejs/mx25/generic.c
index 8f6cd4dc19..a4528cbaf5 100644
--- a/arch/arm/cpu/arm926ejs/mx25/generic.c
+++ b/arch/arm/cpu/arm926ejs/mx25/generic.c
@@ -223,7 +223,7 @@ int print_cpuinfo(void)
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
  */
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	struct ccm_regs *ccm = (struct ccm_regs *)IMX_CCM_BASE;
 	ulong val;
@@ -252,7 +252,7 @@ int get_clocks(void)
  * Initializes on-chip MMC controllers.
  * to override, implement board_mmc_init()
  */
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	return fsl_esdhc_mmc_init(bis);
 }
diff --git a/arch/arm/cpu/arm926ejs/mx27/generic.c b/arch/arm/cpu/arm926ejs/mx27/generic.c
index a003ab816a..8b9d3a272a 100644
--- a/arch/arm/cpu/arm926ejs/mx27/generic.c
+++ b/arch/arm/cpu/arm926ejs/mx27/generic.c
@@ -177,7 +177,7 @@ int print_cpuinfo (void)
 }
 #endif
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FEC_MXC)
 	struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
@@ -195,7 +195,7 @@ int cpu_eth_init(bd_t *bis)
  * Initializes on-chip MMC controllers.
  * to override, implement board_mmc_init()
  */
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 #ifdef CONFIG_MMC_MXC
 	return mxc_mmc_init(bis);
diff --git a/arch/arm/cpu/arm926ejs/mxs/mxs.c b/arch/arm/cpu/arm926ejs/mxs/mxs.c
index 12ebc1c802..8243aeb2c0 100644
--- a/arch/arm/cpu/arm926ejs/mxs/mxs.c
+++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c
@@ -203,7 +203,7 @@ int do_mx28_showclocks(struct cmd_tbl *cmdtp, int flag, int argc,
  * Initializes on-chip ethernet controllers.
  */
 #if defined(CONFIG_MX28) && defined(CONFIG_CMD_NET)
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	struct mxs_clkctrl_regs *clkctrl_regs =
 		(struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE;
diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
index 565392eab5..1501d7df0d 100644
--- a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
+++ b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c
@@ -22,7 +22,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 static gd_t gdata __section(".data");
 #ifdef CONFIG_SPL_SERIAL_SUPPORT
-static bd_t bdata __section(".data");
+static struct bd_info bdata __section(".data");
 #endif
 
 /*
diff --git a/arch/arm/cpu/armv7/ls102xa/cpu.c b/arch/arm/cpu/armv7/ls102xa/cpu.c
index 91e988217a..ce472aa9bd 100644
--- a/arch/arm/cpu/armv7/ls102xa/cpu.c
+++ b/arch/arm/cpu/armv7/ls102xa/cpu.c
@@ -293,13 +293,13 @@ int print_cpuinfo(void)
 #endif
 
 #ifdef CONFIG_FSL_ESDHC
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	return fsl_esdhc_mmc_init(bis);
 }
 #endif
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_TSEC_ENET) && !defined(CONFIG_DM_ETH)
 	tsec_standard_init(bis);
diff --git a/arch/arm/cpu/armv7/ls102xa/fdt.c b/arch/arm/cpu/armv7/ls102xa/fdt.c
index 56ca7b0164..d8cb78ecc6 100644
--- a/arch/arm/cpu/armv7/ls102xa/fdt.c
+++ b/arch/arm/cpu/armv7/ls102xa/fdt.c
@@ -82,7 +82,7 @@ void ft_fixup_enet_phy_connect_type(void *fdt)
 	}
 }
 
-void ft_cpu_setup(void *blob, bd_t *bd)
+void ft_cpu_setup(void *blob, struct bd_info *bd)
 {
 	int off;
 	int val;
diff --git a/arch/arm/cpu/armv7/vf610/generic.c b/arch/arm/cpu/armv7/vf610/generic.c
index fd2ab37a8f..743bfced64 100644
--- a/arch/arm/cpu/armv7/vf610/generic.c
+++ b/arch/arm/cpu/armv7/vf610/generic.c
@@ -341,7 +341,7 @@ int arch_misc_init(void)
 }
 #endif
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	int rc = -ENODEV;
 
@@ -353,7 +353,7 @@ int cpu_eth_init(bd_t *bis)
 }
 
 #ifdef CONFIG_FSL_ESDHC_IMX
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	return fsl_esdhc_mmc_init(bis);
 }
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
index 3fcedd53ff..8a2f4048ec 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
@@ -1040,13 +1040,13 @@ int print_cpuinfo(void)
 #endif
 
 #ifdef CONFIG_FSL_ESDHC
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	return fsl_esdhc_mmc_init(bis);
 }
 #endif
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	int error = 0;
 
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
index 9c7546028a..67764ee83d 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
@@ -438,7 +438,7 @@ __weak void fdt_fixup_ecam(void *blob)
 }
 #endif
 
-void ft_cpu_setup(void *blob, bd_t *bd)
+void ft_cpu_setup(void *blob, struct bd_info *bd)
 {
 	struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
 	unsigned int svr = gur_in32(&gur->svr);
diff --git a/arch/arm/cpu/armv8/s32v234/generic.c b/arch/arm/cpu/armv8/s32v234/generic.c
index bc07dae318..de5a098adb 100644
--- a/arch/arm/cpu/armv8/s32v234/generic.c
+++ b/arch/arm/cpu/armv8/s32v234/generic.c
@@ -333,7 +333,7 @@ int print_cpuinfo(void)
 }
 #endif
 
-int cpu_eth_init(bd_t * bis)
+int cpu_eth_init(struct bd_info * bis)
 {
 	int rc = -ENODEV;
 
diff --git a/arch/arm/include/asm/arch-mx27/mxcmmc.h b/arch/arm/include/asm/arch-mx27/mxcmmc.h
index d7b5ca20aa..52fb0ab578 100644
--- a/arch/arm/include/asm/arch-mx27/mxcmmc.h
+++ b/arch/arm/include/asm/arch-mx27/mxcmmc.h
@@ -6,6 +6,6 @@
 #ifndef ASM_ARCH_MXCMMC_H
 #define ASM_ARCH_MXCMMC_H
 
-int mxc_mmc_init(bd_t *bis);
+int mxc_mmc_init(struct bd_info *bis);
 
 #endif
diff --git a/arch/arm/include/asm/arch-mx31/sys_proto.h b/arch/arm/include/asm/arch-mx31/sys_proto.h
index e4087889b4..29fc0fda0e 100644
--- a/arch/arm/include/asm/arch-mx31/sys_proto.h
+++ b/arch/arm/include/asm/arch-mx31/sys_proto.h
@@ -16,5 +16,5 @@ struct mxc_weimcs {
 };
 
 void mxc_setup_weimcs(int cs, const struct mxc_weimcs *weimcs);
-int mxc_mmc_init(bd_t *bis);
+int mxc_mmc_init(struct bd_info *bis);
 #endif
diff --git a/arch/arm/include/asm/arch-mx6/litesom.h b/arch/arm/include/asm/arch-mx6/litesom.h
index fcdfcab9ea..37a16d2c30 100644
--- a/arch/arm/include/asm/arch-mx6/litesom.h
+++ b/arch/arm/include/asm/arch-mx6/litesom.h
@@ -6,7 +6,7 @@
 #ifndef __ARCH_ARM_MX6UL_LITESOM_H__
 #define __ARCH_ARM_MX6UL_LITESOM_H__
 
-int litesom_mmc_init(bd_t *bis);
+int litesom_mmc_init(struct bd_info *bis);
 
 #ifdef CONFIG_SPL_BUILD
 void litesom_init_f(void);
diff --git a/arch/arm/include/asm/arch-mxs/sys_proto.h b/arch/arm/include/asm/arch-mxs/sys_proto.h
index 6478692a9c..20ee863ac7 100644
--- a/arch/arm/include/asm/arch-mxs/sys_proto.h
+++ b/arch/arm/include/asm/arch-mxs/sys_proto.h
@@ -11,7 +11,8 @@
 
 #include <asm/mach-imx/sys_proto.h>
 
-int mxsmmc_initialize(bd_t *bis, int id, int (*wp)(int), int (*cd)(int));
+int mxsmmc_initialize(struct bd_info *bis, int id, int (*wp)(int),
+		      int (*cd)(int));
 
 #ifdef CONFIG_SPL_BUILD
 
diff --git a/arch/arm/lib/bootm-fdt.c b/arch/arm/lib/bootm-fdt.c
index 04f566d2b0..02a49a8e10 100644
--- a/arch/arm/lib/bootm-fdt.c
+++ b/arch/arm/lib/bootm-fdt.c
@@ -35,7 +35,7 @@ int arch_fixup_fdt(void *blob)
 {
 	__maybe_unused int ret = 0;
 #if defined(CONFIG_ARMV7_NONSEC) || defined(CONFIG_OF_LIBFDT)
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 	int bank;
 	u64 start[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 2df98d3e01..1206e306db 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -124,7 +124,7 @@ static void announce_and_cleanup(int fake)
 	cleanup_before_linux();
 }
 
-static void setup_start_tag (bd_t *bd)
+static void setup_start_tag (struct bd_info *bd)
 {
 	params = (struct tag *)bd->bi_boot_params;
 
@@ -138,7 +138,7 @@ static void setup_start_tag (bd_t *bd)
 	params = tag_next (params);
 }
 
-static void setup_memory_tags(bd_t *bd)
+static void setup_memory_tags(struct bd_info *bd)
 {
 	int i;
 
@@ -153,7 +153,7 @@ static void setup_memory_tags(bd_t *bd)
 	}
 }
 
-static void setup_commandline_tag(bd_t *bd, char *commandline)
+static void setup_commandline_tag(struct bd_info *bd, char *commandline)
 {
 	char *p;
 
@@ -178,7 +178,8 @@ static void setup_commandline_tag(bd_t *bd, char *commandline)
 	params = tag_next (params);
 }
 
-static void setup_initrd_tag(bd_t *bd, ulong initrd_start, ulong initrd_end)
+static void setup_initrd_tag(struct bd_info *bd, ulong initrd_start,
+			     ulong initrd_end)
 {
 	/* an ATAG_INITRD node tells the kernel where the compressed
 	 * ramdisk can be found. ATAG_RDIMG is a better name, actually.
@@ -217,7 +218,7 @@ static void setup_revision_tag(struct tag **in_params)
 	params = tag_next (params);
 }
 
-static void setup_end_tag(bd_t *bd)
+static void setup_end_tag(struct bd_info *bd)
 {
 	params->hdr.tag = ATAG_NONE;
 	params->hdr.size = 0;
diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index 1da2e92fe2..c9d8a68727 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -92,7 +92,7 @@ void mmu_set_region_dcache_behaviour(phys_addr_t start, size_t size,
 
 __weak void dram_bank_mmu_setup(int bank)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 	int	i;
 
 	/* bd->bi_dram is available only after relocation */
diff --git a/arch/arm/mach-davinci/include/mach/sdmmc_defs.h b/arch/arm/mach-davinci/include/mach/sdmmc_defs.h
index 46f6391aa2..6dc528511b 100644
--- a/arch/arm/mach-davinci/include/mach/sdmmc_defs.h
+++ b/arch/arm/mach-davinci/include/mach/sdmmc_defs.h
@@ -152,6 +152,6 @@ struct davinci_mmc {
 	struct mmc_config cfg;
 };
 
-int davinci_mmc_init(bd_t *bis, struct davinci_mmc *host);
+int davinci_mmc_init(struct bd_info *bis, struct davinci_mmc *host);
 
 #endif /* _SDMMC_DEFS_H */
diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c
index f2070c9714..40acd6cb1c 100644
--- a/arch/arm/mach-imx/cpu.c
+++ b/arch/arm/mach-imx/cpu.c
@@ -229,7 +229,7 @@ int print_cpuinfo(void)
 }
 #endif
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	int rc = -ENODEV;
 
@@ -245,7 +245,7 @@ int cpu_eth_init(bd_t *bis)
  * Initializes on-chip MMC controllers.
  * to override, implement board_mmc_init()
  */
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	return fsl_esdhc_mmc_init(bis);
 }
diff --git a/arch/arm/mach-imx/imx8/ahab.c b/arch/arm/mach-imx/imx8/ahab.c
index 22e76d535f..5dbe1d56e0 100644
--- a/arch/arm/mach-imx/imx8/ahab.c
+++ b/arch/arm/mach-imx/imx8/ahab.c
@@ -26,7 +26,7 @@ DECLARE_GLOBAL_DATA_PTR;
 static inline bool check_in_dram(ulong addr)
 {
 	int i;
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) {
 		if (bd->bi_dram[i].size) {
diff --git a/arch/arm/mach-imx/imx8/fdt.c b/arch/arm/mach-imx/imx8/fdt.c
index 7d70498fc8..3e05b972a4 100644
--- a/arch/arm/mach-imx/imx8/fdt.c
+++ b/arch/arm/mach-imx/imx8/fdt.c
@@ -228,7 +228,7 @@ static int config_smmu_fdt(void *blob)
 	return 0;
 }
 
-static int ft_add_optee_node(void *fdt, bd_t *bd)
+static int ft_add_optee_node(void *fdt, struct bd_info *bd)
 {
 	const char *path, *subpath;
 	int offs;
@@ -278,7 +278,7 @@ static int ft_add_optee_node(void *fdt, bd_t *bd)
 	return 0;
 }
 
-int ft_system_setup(void *blob, bd_t *bd)
+int ft_system_setup(void *blob, struct bd_info *bd)
 {
 	int ret;
 	int off;
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index 1d2c8e6db2..2bfd635191 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -372,7 +372,7 @@ bool is_usb_boot(void)
 }
 
 #ifdef CONFIG_OF_SYSTEM_SETUP
-int ft_system_setup(void *blob, bd_t *bd)
+int ft_system_setup(void *blob, struct bd_info *bd)
 {
 	int i = 0;
 	int rc;
diff --git a/arch/arm/mach-imx/mx6/litesom.c b/arch/arm/mach-imx/mx6/litesom.c
index 596773f054..92176dc861 100644
--- a/arch/arm/mach-imx/mx6/litesom.c
+++ b/arch/arm/mach-imx/mx6/litesom.c
@@ -56,7 +56,7 @@ static struct fsl_esdhc_cfg emmc_cfg = {USDHC2_BASE_ADDR, 0, 8};
 
 #define EMMC_PWR_GPIO	IMX_GPIO_NR(4, 10)
 
-int litesom_mmc_init(bd_t *bis)
+int litesom_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/arch/arm/mach-imx/mx6/module_fuse.c b/arch/arm/mach-imx/mx6/module_fuse.c
index 3e94416065..0f4565e311 100644
--- a/arch/arm/mach-imx/mx6/module_fuse.c
+++ b/arch/arm/mach-imx/mx6/module_fuse.c
@@ -190,7 +190,7 @@ u32 check_module_fused(enum fuse_module_type module)
 }
 
 #ifdef CONFIG_OF_SYSTEM_SETUP
-int ft_system_setup(void *blob, bd_t *bd)
+int ft_system_setup(void *blob, struct bd_info *bd)
 {
 	const char *status = "disabled";
 	u32 i, reg;
diff --git a/arch/arm/mach-kirkwood/cpu.c b/arch/arm/mach-kirkwood/cpu.c
index fa26903593..551c22a8ea 100644
--- a/arch/arm/mach-kirkwood/cpu.c
+++ b/arch/arm/mach-kirkwood/cpu.c
@@ -272,7 +272,7 @@ int arch_misc_init(void)
 #endif /* CONFIG_ARCH_MISC_INIT */
 
 #ifdef CONFIG_MVGBE
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	mvgbe_initialize(bis);
 	return 0;
@@ -280,7 +280,7 @@ int cpu_eth_init(bd_t *bis)
 #endif
 
 #ifdef CONFIG_MVEBU_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	mvebu_mmc_init(bis);
 	return 0;
diff --git a/arch/arm/mach-lpc32xx/cpu.c b/arch/arm/mach-lpc32xx/cpu.c
index ee15a9453d..32af620605 100644
--- a/arch/arm/mach-lpc32xx/cpu.c
+++ b/arch/arm/mach-lpc32xx/cpu.c
@@ -72,7 +72,7 @@ int print_cpuinfo(void)
 #endif
 
 #ifdef CONFIG_LPC32XX_ETH
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	lpc32xx_eth_initialize(bis);
 	return 0;
diff --git a/arch/arm/mach-meson/board-common.c b/arch/arm/mach-meson/board-common.c
index 19e5bfd366..0f21ec8e53 100644
--- a/arch/arm/mach-meson/board-common.c
+++ b/arch/arm/mach-meson/board-common.c
@@ -52,12 +52,12 @@ int dram_init(void)
 	return 0;
 }
 
-__weak int meson_ft_board_setup(void *blob, bd_t *bd)
+__weak int meson_ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	meson_init_reserved_memory(blob);
 
diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c
index 3a63dafde4..7dce11e77f 100644
--- a/arch/arm/mach-mvebu/cpu.c
+++ b/arch/arm/mach-mvebu/cpu.c
@@ -525,7 +525,7 @@ int arch_misc_init(void)
 #endif /* CONFIG_ARCH_MISC_INIT */
 
 #if defined(CONFIG_MMC_SDHCI_MV) && !defined(CONFIG_DM_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	mv_sdh_init(MVEBU_SDIO_BASE, 0, 0,
 		    SDHCI_QUIRK_32BIT_DMA_ADDR | SDHCI_QUIRK_WAIT_SEND_CMD);
diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c
index ce58bf811f..a7b56b6bb3 100644
--- a/arch/arm/mach-omap2/am33xx/board.c
+++ b/arch/arm/mach-omap2/am33xx/board.c
@@ -160,7 +160,7 @@ const struct gpio_bank *const omap_gpio_bank = gpio_bank_am33xx;
 #endif
 
 #if defined(CONFIG_MMC_OMAP_HS)
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/arch/arm/mach-omap2/am33xx/fdt.c b/arch/arm/mach-omap2/am33xx/fdt.c
index c81dc808e5..2ec30b1f9c 100644
--- a/arch/arm/mach-omap2/am33xx/fdt.c
+++ b/arch/arm/mach-omap2/am33xx/fdt.c
@@ -14,7 +14,7 @@
 
 #ifdef CONFIG_TI_SECURE_DEVICE
 
-static void ft_hs_fixups(void *fdt, bd_t *bd)
+static void ft_hs_fixups(void *fdt, struct bd_info *bd)
 {
 	/* Check we are running on an HS/EMU device type */
 	if (GP_DEVICE != get_device_type()) {
@@ -29,7 +29,7 @@ static void ft_hs_fixups(void *fdt, bd_t *bd)
 	hang();
 }
 #else
-static void ft_hs_fixups(void *fdt, bd_t *bd) { }
+static void ft_hs_fixups(void *fdt, struct bd_info *bd) { }
 #endif /* #ifdef CONFIG_TI_SECURE_DEVICE */
 
 /*
@@ -37,7 +37,7 @@ static void ft_hs_fixups(void *fdt, bd_t *bd) { }
  * fixups should remain in the board files which is where
  * this function should be called from.
  */
-void ft_cpu_setup(void *fdt, bd_t *bd)
+void ft_cpu_setup(void *fdt, struct bd_info *bd)
 {
 	ft_hs_fixups(fdt, bd);
 }
diff --git a/arch/arm/mach-omap2/fdt-common.c b/arch/arm/mach-omap2/fdt-common.c
index 5f344f8283..5eb0447312 100644
--- a/arch/arm/mach-omap2/fdt-common.c
+++ b/arch/arm/mach-omap2/fdt-common.c
@@ -21,7 +21,7 @@
 #define CONFIG_SECURE_RUNTIME_RESV_SRAM_SZ (0)
 #endif
 
-int ft_hs_disable_rng(void *fdt, bd_t *bd)
+int ft_hs_disable_rng(void *fdt, struct bd_info *bd)
 {
 	const char *path;
 	int offs;
@@ -69,7 +69,7 @@ static int fdt_pack_reg(const void *fdt, void *buf, u64 address, u64 size)
 	return p - (char *)buf;
 }
 
-int ft_hs_fixup_dram(void *fdt, bd_t *bd)
+int ft_hs_fixup_dram(void *fdt, struct bd_info *bd)
 {
 	const char *path, *subpath;
 	int offs, len;
@@ -122,10 +122,10 @@ int ft_hs_fixup_dram(void *fdt, bd_t *bd)
 	return 0;
 }
 #else
-int ft_hs_fixup_dram(void *fdt, bd_t *bd) { return 0; }
+int ft_hs_fixup_dram(void *fdt, struct bd_info *bd) { return 0; }
 #endif
 
-int ft_hs_add_tee(void *fdt, bd_t *bd)
+int ft_hs_add_tee(void *fdt, struct bd_info *bd)
 {
 	const char *path, *subpath;
 	int offs;
diff --git a/arch/arm/mach-omap2/omap-cache.c b/arch/arm/mach-omap2/omap-cache.c
index 2c9ada060c..502ea6987a 100644
--- a/arch/arm/mach-omap2/omap-cache.c
+++ b/arch/arm/mach-omap2/omap-cache.c
@@ -55,7 +55,7 @@ void enable_caches(void)
 
 void dram_bank_mmu_setup(int bank)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 	int	i;
 
 	u32 start = bd->bi_dram[bank].start >> MMU_SECTION_SHIFT;
diff --git a/arch/arm/mach-omap2/omap3/emac.c b/arch/arm/mach-omap2/omap3/emac.c
index eecc5d334e..d0d0b7a75a 100644
--- a/arch/arm/mach-omap2/omap3/emac.c
+++ b/arch/arm/mach-omap2/omap3/emac.c
@@ -15,7 +15,7 @@
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
  */
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	u32 reset;
 
diff --git a/arch/arm/mach-omap2/omap5/fdt.c b/arch/arm/mach-omap2/omap5/fdt.c
index 3f8474b8d0..c4162420f3 100644
--- a/arch/arm/mach-omap2/omap5/fdt.c
+++ b/arch/arm/mach-omap2/omap5/fdt.c
@@ -29,7 +29,7 @@ static u32 hs_irq_skip[] = {
 	118	/* One interrupt for Crypto DMA by secure world */
 };
 
-static int ft_hs_fixup_crossbar(void *fdt, bd_t *bd)
+static int ft_hs_fixup_crossbar(void *fdt, struct bd_info *bd)
 {
 	const char *path;
 	int offs;
@@ -93,7 +93,7 @@ static int ft_hs_fixup_crossbar(void *fdt, bd_t *bd)
 
 #if ((TI_OMAP5_SECURE_BOOT_RESV_SRAM_SZ != 0) || \
     (CONFIG_SECURE_RUNTIME_RESV_SRAM_SZ != 0))
-static int ft_hs_fixup_sram(void *fdt, bd_t *bd)
+static int ft_hs_fixup_sram(void *fdt, struct bd_info *bd)
 {
 	const char *path;
 	int offs;
@@ -128,10 +128,10 @@ static int ft_hs_fixup_sram(void *fdt, bd_t *bd)
 	return 0;
 }
 #else
-static int ft_hs_fixup_sram(void *fdt, bd_t *bd) { return 0; }
+static int ft_hs_fixup_sram(void *fdt, struct bd_info *bd) { return 0; }
 #endif
 
-static void ft_hs_fixups(void *fdt, bd_t *bd)
+static void ft_hs_fixups(void *fdt, struct bd_info *bd)
 {
 	/* Check we are running on an HS/EMU device type */
 	if (GP_DEVICE != get_device_type()) {
@@ -148,7 +148,7 @@ static void ft_hs_fixups(void *fdt, bd_t *bd)
 	hang();
 }
 #else
-static void ft_hs_fixups(void *fdt, bd_t *bd)
+static void ft_hs_fixups(void *fdt, struct bd_info *bd)
 {
 }
 #endif /* #ifdef CONFIG_TI_SECURE_DEVICE */
@@ -255,7 +255,7 @@ static int ft_fixup_clocks(void *fdt, const char **names, u32 *rates, int num)
 	return 0;
 }
 
-static void ft_opp_clock_fixups(void *fdt, bd_t *bd)
+static void ft_opp_clock_fixups(void *fdt, struct bd_info *bd)
 {
 	const char **clk_names;
 	u32 *clk_rates;
@@ -299,7 +299,7 @@ static void ft_opp_clock_fixups(void *fdt, bd_t *bd)
 	}
 }
 #else
-static void ft_opp_clock_fixups(void *fdt, bd_t *bd) { }
+static void ft_opp_clock_fixups(void *fdt, struct bd_info *bd) { }
 #endif /* CONFIG_TARGET_DRA7XX_EVM || CONFIG_TARGET_AM57XX_EVM */
 
 /*
@@ -307,7 +307,7 @@ static void ft_opp_clock_fixups(void *fdt, bd_t *bd) { }
  * fixups should remain in the board files which is where
  * this function should be called from.
  */
-void ft_cpu_setup(void *fdt, bd_t *bd)
+void ft_cpu_setup(void *fdt, struct bd_info *bd)
 {
 	ft_hs_fixups(fdt, bd);
 	ft_opp_clock_fixups(fdt, bd);
diff --git a/arch/arm/mach-orion5x/cpu.c b/arch/arm/mach-orion5x/cpu.c
index d9abcacbb4..beae7b8484 100644
--- a/arch/arm/mach-orion5x/cpu.c
+++ b/arch/arm/mach-orion5x/cpu.c
@@ -290,7 +290,7 @@ int arch_misc_init(void)
 #endif /* CONFIG_ARCH_MISC_INIT */
 
 #ifdef CONFIG_MVGBE
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	mvgbe_initialize(bis);
 	return 0;
diff --git a/arch/arm/mach-rmobile/emac.c b/arch/arm/mach-rmobile/emac.c
index 3211dfee02..cb9bce0cf2 100644
--- a/arch/arm/mach-rmobile/emac.c
+++ b/arch/arm/mach-rmobile/emac.c
@@ -11,7 +11,7 @@
 #include <linux/errno.h>
 #include <netdev.h>
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	int ret = -ENODEV;
 #ifdef CONFIG_SH_ETHER
diff --git a/arch/arm/mach-stm32mp/fdt.c b/arch/arm/mach-stm32mp/fdt.c
index 959f12efe1..0de1d82291 100644
--- a/arch/arm/mach-stm32mp/fdt.c
+++ b/arch/arm/mach-stm32mp/fdt.c
@@ -248,7 +248,7 @@ static void stm32_fdt_disable_optee(void *blob)
  * This function is called right before the kernel is booted. "blob" is the
  * device tree that will be passed to the kernel.
  */
-int ft_system_setup(void *blob, bd_t *bd)
+int ft_system_setup(void *blob, struct bd_info *bd)
 {
 	int ret = 0;
 	int soc;
diff --git a/arch/arm/mach-tegra/dt-setup.c b/arch/arm/mach-tegra/dt-setup.c
index 8ac723f41e..602b20e6b7 100644
--- a/arch/arm/mach-tegra/dt-setup.c
+++ b/arch/arm/mach-tegra/dt-setup.c
@@ -10,7 +10,7 @@
  * This function is called right before the kernel is booted. "blob" is the
  * device tree that will be passed to the kernel.
  */
-int ft_system_setup(void *blob, bd_t *bd)
+int ft_system_setup(void *blob, struct bd_info *bd)
 {
 	const char *gpu_compats[] = {
 #if defined(CONFIG_TEGRA124)
diff --git a/arch/arm/mach-uniphier/fdt-fixup.c b/arch/arm/mach-uniphier/fdt-fixup.c
index 980c260f4c..dfa32fdd48 100644
--- a/arch/arm/mach-uniphier/fdt-fixup.c
+++ b/arch/arm/mach-uniphier/fdt-fixup.c
@@ -18,7 +18,7 @@
  * The DRAM PHY requires 64 byte scratch area in each DRAM channel
  * for its dynamic PHY training feature.
  */
-static int uniphier_ld20_fdt_mem_rsv(void *fdt, bd_t *bd)
+static int uniphier_ld20_fdt_mem_rsv(void *fdt, struct bd_info *bd)
 {
 	unsigned long rsv_addr;
 	const unsigned long rsv_size = 64;
@@ -46,7 +46,7 @@ static int uniphier_ld20_fdt_mem_rsv(void *fdt, bd_t *bd)
 	return 0;
 }
 
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	static const struct node_info nodes[] = {
 		{ "socionext,uniphier-denali-nand-v5a", MTD_DEV_TYPE_NAND },
diff --git a/arch/m68k/cpu/mcf523x/cpu.c b/arch/m68k/cpu/mcf523x/cpu.c
index d521a8a2e4..a3a79fb4d2 100644
--- a/arch/m68k/cpu/mcf523x/cpu.c
+++ b/arch/m68k/cpu/mcf523x/cpu.c
@@ -108,7 +108,7 @@ int watchdog_init(void)
  * 	int board_eth_init(bd_t *bis)
  */
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	return mcffec_initialize(bis);
 }
diff --git a/arch/m68k/cpu/mcf52x2/cpu.c b/arch/m68k/cpu/mcf52x2/cpu.c
index d3d4e30ad5..1ca28e46ce 100644
--- a/arch/m68k/cpu/mcf52x2/cpu.c
+++ b/arch/m68k/cpu/mcf52x2/cpu.c
@@ -423,7 +423,7 @@ int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
  * 	int board_eth_init(bd_t *bis)
  */
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	return mcffec_initialize(bis);
 }
diff --git a/arch/m68k/cpu/mcf532x/cpu.c b/arch/m68k/cpu/mcf532x/cpu.c
index 72bfdf056b..805108f7ac 100644
--- a/arch/m68k/cpu/mcf532x/cpu.c
+++ b/arch/m68k/cpu/mcf532x/cpu.c
@@ -149,7 +149,7 @@ int watchdog_init(void)
  * create a board-specific function called:
  * 	int board_eth_init(bd_t *bis)
  */
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	return mcffec_initialize(bis);
 }
diff --git a/arch/m68k/cpu/mcf5445x/cpu.c b/arch/m68k/cpu/mcf5445x/cpu.c
index 886f29d1b6..f5c1947b22 100644
--- a/arch/m68k/cpu/mcf5445x/cpu.c
+++ b/arch/m68k/cpu/mcf5445x/cpu.c
@@ -112,7 +112,7 @@ int print_cpuinfo(void)
  * 	int board_eth_init(bd_t *bis)
  */
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 	return mcffec_initialize(bis);
 }
diff --git a/arch/m68k/cpu/mcf547x_8x/cpu.c b/arch/m68k/cpu/mcf547x_8x/cpu.c
index 59cdfe70e4..76d2e77fc0 100644
--- a/arch/m68k/cpu/mcf547x_8x/cpu.c
+++ b/arch/m68k/cpu/mcf547x_8x/cpu.c
@@ -139,7 +139,7 @@ int watchdog_init(void)
  * 	int board_eth_init(bd_t *bis)
  */
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FSLDMAFEC)
 	mcdmafec_initialize(bis);
diff --git a/arch/m68k/lib/bootm.c b/arch/m68k/lib/bootm.c
index aa17929b9e..320451144f 100644
--- a/arch/m68k/lib/bootm.c
+++ b/arch/m68k/lib/bootm.c
@@ -27,7 +27,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #define LINUX_MAX_ARGS		256
 
 static ulong get_sp (void);
-static void set_clocks_in_mhz (bd_t *kbd);
+static void set_clocks_in_mhz (struct bd_info *kbd);
 
 void arch_lmb_reserve(struct lmb *lmb)
 {
@@ -54,8 +54,8 @@ int do_bootm_linux(int flag, int argc, char *const argv[],
 		   bootm_headers_t *images)
 {
 	int ret;
-	bd_t  *kbd;
-	void  (*kernel) (bd_t *, ulong, ulong, ulong, ulong);
+	struct bd_info  *kbd;
+	void  (*kernel) (struct bd_info *, ulong, ulong, ulong, ulong);
 	struct lmb *lmb = &images->lmb;
 
 	/*
@@ -79,7 +79,7 @@ int do_bootm_linux(int flag, int argc, char *const argv[],
 	if (ret)
 		goto error;
 
-	kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))images->ep;
+	kernel = (void (*)(struct bd_info *, ulong, ulong, ulong, ulong))images->ep;
 
 	debug("## Transferring control to Linux (at address %08lx) ...\n",
 	      (ulong) kernel);
@@ -112,7 +112,7 @@ static ulong get_sp (void)
 	return sp;
 }
 
-static void set_clocks_in_mhz (bd_t *kbd)
+static void set_clocks_in_mhz (struct bd_info *kbd)
 {
 	char *s;
 
diff --git a/arch/nds32/lib/bootm.c b/arch/nds32/lib/bootm.c
index ab539f4036..e552a34230 100644
--- a/arch/nds32/lib/bootm.c
+++ b/arch/nds32/lib/bootm.c
@@ -23,24 +23,25 @@ DECLARE_GLOBAL_DATA_PTR;
 	defined(CONFIG_INITRD_TAG) || \
 	defined(CONFIG_SERIAL_TAG) || \
 	defined(CONFIG_REVISION_TAG)
-static void setup_start_tag(bd_t *bd);
+static void setup_start_tag(struct bd_info *bd);
 
 # ifdef CONFIG_SETUP_MEMORY_TAGS
-static void setup_memory_tags(bd_t *bd);
+static void setup_memory_tags(struct bd_info *bd);
 # endif
-static void setup_commandline_tag(bd_t *bd, char *commandline);
+static void setup_commandline_tag(struct bd_info *bd, char *commandline);
 
 # ifdef CONFIG_INITRD_TAG
-static void setup_initrd_tag(bd_t *bd, ulong initrd_start, ulong initrd_end);
+static void setup_initrd_tag(struct bd_info *bd, ulong initrd_start,
+			     ulong initrd_end);
 # endif
-static void setup_end_tag(bd_t *bd);
+static void setup_end_tag(struct bd_info *bd);
 
 static struct tag *params;
 #endif /* CONFIG_SETUP_MEMORY_TAGS || CONFIG_CMDLINE_TAG || CONFIG_INITRD_TAG */
 
 int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 {
-	bd_t	*bd = gd->bd;
+	struct bd_info	*bd = gd->bd;
 	char	*s;
 	int	machid = bd->bi_arch_number;
 	void	(*theKernel)(int zero, int arch, uint params);
@@ -130,7 +131,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 	defined(CONFIG_INITRD_TAG) || \
 	defined(CONFIG_SERIAL_TAG) || \
 	defined(CONFIG_REVISION_TAG)
-static void setup_start_tag(bd_t *bd)
+static void setup_start_tag(struct bd_info *bd)
 {
 	params = (struct tag *)bd->bi_boot_params;
 
@@ -145,7 +146,7 @@ static void setup_start_tag(bd_t *bd)
 }
 
 #ifdef CONFIG_SETUP_MEMORY_TAGS
-static void setup_memory_tags(bd_t *bd)
+static void setup_memory_tags(struct bd_info *bd)
 {
 	int i;
 
@@ -161,7 +162,7 @@ static void setup_memory_tags(bd_t *bd)
 }
 #endif /* CONFIG_SETUP_MEMORY_TAGS */
 
-static void setup_commandline_tag(bd_t *bd, char *commandline)
+static void setup_commandline_tag(struct bd_info *bd, char *commandline)
 {
 	char *p;
 
@@ -189,7 +190,8 @@ static void setup_commandline_tag(bd_t *bd, char *commandline)
 }
 
 #ifdef CONFIG_INITRD_TAG
-static void setup_initrd_tag(bd_t *bd, ulong initrd_start, ulong initrd_end)
+static void setup_initrd_tag(struct bd_info *bd, ulong initrd_start,
+			     ulong initrd_end)
 {
 	/* an ATAG_INITRD node tells the kernel where the compressed
 	 * ramdisk can be found. ATAG_RDIMG is a better name, actually.
@@ -235,7 +237,7 @@ void setup_revision_tag(struct tag **in_params)
 }
 #endif  /* CONFIG_REVISION_TAG */
 
-static void setup_end_tag(bd_t *bd)
+static void setup_end_tag(struct bd_info *bd)
 {
 	params->hdr.tag = ATAG_NONE;
 	params->hdr.size = 0;
diff --git a/arch/powerpc/cpu/mpc83xx/cpu.c b/arch/powerpc/cpu/mpc83xx/cpu.c
index 49c75a0e50..843f2df649 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu.c
@@ -184,7 +184,7 @@ void watchdog_reset (void)
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
  */
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_UEC_ETH)
 	uec_standard_init(bis);
@@ -201,7 +201,7 @@ int cpu_eth_init(bd_t *bis)
  * Initializes on-chip MMC controllers.
  * to override, implement board_mmc_init()
  */
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FSL_ESDHC
 	return fsl_esdhc_mmc_init(bis);
diff --git a/arch/powerpc/cpu/mpc83xx/fdt.c b/arch/powerpc/cpu/mpc83xx/fdt.c
index 5c685353e1..ebdedb2888 100644
--- a/arch/powerpc/cpu/mpc83xx/fdt.c
+++ b/arch/powerpc/cpu/mpc83xx/fdt.c
@@ -31,7 +31,7 @@ void fdt_fixup_muram (void *blob)
 }
 #endif
 
-void ft_cpu_setup(void *blob, bd_t *bd)
+void ft_cpu_setup(void *blob, struct bd_info *bd)
 {
 	immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
 	int spridr = immr->sysconf.spridr;
diff --git a/arch/powerpc/cpu/mpc83xx/interrupts.c b/arch/powerpc/cpu/mpc83xx/interrupts.c
index d04f31df50..05380674dc 100644
--- a/arch/powerpc/cpu/mpc83xx/interrupts.c
+++ b/arch/powerpc/cpu/mpc83xx/interrupts.c
@@ -72,7 +72,7 @@ void timer_interrupt_cpu (struct pt_regs *regs)
  * irqinfo - print information about PCI devices
  */
 
-void do_irqinfo(struct cmd_tbl *cmdtp, bd_t *bd, int flag, int argc,
+void do_irqinfo(struct cmd_tbl *cmdtp, struct bd_info *bd, int flag, int argc,
 		char *const argv[])
 {
 }
diff --git a/arch/powerpc/cpu/mpc83xx/pci.c b/arch/powerpc/cpu/mpc83xx/pci.c
index f017985ae9..d057cd6351 100644
--- a/arch/powerpc/cpu/mpc83xx/pci.c
+++ b/arch/powerpc/cpu/mpc83xx/pci.c
@@ -185,7 +185,7 @@ void mpc83xx_pcislave_unlock(int bus)
 #endif
 
 #if defined(CONFIG_OF_LIBFDT)
-void ft_pci_setup(void *blob, bd_t *bd)
+void ft_pci_setup(void *blob, struct bd_info *bd)
 {
 	int nodeoffset;
 	int tmp[2];
diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c
index 9bd573dbd6..3ff1ef4565 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu.c
@@ -377,7 +377,7 @@ watchdog_reset(void)
  * Initializes on-chip MMC controllers.
  * to override, implement board_mmc_init()
  */
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FSL_ESDHC
 	return fsl_esdhc_mmc_init(bis);
diff --git a/arch/powerpc/cpu/mpc85xx/ether_fcc.c b/arch/powerpc/cpu/mpc85xx/ether_fcc.c
index 5dd56c861b..3c4eb1a7eb 100644
--- a/arch/powerpc/cpu/mpc85xx/ether_fcc.c
+++ b/arch/powerpc/cpu/mpc85xx/ether_fcc.c
@@ -206,7 +206,7 @@ static int fec_recv(struct eth_device* dev)
 }
 
 
-static int fec_init(struct eth_device* dev, bd_t *bis)
+static int fec_init(struct eth_device* dev, struct bd_info *bis)
 {
     struct ether_fcc_info_s * info = dev->priv;
     int i;
@@ -418,7 +418,7 @@ static void fec_halt(struct eth_device* dev)
     }
 }
 
-int fec_initialize(bd_t *bis)
+int fec_initialize(struct bd_info *bis)
 {
 	struct eth_device* dev;
 	int i;
diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
index 55f191f202..9569c1a64b 100644
--- a/arch/powerpc/cpu/mpc85xx/fdt.c
+++ b/arch/powerpc/cpu/mpc85xx/fdt.c
@@ -597,7 +597,7 @@ static void fdt_fixup_l2_switch(void *blob)
 #define fdt_fixup_l2_switch(x)
 #endif
 
-void ft_cpu_setup(void *blob, bd_t *bd)
+void ft_cpu_setup(void *blob, struct bd_info *bd)
 {
 	int off;
 	int val;
diff --git a/arch/powerpc/cpu/mpc86xx/fdt.c b/arch/powerpc/cpu/mpc86xx/fdt.c
index 82262da262..24e53115ec 100644
--- a/arch/powerpc/cpu/mpc86xx/fdt.c
+++ b/arch/powerpc/cpu/mpc86xx/fdt.c
@@ -11,7 +11,7 @@
 extern void ft_fixup_num_cores(void *blob);
 extern void ft_srio_setup(void *blob);
 
-void ft_cpu_setup(void *blob, bd_t *bd)
+void ft_cpu_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_MP
 	int off;
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 1b7c7fa01b..7c93e35003 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -277,7 +277,7 @@ unsigned long get_tbclk(void)
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
  */
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_MPC8XX_FEC)
 	fec_initialize(bis);
diff --git a/arch/powerpc/cpu/mpc8xx/fdt.c b/arch/powerpc/cpu/mpc8xx/fdt.c
index 4719de4d72..4d952a3882 100644
--- a/arch/powerpc/cpu/mpc8xx/fdt.c
+++ b/arch/powerpc/cpu/mpc8xx/fdt.c
@@ -12,7 +12,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-void ft_cpu_setup(void *blob, bd_t *bd)
+void ft_cpu_setup(void *blob, struct bd_info *bd)
 {
 	do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
 			     "timebase-frequency", get_tbclk(), 1);
diff --git a/arch/powerpc/cpu/mpc8xxx/cpu.c b/arch/powerpc/cpu/mpc8xxx/cpu.c
index da0a80e6fc..2b24e755fa 100644
--- a/arch/powerpc/cpu/mpc8xxx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xxx/cpu.c
@@ -347,7 +347,7 @@ int fixup_cpu(void)
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
  */
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_ETHER_ON_FCC)
 	fec_initialize(bis);
diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c
index cd92db0a92..8c8ed99cd3 100644
--- a/arch/powerpc/lib/bootm.c
+++ b/arch/powerpc/lib/bootm.c
@@ -38,7 +38,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 static ulong get_sp (void);
 extern void ft_fixup_num_cores(void *blob);
-static void set_clocks_in_mhz (bd_t *kbd);
+static void set_clocks_in_mhz (struct bd_info *kbd);
 
 #ifndef CONFIG_SYS_LINUX_LOWMEM_MAX_SIZE
 #define CONFIG_SYS_LINUX_LOWMEM_MAX_SIZE	(768*1024*1024)
@@ -46,13 +46,13 @@ static void set_clocks_in_mhz (bd_t *kbd);
 
 static void boot_jump_linux(bootm_headers_t *images)
 {
-	void	(*kernel)(bd_t *, ulong r4, ulong r5, ulong r6,
-			  ulong r7, ulong r8, ulong r9);
+	void	(*kernel)(struct bd_info *, ulong r4, ulong r5, ulong r6,
+			      ulong r7, ulong r8, ulong r9);
 #ifdef CONFIG_OF_LIBFDT
 	char *of_flat_tree = images->ft_addr;
 #endif
 
-	kernel = (void (*)(bd_t *, ulong, ulong, ulong,
+	kernel = (void (*)(struct bd_info *, ulong, ulong, ulong,
 			   ulong, ulong, ulong))images->ep;
 	debug("## Transferring control to Linux (at address %08lx) ...\n",
 	      (ulong)kernel);
@@ -84,7 +84,7 @@ static void boot_jump_linux(bootm_headers_t *images)
 		 */
 		debug("   Booting using OF flat tree...\n");
 		WATCHDOG_RESET ();
-		(*kernel) ((bd_t *)of_flat_tree, 0, 0, EPAPR_MAGIC,
+		(*kernel) ((struct bd_info *)of_flat_tree, 0, 0, EPAPR_MAGIC,
 			   env_get_bootm_mapsize(), 0, 0);
 		/* does not return */
 	} else
@@ -104,7 +104,7 @@ static void boot_jump_linux(bootm_headers_t *images)
 		ulong cmd_end = images->cmdline_end;
 		ulong initrd_start = images->initrd_start;
 		ulong initrd_end = images->initrd_end;
-		bd_t *kbd = images->kbd;
+		struct bd_info *kbd = images->kbd;
 
 		debug("   Booting using board info...\n");
 		WATCHDOG_RESET ();
@@ -200,7 +200,7 @@ static int boot_bd_t_linux(bootm_headers_t *images)
 {
 	ulong of_size = images->ft_len;
 	struct lmb *lmb = &images->lmb;
-	bd_t **kbd = &images->kbd;
+	struct bd_info **kbd = &images->kbd;
 
 	int ret = 0;
 
@@ -270,7 +270,7 @@ static ulong get_sp (void)
 	return sp;
 }
 
-static void set_clocks_in_mhz (bd_t *kbd)
+static void set_clocks_in_mhz (struct bd_info *kbd)
 {
 	char	*s;
 
diff --git a/arch/sh/cpu/sh4/cpu.c b/arch/sh/cpu/sh4/cpu.c
index f032d88159..801102fc7d 100644
--- a/arch/sh/cpu/sh4/cpu.c
+++ b/arch/sh/cpu/sh4/cpu.c
@@ -36,7 +36,7 @@ int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 	return 0;
 }
 
-int cpu_eth_init(bd_t *bis)
+int cpu_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_SH_ETHER
 	sh_eth_initialize(bis);
diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c
index acc15cf2e0..1198a52eca 100644
--- a/arch/x86/lib/bootm.c
+++ b/arch/x86/lib/bootm.c
@@ -53,7 +53,7 @@ void bootm_announce_and_cleanup(void)
 #if defined(CONFIG_OF_LIBFDT) && !defined(CONFIG_OF_NO_KERNEL)
 int arch_fixup_memory_node(void *blob)
 {
-	bd_t	*bd = gd->bd;
+	struct bd_info	*bd = gd->bd;
 	int bank;
 	u64 start[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/AndesTech/adp-ae3xx/adp-ae3xx.c b/board/AndesTech/adp-ae3xx/adp-ae3xx.c
index 54f7178b36..b52cbd4d86 100644
--- a/board/AndesTech/adp-ae3xx/adp-ae3xx.c
+++ b/board/AndesTech/adp-ae3xx/adp-ae3xx.c
@@ -59,7 +59,7 @@ int dram_init_banksize(void)
 }
 
 #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH)
-int board_eth_init(bd_t *bd)
+int board_eth_init(struct bd_info *bd)
 {
 	return ftmac100_initialize(bd);
 }
diff --git a/board/AndesTech/adp-ag101p/adp-ag101p.c b/board/AndesTech/adp-ag101p/adp-ag101p.c
index 23cdf4f578..3dd880f3d6 100644
--- a/board/AndesTech/adp-ag101p/adp-ag101p.c
+++ b/board/AndesTech/adp-ag101p/adp-ag101p.c
@@ -66,7 +66,7 @@ int dram_init_banksize(void)
 }
 
 #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH)
-int board_eth_init(bd_t *bd)
+int board_eth_init(struct bd_info *bd)
 {
 	return ftmac100_initialize(bd);
 }
diff --git a/board/AndesTech/ax25-ae350/ax25-ae350.c b/board/AndesTech/ax25-ae350/ax25-ae350.c
index da5bc5b1f1..add0d56ef2 100644
--- a/board/AndesTech/ax25-ae350/ax25-ae350.c
+++ b/board/AndesTech/ax25-ae350/ax25-ae350.c
@@ -43,7 +43,7 @@ int dram_init_banksize(void)
 }
 
 #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH)
-int board_eth_init(bd_t *bd)
+int board_eth_init(struct bd_info *bd)
 {
 	return ftmac100_initialize(bd);
 }
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c
index 6a17aeb78e..5416a5b663 100644
--- a/board/Arcturus/ucp1020/spl.c
+++ b/board/Arcturus/ucp1020/spl.c
@@ -77,11 +77,11 @@ void board_init_r(gd_t *gd, ulong dest_addr)
 {
 	/* Pointer is writable since we allocated a register for it */
 	gd = (gd_t *)CONFIG_SPL_GD_ADDR;
-	bd_t *bd;
+	struct bd_info *bd;
 
 	memset(gd, 0, sizeof(gd_t));
-	bd = (bd_t *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L2_SIZE;
diff --git a/board/Arcturus/ucp1020/ucp1020.c b/board/Arcturus/ucp1020/ucp1020.c
index 240e804137..24d1d57ec4 100644
--- a/board/Arcturus/ucp1020/ucp1020.c
+++ b/board/Arcturus/ucp1020/ucp1020.c
@@ -262,7 +262,7 @@ int last_stage_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[4];
@@ -307,7 +307,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/BuR/common/bur_common.h b/board/BuR/common/bur_common.h
index 618cebc1a5..c64ebe93b0 100644
--- a/board/BuR/common/bur_common.h
+++ b/board/BuR/common/bur_common.h
@@ -22,7 +22,7 @@ void pmicsetup(u32 mpupll, unsigned int bus);
 void enable_uart0_pin_mux(void);
 void enable_i2c_pin_mux(void);
 void enable_board_pin_mux(void);
-int board_eth_init(bd_t *bis);
+int board_eth_init(struct bd_info *bis);
 
 int brdefaultip_setup(int bus, int chip);
 
diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c
index 3bc1d064ca..0a5104a48f 100644
--- a/board/BuR/common/common.c
+++ b/board/BuR/common/common.c
@@ -246,7 +246,7 @@ void lcd_enable(void)
 }
 #endif /* CONFIG_LCD */
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int nodeoffset;
 
diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c
index f3c3996e32..679f3eb701 100644
--- a/board/CZ.NIC/turris_mox/turris_mox.c
+++ b/board/CZ.NIC/turris_mox/turris_mox.c
@@ -700,7 +700,7 @@ static int remove_disabled_nodes(void *blob)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int node, phandle, res;
 
diff --git a/board/CarMediaLab/flea3/flea3.c b/board/CarMediaLab/flea3/flea3.c
index 61d965f5f6..11fcecb94e 100644
--- a/board/CarMediaLab/flea3/flea3.c
+++ b/board/CarMediaLab/flea3/flea3.c
@@ -206,7 +206,7 @@ u32 get_board_rev(void)
  * called prior to booting kernel or by 'fdt boardsetup' command
  *
  */
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	static const struct node_info nodes[] = {
 		{ "physmap-flash.0", MTD_DEV_TYPE_NOR, },  /* NOR flash */
diff --git a/board/Marvell/db-88f6720/db-88f6720.c b/board/Marvell/db-88f6720/db-88f6720.c
index e9897b3976..271535b763 100644
--- a/board/Marvell/db-88f6720/db-88f6720.c
+++ b/board/Marvell/db-88f6720/db-88f6720.c
@@ -86,7 +86,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis); /* Built in controller(s) come first */
 	return pci_eth_init(bis);
diff --git a/board/Marvell/db-88f6820-amc/db-88f6820-amc.c b/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
index 60ce940e1d..9cd9ea2c06 100644
--- a/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
+++ b/board/Marvell/db-88f6820-amc/db-88f6820-amc.c
@@ -124,7 +124,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis); /* Built in controller(s) come first */
 	return pci_eth_init(bis);
diff --git a/board/Marvell/db-88f6820-gp/db-88f6820-gp.c b/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
index 08a3c1cc80..2bdd55329d 100644
--- a/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
+++ b/board/Marvell/db-88f6820-gp/db-88f6820-gp.c
@@ -151,7 +151,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis); /* Built in controller(s) come first */
 	return pci_eth_init(bis);
diff --git a/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c b/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
index 63bb771ab3..8d1dbebdb7 100644
--- a/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
+++ b/board/Marvell/db-mv784mp-gp/db-mv784mp-gp.c
@@ -83,7 +83,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis); /* Built in controller(s) come first */
 	return pci_eth_init(bis);
diff --git a/board/Marvell/gplugd/gplugd.c b/board/Marvell/gplugd/gplugd.c
index 1e2f22735e..58e433fd34 100644
--- a/board/Marvell/gplugd/gplugd.c
+++ b/board/Marvell/gplugd/gplugd.c
@@ -94,7 +94,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_ARMADA100_FEC
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct armd1apmu_registers *apmu_regs =
 		(struct armd1apmu_registers *)ARMD1_APMU_BASE;
diff --git a/board/abilis/tb100/tb100.c b/board/abilis/tb100/tb100.c
index 47eb64dd1f..52dc5b8d86 100644
--- a/board/abilis/tb100/tb100.c
+++ b/board/abilis/tb100/tb100.c
@@ -15,7 +15,7 @@ void reset_cpu(ulong addr)
 	writel(0x1, (void *)CRM_SWRESET);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	if (designware_initialize(ETH0_BASE_ADDRESS, 0) >= 0)
 		return 1;
diff --git a/board/advantech/dms-ba16/dms-ba16.c b/board/advantech/dms-ba16/dms-ba16.c
index 28e505e6c5..20820fdf07 100644
--- a/board/advantech/dms-ba16/dms-ba16.c
+++ b/board/advantech/dms-ba16/dms-ba16.c
@@ -254,7 +254,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	int i;
@@ -452,7 +452,7 @@ int overwrite_console(void)
 	return 1;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_enet();
 	setup_pcie();
diff --git a/board/advantech/imx8qm_rom7720_a1/spl.c b/board/advantech/imx8qm_rom7720_a1/spl.c
index 54f48b9ba8..a2386c9ef0 100644
--- a/board/advantech/imx8qm_rom7720_a1/spl.c
+++ b/board/advantech/imx8qm_rom7720_a1/spl.c
@@ -96,7 +96,7 @@ static iomux_cfg_t usdhc2_sd[] = {
 	SC_P_USDHC2_CD_B | MUX_MODE_ALT(3) | MUX_PAD_CTRL(ESDHC_PAD_CTRL),
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, ret;
 
diff --git a/board/amazon/kc1/kc1.c b/board/amazon/kc1/kc1.c
index fb1828ff44..7d62a1d5a8 100644
--- a/board/amazon/kc1/kc1.c
+++ b/board/amazon/kc1/kc1.c
@@ -168,7 +168,7 @@ int fastboot_set_reboot_flag(void)
 	return omap_reboot_mode_store("b");
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(1, 0, 0, -1, -1);
 }
diff --git a/board/armltd/integrator/integrator.c b/board/armltd/integrator/integrator.c
index ac6462d7ff..19871bee14 100644
--- a/board/armltd/integrator/integrator.c
+++ b/board/armltd/integrator/integrator.c
@@ -174,7 +174,7 @@ extern void dram_query(void);
 }
 
 #ifdef CONFIG_CMD_NET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC91111
diff --git a/board/armltd/vexpress/vexpress_common.c b/board/armltd/vexpress/vexpress_common.c
index 9dc26b949e..70f6cd80d5 100644
--- a/board/armltd/vexpress/vexpress_common.c
+++ b/board/armltd/vexpress/vexpress_common.c
@@ -64,7 +64,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC911X
@@ -73,7 +73,7 @@ int board_eth_init(bd_t *bis)
 	return rc;
 }
 
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	int rc = 0;
 	(void) bis;
diff --git a/board/armltd/vexpress/vexpress_tc2.c b/board/armltd/vexpress/vexpress_tc2.c
index 5278ef784f..8ee24bdde7 100644
--- a/board/armltd/vexpress/vexpress_tc2.c
+++ b/board/armltd/vexpress/vexpress_tc2.c
@@ -36,7 +36,7 @@ bool armv7_boot_nonsec_default(void)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	int offset, tmp, len;
 	const struct fdt_property *prop;
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index fbfa7a18f1..efdac4a252 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -149,7 +149,7 @@ void reset_cpu(ulong addr)
 /*
  * Board specific ethernet initialization routine.
  */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC91111
diff --git a/board/atmel/at91rm9200ek/at91rm9200ek.c b/board/atmel/at91rm9200ek/at91rm9200ek.c
index e4a6776f96..8844bc7541 100644
--- a/board/atmel/at91rm9200ek/at91rm9200ek.c
+++ b/board/atmel/at91rm9200ek/at91rm9200ek.c
@@ -55,7 +55,7 @@ int dram_init (void)
 }
 
 #ifdef CONFIG_DRIVER_AT91EMAC
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return at91emac_register(bis, (u32) ATMEL_BASE_EMAC);
 }
diff --git a/board/atmel/at91sam9261ek/at91sam9261ek.c b/board/atmel/at91sam9261ek/at91sam9261ek.c
index 36f2149b61..f467a4f566 100644
--- a/board/atmel/at91sam9261ek/at91sam9261ek.c
+++ b/board/atmel/at91sam9261ek/at91sam9261ek.c
@@ -265,7 +265,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_DRIVER_DM9000
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return dm9000_initialize(bis);
 }
diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c
index f16c137565..d7ff2e1335 100644
--- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c
+++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c
@@ -207,7 +207,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_KS8851_MLL
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return ks8851_mll_initialize(0, CONFIG_KS8851_MLL_BASEADDR);
 }
diff --git a/board/bachmann/ot1200/ot1200.c b/board/bachmann/ot1200/ot1200.c
index db0da0ca2f..d3af634e3a 100644
--- a/board/bachmann/ot1200/ot1200.c
+++ b/board/bachmann/ot1200/ot1200.c
@@ -228,7 +228,7 @@ struct fsl_esdhc_cfg usdhc_cfg[2] = {
 	{USDHC4_BASE_ADDR},
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	u32 index = 0;
@@ -281,7 +281,7 @@ static void backlight_lcd_off(void)
 	gpio_direction_output(gpio, 0);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint32_t base = IMX_FEC_BASE;
 	struct mii_dev *bus = NULL;
diff --git a/board/barco/platinum/platinum.c b/board/barco/platinum/platinum.c
index 7984647e3a..f96106cb75 100644
--- a/board/barco/platinum/platinum.c
+++ b/board/barco/platinum/platinum.c
@@ -115,7 +115,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 0;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(usdhc3_pads, ARRAY_SIZE(usdhc3_pads));
 	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
@@ -163,7 +163,7 @@ int board_phy_config(struct phy_device *phydev)
 	return platinum_phy_config(phydev);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return cpu_eth_init(bis);
 }
diff --git a/board/barco/titanium/titanium.c b/board/barco/titanium/titanium.c
index 91c70a8473..7a52e94c7e 100644
--- a/board/barco/titanium/titanium.c
+++ b/board/barco/titanium/titanium.c
@@ -235,7 +235,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 0;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	/*
 	 * Only one USDHC controller on titianium
@@ -264,7 +264,7 @@ int board_phy_config(struct phy_device *phydev)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_enet();
 
diff --git a/board/birdland/bav335x/board.c b/board/birdland/bav335x/board.c
index 5900e65466..def9d3b34c 100644
--- a/board/birdland/bav335x/board.c
+++ b/board/birdland/bav335x/board.c
@@ -367,7 +367,7 @@ static struct cpsw_platform_data cpsw_data = {
 	((defined(CONFIG_DRIVER_TI_CPSW) || \
 	  defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)) && \
 	 !defined(CONFIG_SPL_BUILD))
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ecode, rv, n;
 	uint8_t mac_addr[6];
diff --git a/board/bluegiga/apx4devkit/apx4devkit.c b/board/bluegiga/apx4devkit/apx4devkit.c
index be8eefb365..739f71f5c4 100644
--- a/board/bluegiga/apx4devkit/apx4devkit.c
+++ b/board/bluegiga/apx4devkit/apx4devkit.c
@@ -59,7 +59,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_CMD_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return mxsmmc_initialize(bis, 0, NULL, NULL);
 }
@@ -77,7 +77,7 @@ int fecmxc_mii_postcall(int phy)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret;
 	struct eth_device *dev;
diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c
index 2bbb203548..dc9871d446 100644
--- a/board/bluewater/gurnard/gurnard.c
+++ b/board/bluewater/gurnard/gurnard.c
@@ -236,7 +236,7 @@ void gurnard_usb_init(void)
 #endif
 
 #ifdef CONFIG_GENERIC_ATMEL_MCI
-int cpu_mmc_init(bd_t *bis)
+int cpu_mmc_init(struct bd_info *bis)
 {
 	return atmel_mci_init((void *)ATMEL_BASE_MCI0);
 }
@@ -399,7 +399,7 @@ int board_late_init(void)
 }
 
 #ifndef CONFIG_DM_ETH
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return macb_eth_initialize(0, (void *)ATMEL_BASE_EMAC, 0);
 }
diff --git a/board/bluewater/snapper9260/snapper9260.c b/board/bluewater/snapper9260/snapper9260.c
index 8e2b7e000f..9b0a75ac5d 100644
--- a/board/bluewater/snapper9260/snapper9260.c
+++ b/board/bluewater/snapper9260/snapper9260.c
@@ -127,7 +127,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return macb_eth_initialize(0, (void *)ATMEL_BASE_EMAC0, 0x1f);
 }
diff --git a/board/bosch/shc/board.c b/board/bosch/shc/board.c
index 6a102d3853..b8f1b56502 100644
--- a/board/bosch/shc/board.c
+++ b/board/bosch/shc/board.c
@@ -472,7 +472,7 @@ int board_late_init(void)
 
 #if defined(CONFIG_USB_ETHER) && \
 	(!defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_USB_ETHER))
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return usb_eth_initialize(bis);
 }
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
index b3b121bad8..5b2d675a55 100644
--- a/board/boundary/nitrogen6x/nitrogen6x.c
+++ b/board/boundary/nitrogen6x/nitrogen6x.c
@@ -321,7 +321,7 @@ int board_phy_config(struct phy_device *phydev)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint32_t base = IMX_FEC_BASE;
 	struct mii_dev *bus = NULL;
diff --git a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
index cff9a6840c..a1e3b25c2e 100644
--- a/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
+++ b/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
@@ -76,7 +76,7 @@ int dram_init_banksize(void)
 /*
  * mmc_init - Initializes mmc
  */
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c b/board/broadcom/bcm28155_ap/bcm28155_ap.c
index e3bf808d7e..79ce54993d 100644
--- a/board/broadcom/bcm28155_ap/bcm28155_ap.c
+++ b/board/broadcom/bcm28155_ap/bcm28155_ap.c
@@ -83,7 +83,7 @@ int dram_init_banksize(void)
 /*
  * mmc_init - Initializes mmc
  */
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/broadcom/bcm_ep/board.c b/board/broadcom/bcm_ep/board.c
index 31cae47028..ad9af92b55 100644
--- a/board/broadcom/bcm_ep/board.c
+++ b/board/broadcom/bcm_ep/board.c
@@ -75,7 +75,7 @@ void smp_waitloop(unsigned previous_address)
 #endif
 
 #ifdef CONFIG_BCM_SF2_ETH
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = -1;
 	printf("Registering BCM sf2 eth\n");
diff --git a/board/calao/usb_a9263/usb_a9263.c b/board/calao/usb_a9263/usb_a9263.c
index 919e3ed27c..1fcaff6045 100644
--- a/board/calao/usb_a9263/usb_a9263.c
+++ b/board/calao/usb_a9263/usb_a9263.c
@@ -115,7 +115,7 @@ int dram_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
diff --git a/board/cavium/thunderx/thunderx.c b/board/cavium/thunderx/thunderx.c
index 1b1b9d513c..f8c2913eac 100644
--- a/board/cavium/thunderx/thunderx.c
+++ b/board/cavium/thunderx/thunderx.c
@@ -116,7 +116,7 @@ void reset_cpu(ulong addr)
 /*
  * Board specific ethernet initialization routine.
  */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
diff --git a/board/ccv/xpress/xpress.c b/board/ccv/xpress/xpress.c
index e41f0639ea..27beaeb101 100644
--- a/board/ccv/xpress/xpress.c
+++ b/board/ccv/xpress/xpress.c
@@ -178,7 +178,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(usdhc2_pads, ARRAY_SIZE(usdhc2_pads));
 
@@ -249,7 +249,7 @@ static iomux_v3_cfg_t const fec1_pads[] = {
 
 #define ENET_PHY_RESET_GPIO IMX_GPIO_NR(4, 17)
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/board/cirrus/edb93xx/edb93xx.c b/board/cirrus/edb93xx/edb93xx.c
index 0318bf18cf..cbed98b0e3 100644
--- a/board/cirrus/edb93xx/edb93xx.c
+++ b/board/cirrus/edb93xx/edb93xx.c
@@ -121,7 +121,7 @@ int board_early_init_f(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bd)
+int board_eth_init(struct bd_info *bd)
 {
 	return ep93xx_eth_initialize(0, MAC_BASE);
 }
diff --git a/board/compulab/cl-som-imx7/cl-som-imx7.c b/board/compulab/cl-som-imx7/cl-som-imx7.c
index 8b3bd5e5f6..1eef1d5507 100644
--- a/board/compulab/cl-som-imx7/cl-som-imx7.c
+++ b/board/compulab/cl-som-imx7/cl-som-imx7.c
@@ -80,7 +80,7 @@ static struct fsl_esdhc_cfg cl_som_imx7_usdhc_cfg[3] = {
 	{USDHC3_BASE_ADDR},
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, ret;
 	/*
@@ -199,7 +199,7 @@ static int cl_som_imx7_handle_mac_address(char *env_var, uint eeprom_bus)
 
 #define CL_SOM_IMX7_FEC_DEV_ID_PRI 0
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	/* set Ethernet MAC address environment */
 	cl_som_imx7_handle_mac_address("ethaddr", CONFIG_SYS_I2C_EEPROM_BUS);
diff --git a/board/compulab/cl-som-imx7/spl.c b/board/compulab/cl-som-imx7/spl.c
index 360c4df17b..9c7332b43b 100644
--- a/board/compulab/cl-som-imx7/spl.c
+++ b/board/compulab/cl-som-imx7/spl.c
@@ -23,7 +23,7 @@
 static struct fsl_esdhc_cfg cl_som_imx7_spl_usdhc_cfg = {
 	USDHC1_BASE_ADDR, 0, 4};
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	cl_som_imx7_usdhc1_pads_set();
 	cl_som_imx7_spl_usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index 4d71bedfb9..e2712680f9 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -458,7 +458,7 @@ static int handle_mac_address(char *env_var, uint eeprom_bus)
 
 #define SB_FX6_I2C_EEPROM_BUS	0
 #define NO_MAC_ADDR		"No MAC address found for %s\n"
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int err;
 
@@ -537,7 +537,7 @@ static const struct node_info nodes[] = {
 	{ "jedec,spi-nor",	MTD_DEV_TYPE_NOR,	},
 };
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u32 baseboard_rev;
 	int nodeoffset;
diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c
index 7d8243563a..c3c816181f 100644
--- a/board/compulab/cm_fx6/spl.c
+++ b/board/compulab/cm_fx6/spl.c
@@ -356,7 +356,7 @@ static struct fsl_esdhc_cfg usdhc_cfg = {
 	.max_bus_width = 4,
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	cm_fx6_set_usdhc_iomux();
 
diff --git a/board/compulab/cm_t335/cm_t335.c b/board/compulab/cm_t335/cm_t335.c
index 75b56f7eee..a9ba2b7e00 100644
--- a/board/compulab/cm_t335/cm_t335.c
+++ b/board/compulab/cm_t335/cm_t335.c
@@ -128,7 +128,7 @@ static int handle_mac_address(void)
 #define AR8051_DEBUG_RGMII_CLK_DLY_REG	0x5
 #define AR8051_RGMII_TX_CLK_DLY		0x100
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, n = 0;
 	const char *devname;
diff --git a/board/compulab/cm_t35/cm_t35.c b/board/compulab/cm_t35/cm_t35.c
index 4b67df4f1a..5f67fbe7ca 100644
--- a/board/compulab/cm_t35/cm_t35.c
+++ b/board/compulab/cm_t35/cm_t35.c
@@ -387,7 +387,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return !(val & 1);
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, SB_T35_WP_GPIO);
 }
@@ -455,7 +455,7 @@ static int handle_mac_address(void)
  * Description: initialize module and base-board Ethernet chips
  */
 #define SB_T35_SMC911X_BASE	(CONFIG_SMC911X_BASE + SZ_16M)
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0, rc1 = 0;
 
diff --git a/board/compulab/cm_t43/cm_t43.c b/board/compulab/cm_t43/cm_t43.c
index f26e42b263..4b097c8f8f 100644
--- a/board/compulab/cm_t43/cm_t43.c
+++ b/board/compulab/cm_t43/cm_t43.c
@@ -149,7 +149,7 @@ static void board_phy_init(void)
 	mdelay(2);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv;
 
diff --git a/board/compulab/cm_t54/cm_t54.c b/board/compulab/cm_t54/cm_t54.c
index 413f3c9c8f..8d75155dbe 100644
--- a/board/compulab/cm_t54/cm_t54.c
+++ b/board/compulab/cm_t54/cm_t54.c
@@ -102,7 +102,7 @@ uint mmc_get_env_part(struct mmc *mmc)
 #define SB_T54_CD_GPIO 228
 #define SB_T54_WP_GPIO 229
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret0, ret1;
 
@@ -123,7 +123,7 @@ int board_mmc_init(bd_t *bis)
 
 #ifdef CONFIG_USB_HOST_ETHER
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	uint8_t enetaddr[6];
 
@@ -177,7 +177,7 @@ static int handle_mac_address(void)
 	return eth_env_set_enetaddr("usbethaddr", enetaddr);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return handle_mac_address();
 }
diff --git a/board/congatec/cgtqmx6eval/cgtqmx6eval.c b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
index 044cefd979..93505c8d46 100644
--- a/board/congatec/cgtqmx6eval/cgtqmx6eval.c
+++ b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
@@ -256,7 +256,7 @@ int power_init_board(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct phy_device *phydev;
 	struct mii_dev *bus;
@@ -446,7 +446,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 #ifndef CONFIG_SPL_BUILD
 	s32 status = 0;
diff --git a/board/corscience/tricorder/tricorder.c b/board/corscience/tricorder/tricorder.c
index 30974e8d92..41675677de 100644
--- a/board/corscience/tricorder/tricorder.c
+++ b/board/corscience/tricorder/tricorder.c
@@ -143,7 +143,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
diff --git a/board/creative/xfi3/xfi3.c b/board/creative/xfi3/xfi3.c
index adc908143d..b5f0d31307 100644
--- a/board/creative/xfi3/xfi3.c
+++ b/board/creative/xfi3/xfi3.c
@@ -57,7 +57,7 @@ static int xfi3_mmc_cd(int id)
 	}
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
@@ -219,7 +219,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	usb_eth_initialize(bis);
 	return 0;
diff --git a/board/cssi/MCR3000/MCR3000.c b/board/cssi/MCR3000/MCR3000.c
index 570e846a21..55e955c36b 100644
--- a/board/cssi/MCR3000/MCR3000.c
+++ b/board/cssi/MCR3000/MCR3000.c
@@ -55,7 +55,7 @@ static const uint cs1_dram_table_66[] = {
 	0xFFFFFC05, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
 };
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	const char *sync = "receive";
 
diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c
index a3b0f8bf09..3da0c88cb9 100644
--- a/board/davinci/da8xxevm/da850evm.c
+++ b/board/davinci/da8xxevm/da850evm.c
@@ -453,7 +453,7 @@ int rmii_hw_init(void)
 /*
  * Initializes on-board ethernet controllers.
  */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII
 	/* Select RMII fucntion through the expander */
diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c
index adb56c6c87..1383bc4ce3 100644
--- a/board/davinci/da8xxevm/omapl138_lcdk.c
+++ b/board/davinci/da8xxevm/omapl138_lcdk.c
@@ -345,7 +345,7 @@ static struct davinci_mmc mmc_sd0 = {
 	.voltages = MMC_VDD_32_33 | MMC_VDD_33_34,
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	mmc_sd0.input_clk = clk_get(DAVINCI_MMCSD_CLKID);
 
diff --git a/board/dhelectronics/dh_imx6/dh_imx6_spl.c b/board/dhelectronics/dh_imx6/dh_imx6_spl.c
index ed4dea45ea..e49e97724a 100644
--- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c
@@ -493,7 +493,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1; /* eMMC/uSDHC4 is always present */
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	SETUP_IOMUX_PADS(usdhc4_pads);
 	usdhc_cfg[0].esdhc_base = USDHC4_BASE_ADDR;
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index 26e827bc38..948ef4c306 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -662,7 +662,7 @@ enum env_location env_get_location(enum env_operation op, int prio)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return 0;
 }
diff --git a/board/egnite/ethernut5/ethernut5.c b/board/egnite/ethernut5/ethernut5.c
index bfd5a4fe36..0674b30010 100644
--- a/board/egnite/ethernut5/ethernut5.c
+++ b/board/egnite/ethernut5/ethernut5.c
@@ -147,7 +147,7 @@ int board_init(void)
 /*
  * This is optionally called last during late initialization.
  */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	const char *devname;
 	unsigned short mode;
@@ -180,7 +180,7 @@ int board_eth_init(bd_t *bis)
 #endif
 
 #ifdef CONFIG_GENERIC_ATMEL_MCI
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	at91_periph_clk_enable(ATMEL_ID_MCI);
 
diff --git a/board/el/el6x/el6x.c b/board/el/el6x/el6x.c
index d3e2981fa8..bdc0558eda 100644
--- a/board/el/el6x/el6x.c
+++ b/board/el/el6x/el6x.c
@@ -285,7 +285,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 #ifndef CONFIG_SPL_BUILD
 	int ret;
@@ -370,7 +370,7 @@ int overwrite_console(void)
 	return 1;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_enet();
 	enable_enet_clk(1);
diff --git a/board/embest/mx6boards/mx6boards.c b/board/embest/mx6boards/mx6boards.c
index e0834f03c7..752242bd54 100644
--- a/board/embest/mx6boards/mx6boards.c
+++ b/board/embest/mx6boards/mx6boards.c
@@ -218,7 +218,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	int i;
@@ -512,7 +512,7 @@ int overwrite_console(void)
 	return 1;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_enet();
 
diff --git a/board/esd/meesc/meesc.c b/board/esd/meesc/meesc.c
index fd7d6db9bc..deed3a9b84 100644
--- a/board/esd/meesc/meesc.c
+++ b/board/esd/meesc/meesc.c
@@ -146,7 +146,7 @@ int dram_init_banksize(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_MACB
diff --git a/board/esd/vme8349/vme8349.c b/board/esd/vme8349/vme8349.c
index f54c89d154..8d3d26e3c7 100644
--- a/board/esd/vme8349/vme8349.c
+++ b/board/esd/vme8349/vme8349.c
@@ -73,14 +73,14 @@ int checkboard(void)
 }
 
 #ifdef CONFIG_TARGET_CADDY2
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
 #endif
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/b4860qds/b4860qds.c b/board/freescale/b4860qds/b4860qds.c
index cc8ff11ba4..b8b2be97e1 100644
--- a/board/freescale/b4860qds/b4860qds.c
+++ b/board/freescale/b4860qds/b4860qds.c
@@ -1196,7 +1196,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/b4860qds/b4860qds.h b/board/freescale/b4860qds/b4860qds.h
index 4a8e91b58f..987ed93c0d 100644
--- a/board/freescale/b4860qds/b4860qds.h
+++ b/board/freescale/b4860qds/b4860qds.h
@@ -7,6 +7,6 @@
 #define __CORENET_DS_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/freescale/b4860qds/eth_b4860qds.c b/board/freescale/b4860qds/eth_b4860qds.c
index 6d5f3d1fda..742837d3a8 100644
--- a/board/freescale/b4860qds/eth_b4860qds.c
+++ b/board/freescale/b4860qds/eth_b4860qds.c
@@ -148,7 +148,7 @@ static void initialize_lane_to_slot(void)
 
 #endif /* #ifdef CONFIG_FMAN_ENET */
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct memac_mdio_info memac_mdio_info;
diff --git a/board/freescale/b4860qds/pci.c b/board/freescale/b4860qds/pci.c
index 45dd461e77..cccf0d307c 100644
--- a/board/freescale/b4860qds/pci.c
+++ b/board/freescale/b4860qds/pci.c
@@ -17,7 +17,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/b4860qds/spl.c b/board/freescale/b4860qds/spl.c
index fe5ce35013..81efa36394 100644
--- a/board/freescale/b4860qds/spl.c
+++ b/board/freescale/b4860qds/spl.c
@@ -82,10 +82,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/bsc9131rdb/bsc9131rdb.c b/board/freescale/bsc9131rdb/bsc9131rdb.c
index 75c2aec75d..3843c08bc6 100644
--- a/board/freescale/bsc9131rdb/bsc9131rdb.c
+++ b/board/freescale/bsc9131rdb/bsc9131rdb.c
@@ -60,7 +60,7 @@ static const struct node_info nodes[] = {
 	{ "fsl,ifc-nand",		MTD_DEV_TYPE_NAND, },
 };
 #endif
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/bsc9132qds/bsc9132qds.c b/board/freescale/bsc9132qds/bsc9132qds.c
index 6870674f7a..d505416184 100644
--- a/board/freescale/bsc9132qds/bsc9132qds.c
+++ b/board/freescale/bsc9132qds/bsc9132qds.c
@@ -230,7 +230,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_TSEC_ENET
 	struct fsl_pq_mdio_info mdio_info;
@@ -366,7 +366,7 @@ static const struct node_info nodes[] = {
 	{ "fsl,ifc-nand",		MTD_DEV_TYPE_NAND, },
 };
 #endif
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/c29xpcie/c29xpcie.c b/board/freescale/c29xpcie/c29xpcie.c
index 74502c6d18..5f6cadbe1b 100644
--- a/board/freescale/c29xpcie/c29xpcie.c
+++ b/board/freescale/c29xpcie/c29xpcie.c
@@ -86,7 +86,7 @@ void pci_init_board(void)
 }
 #endif /* ifdef CONFIG_PCI */
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_TSEC_ENET
 	struct fsl_pq_mdio_info mdio_info;
@@ -131,7 +131,7 @@ void fdt_del_sec(void *blob, int offset)
 	}
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/c29xpcie/spl.c b/board/freescale/c29xpcie/spl.c
index 421c2d4b1f..0b6e1b7fc6 100644
--- a/board/freescale/c29xpcie/spl.c
+++ b/board/freescale/c29xpcie/spl.c
@@ -46,11 +46,11 @@ void board_init_r(gd_t *gd, ulong dest_addr)
 {
 	/* Pointer is writable since we allocated a register for it */
 	gd = (gd_t *)CONFIG_SPL_GD_ADDR;
-	bd_t *bd;
+	struct bd_info *bd;
 
 	memset(gd, 0, sizeof(gd_t));
-	bd = (bd_t *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L2_SIZE;
diff --git a/board/freescale/common/cds_pci_ft.c b/board/freescale/common/cds_pci_ft.c
index fb2e5c7bf3..be97a28ed2 100644
--- a/board/freescale/common/cds_pci_ft.c
+++ b/board/freescale/common/cds_pci_ft.c
@@ -64,7 +64,7 @@ static void cds_pci_fixup(void *blob)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #if defined(CONFIG_PCI) && !defined(CONFIG_DM_PCI)
diff --git a/board/freescale/common/p_corenet/pci.c b/board/freescale/common/p_corenet/pci.c
index 94e4715f1c..636334863e 100644
--- a/board/freescale/common/p_corenet/pci.c
+++ b/board/freescale/common/p_corenet/pci.c
@@ -18,7 +18,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/corenet_ds/corenet_ds.c b/board/freescale/corenet_ds/corenet_ds.c
index d11c6c02fa..15d11ed81a 100644
--- a/board/freescale/corenet_ds/corenet_ds.c
+++ b/board/freescale/corenet_ds/corenet_ds.c
@@ -187,7 +187,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/corenet_ds/corenet_ds.h b/board/freescale/corenet_ds/corenet_ds.h
index 301f04442a..84e5c4a2de 100644
--- a/board/freescale/corenet_ds/corenet_ds.h
+++ b/board/freescale/corenet_ds/corenet_ds.h
@@ -7,6 +7,6 @@
 #define __CORENET_DS_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/freescale/corenet_ds/eth_hydra.c b/board/freescale/corenet_ds/eth_hydra.c
index a17ca7ac60..8112c12568 100644
--- a/board/freescale/corenet_ds/eth_hydra.c
+++ b/board/freescale/corenet_ds/eth_hydra.c
@@ -363,7 +363,7 @@ void fdt_fixup_board_enet(void *fdt)
 #endif
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct fsl_pq_mdio_info dtsec_mdio_info;
diff --git a/board/freescale/corenet_ds/eth_p4080.c b/board/freescale/corenet_ds/eth_p4080.c
index 801a6f44f0..650013bb6f 100644
--- a/board/freescale/corenet_ds/eth_p4080.c
+++ b/board/freescale/corenet_ds/eth_p4080.c
@@ -288,7 +288,7 @@ void fdt_fixup_board_enet(void *fdt)
 	}
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	ccsr_gpio_t *pgpio = (void *)(CONFIG_SYS_MPC85xx_GPIO_ADDR);
diff --git a/board/freescale/corenet_ds/eth_superhydra.c b/board/freescale/corenet_ds/eth_superhydra.c
index 8ca220b840..35daa1e80f 100644
--- a/board/freescale/corenet_ds/eth_superhydra.c
+++ b/board/freescale/corenet_ds/eth_superhydra.c
@@ -415,7 +415,7 @@ void fdt_fixup_board_enet(void *fdt)
  * 0x36                |                 |                 |
  */
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct fsl_pq_mdio_info dtsec_mdio_info;
diff --git a/board/freescale/imx8mq_evk/spl.c b/board/freescale/imx8mq_evk/spl.c
index 2c6ae48da7..42183ed5aa 100644
--- a/board/freescale/imx8mq_evk/spl.c
+++ b/board/freescale/imx8mq_evk/spl.c
@@ -111,7 +111,7 @@ static struct fsl_esdhc_cfg usdhc_cfg[2] = {
 	{USDHC2_BASE_ADDR, 0, 4},
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, ret;
 	/*
diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c b/board/freescale/imx8qm_mek/imx8qm_mek.c
index c0cae3540f..fba3baa126 100644
--- a/board/freescale/imx8qm_mek/imx8qm_mek.c
+++ b/board/freescale/imx8qm_mek/imx8qm_mek.c
@@ -110,7 +110,7 @@ void reset_cpu(ulong addr)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return 0;
 }
diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
index 8b8a3c6300..da55933e21 100644
--- a/board/freescale/imx8qxp_mek/imx8qxp_mek.c
+++ b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
@@ -134,7 +134,7 @@ void reset_cpu(ulong addr)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return 0;
 }
diff --git a/board/freescale/ls1012afrdm/ls1012afrdm.c b/board/freescale/ls1012afrdm/ls1012afrdm.c
index f63377fdd6..4770eadabd 100644
--- a/board/freescale/ls1012afrdm/ls1012afrdm.c
+++ b/board/freescale/ls1012afrdm/ls1012afrdm.c
@@ -184,7 +184,7 @@ int board_init(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	arch_fixup_fdt(blob);
 
diff --git a/board/freescale/ls1012aqds/ls1012aqds.c b/board/freescale/ls1012aqds/ls1012aqds.c
index 24978314a1..7bea45c8ae 100644
--- a/board/freescale/ls1012aqds/ls1012aqds.c
+++ b/board/freescale/ls1012aqds/ls1012aqds.c
@@ -280,7 +280,7 @@ static void fdt_fsl_fixup_of_pfe(void *blob)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	arch_fixup_fdt(blob);
 
diff --git a/board/freescale/ls1012ardb/ls1012ardb.c b/board/freescale/ls1012ardb/ls1012ardb.c
index 5b814f7abf..30b43ea135 100644
--- a/board/freescale/ls1012ardb/ls1012ardb.c
+++ b/board/freescale/ls1012ardb/ls1012ardb.c
@@ -258,7 +258,7 @@ int esdhc_status_fixup(void *blob, const char *compat)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	arch_fixup_fdt(blob);
 
diff --git a/board/freescale/ls1021aiot/ls1021aiot.c b/board/freescale/ls1021aiot/ls1021aiot.c
index fe97b82983..2e5cc59066 100644
--- a/board/freescale/ls1021aiot/ls1021aiot.c
+++ b/board/freescale/ls1021aiot/ls1021aiot.c
@@ -108,7 +108,7 @@ int dram_init(void)
 }
 
 #ifdef CONFIG_TSEC_ENET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[4];
@@ -215,7 +215,7 @@ int misc_init_r(void)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/ls1021aqds/eth.c b/board/freescale/ls1021aqds/eth.c
index 2de62cf095..a9f162b974 100644
--- a/board/freescale/ls1021aqds/eth.c
+++ b/board/freescale/ls1021aqds/eth.c
@@ -129,7 +129,7 @@ static int ls1021a_mdio_init(char *realbusname, char *fakebusname)
 	return mdio_register(bus);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[3];
diff --git a/board/freescale/ls1021aqds/ls1021aqds.c b/board/freescale/ls1021aqds/ls1021aqds.c
index c03e96b493..4169a0fc85 100644
--- a/board/freescale/ls1021aqds/ls1021aqds.c
+++ b/board/freescale/ls1021aqds/ls1021aqds.c
@@ -449,7 +449,7 @@ void board_sleep_prepare(void)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/ls1021atsn/ls1021atsn.c b/board/freescale/ls1021atsn/ls1021atsn.c
index b05037d023..878306b2d0 100644
--- a/board/freescale/ls1021atsn/ls1021atsn.c
+++ b/board/freescale/ls1021atsn/ls1021atsn.c
@@ -122,7 +122,7 @@ int dram_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
@@ -253,7 +253,7 @@ void board_sleep_prepare(void)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/ls1021atwr/ls1021atwr.c b/board/freescale/ls1021atwr/ls1021atwr.c
index 6208a38f16..2889bd8ded 100644
--- a/board/freescale/ls1021atwr/ls1021atwr.c
+++ b/board/freescale/ls1021atwr/ls1021atwr.c
@@ -239,7 +239,7 @@ int dram_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
@@ -570,7 +570,7 @@ void board_sleep_prepare(void)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/ls1028a/ls1028a.c b/board/freescale/ls1028a/ls1028a.c
index fd7815e128..e37e3a3c16 100644
--- a/board/freescale/ls1028a/ls1028a.c
+++ b/board/freescale/ls1028a/ls1028a.c
@@ -116,7 +116,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
@@ -210,7 +210,7 @@ int esdhc_status_fixup(void *blob, const char *compat)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls1043aqds/eth.c b/board/freescale/ls1043aqds/eth.c
index 0012572862..95412df1d7 100644
--- a/board/freescale/ls1043aqds/eth.c
+++ b/board/freescale/ls1043aqds/eth.c
@@ -294,7 +294,7 @@ void fdt_fixup_board_enet(void *fdt)
 	}
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	int i, idx, lane, slot, interface;
diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c
index 870d0683d6..613686e9b8 100644
--- a/board/freescale/ls1043aqds/ls1043aqds.c
+++ b/board/freescale/ls1043aqds/ls1043aqds.c
@@ -560,7 +560,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls1043ardb/eth.c b/board/freescale/ls1043ardb/eth.c
index 4b9f94a0a5..1f01c15516 100644
--- a/board/freescale/ls1043ardb/eth.c
+++ b/board/freescale/ls1043ardb/eth.c
@@ -13,7 +13,7 @@
 
 #include "../common/fman.h"
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	int i;
diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c
index 0b5f26515a..dc32c030ec 100644
--- a/board/freescale/ls1043ardb/ls1043ardb.c
+++ b/board/freescale/ls1043ardb/ls1043ardb.c
@@ -271,7 +271,7 @@ void fdt_del_qe(void *blob)
 	}
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls1046afrwy/eth.c b/board/freescale/ls1046afrwy/eth.c
index 09a692be1d..06ccfe9e8e 100644
--- a/board/freescale/ls1046afrwy/eth.c
+++ b/board/freescale/ls1046afrwy/eth.c
@@ -14,7 +14,7 @@
 
 #include "../common/fman.h"
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct memac_mdio_info dtsec_mdio_info;
diff --git a/board/freescale/ls1046afrwy/ls1046afrwy.c b/board/freescale/ls1046afrwy/ls1046afrwy.c
index e815bf84fb..4ebf77b1ad 100644
--- a/board/freescale/ls1046afrwy/ls1046afrwy.c
+++ b/board/freescale/ls1046afrwy/ls1046afrwy.c
@@ -218,7 +218,7 @@ int misc_init_r(void)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls1046aqds/eth.c b/board/freescale/ls1046aqds/eth.c
index 579e2da6d8..8f5f95e396 100644
--- a/board/freescale/ls1046aqds/eth.c
+++ b/board/freescale/ls1046aqds/eth.c
@@ -261,7 +261,7 @@ void fdt_fixup_board_enet(void *fdt)
 	}
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	int i, idx, lane, slot, interface;
diff --git a/board/freescale/ls1046aqds/ls1046aqds.c b/board/freescale/ls1046aqds/ls1046aqds.c
index b77b2ed40e..d54bc6dea1 100644
--- a/board/freescale/ls1046aqds/ls1046aqds.c
+++ b/board/freescale/ls1046aqds/ls1046aqds.c
@@ -447,7 +447,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls1046ardb/eth.c b/board/freescale/ls1046ardb/eth.c
index f3b1dcd306..4905302d8c 100644
--- a/board/freescale/ls1046ardb/eth.c
+++ b/board/freescale/ls1046ardb/eth.c
@@ -14,7 +14,7 @@
 
 #include "../common/fman.h"
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	int i;
diff --git a/board/freescale/ls1046ardb/ls1046ardb.c b/board/freescale/ls1046ardb/ls1046ardb.c
index 27e213f796..e107c8471b 100644
--- a/board/freescale/ls1046ardb/ls1046ardb.c
+++ b/board/freescale/ls1046ardb/ls1046ardb.c
@@ -158,7 +158,7 @@ int misc_init_r(void)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls1088a/eth_ls1088aqds.c b/board/freescale/ls1088a/eth_ls1088aqds.c
index e5d9d946cb..bf4f57e6f8 100644
--- a/board/freescale/ls1088a/eth_ls1088aqds.c
+++ b/board/freescale/ls1088a/eth_ls1088aqds.c
@@ -669,7 +669,7 @@ static void ls1088a_handle_phy_interface_rgmii(int dpmac_id)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int error = 0, i;
 #ifdef CONFIG_FSL_MC_ENET
diff --git a/board/freescale/ls1088a/eth_ls1088ardb.c b/board/freescale/ls1088a/eth_ls1088ardb.c
index f56ce7d9ae..a8e9ef15dc 100644
--- a/board/freescale/ls1088a/eth_ls1088ardb.c
+++ b/board/freescale/ls1088a/eth_ls1088ardb.c
@@ -19,7 +19,7 @@
 #include <fsl-mc/ldpaa_wriop.h>
 
 #ifndef CONFIG_DM_ETH
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FSL_MC_ENET)
 	int i, interface;
diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c
index 3f758cef2f..5d19702a05 100644
--- a/board/freescale/ls1088a/ls1088a.c
+++ b/board/freescale/ls1088a/ls1088a.c
@@ -912,7 +912,7 @@ void fsl_fdt_fixup_flash(void *fdt)
 	fdt_status_disabled(fdt, offset);
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int i;
 	u16 mc_memory_bank = 0;
diff --git a/board/freescale/ls2080a/ls2080a.c b/board/freescale/ls2080a/ls2080a.c
index 95e99eabd7..62da2a7af1 100644
--- a/board/freescale/ls2080a/ls2080a.c
+++ b/board/freescale/ls2080a/ls2080a.c
@@ -50,7 +50,7 @@ void detail_board_ddr_info(void)
 #endif
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int error = 0;
 
@@ -98,7 +98,7 @@ void board_quiesce_devices(void)
 #endif
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls2080aqds/eth.c b/board/freescale/ls2080aqds/eth.c
index 9171cb2b6c..4b7f85540d 100644
--- a/board/freescale/ls2080aqds/eth.c
+++ b/board/freescale/ls2080aqds/eth.c
@@ -895,7 +895,7 @@ void ls2080a_handle_phy_interface_xsgmii(int i)
 #endif
 #endif // !CONFIG_DM_ETH
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifndef CONFIG_DM_ETH
 #if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index b9754f9e2e..3eb40f5e2a 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -324,7 +324,7 @@ void board_quiesce_devices(void)
 #endif
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u64 base[CONFIG_NR_DRAM_BANKS];
 	u64 size[CONFIG_NR_DRAM_BANKS];
diff --git a/board/freescale/ls2080ardb/eth_ls2080rdb.c b/board/freescale/ls2080ardb/eth_ls2080rdb.c
index f0f6ca53cb..018d1dc672 100644
--- a/board/freescale/ls2080ardb/eth_ls2080rdb.c
+++ b/board/freescale/ls2080ardb/eth_ls2080rdb.c
@@ -21,7 +21,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifndef CONFIG_DM_ETH
 #if defined(CONFIG_FSL_MC_ENET)
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c b/board/freescale/ls2080ardb/ls2080ardb.c
index b1fa3297a3..c7e9c1dacf 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -416,7 +416,7 @@ void fsl_fdt_fixup_flash(void *fdt)
 	fdt_status_disabled(fdt, offset);
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int i;
 	u16 mc_memory_bank = 0;
diff --git a/board/freescale/lx2160a/eth_lx2160aqds.c b/board/freescale/lx2160a/eth_lx2160aqds.c
index 7794495df7..fcace02936 100644
--- a/board/freescale/lx2160a/eth_lx2160aqds.c
+++ b/board/freescale/lx2160a/eth_lx2160aqds.c
@@ -445,7 +445,7 @@ static inline void do_dpmac_config(int dpmac, const char *arg_dpmacid,
 #endif
 #endif /* !CONFIG_DM_ETH */
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifndef CONFIG_DM_ETH
 #if defined(CONFIG_FSL_MC_ENET)
diff --git a/board/freescale/lx2160a/eth_lx2160ardb.c b/board/freescale/lx2160a/eth_lx2160ardb.c
index 21fb559250..b448883ee1 100644
--- a/board/freescale/lx2160a/eth_lx2160ardb.c
+++ b/board/freescale/lx2160a/eth_lx2160ardb.c
@@ -39,7 +39,7 @@ static bool get_inphi_phy_id(struct mii_dev *bus, int addr, int devad)
 		return false;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FSL_MC_ENET)
 	struct memac_mdio_info mdio_info;
diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c
index 73e05ee07e..8ec4df1ac9 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -649,7 +649,7 @@ void board_quiesce_devices(void)
 #endif
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int i;
 	u16 mc_memory_bank = 0;
diff --git a/board/freescale/m5253demo/m5253demo.c b/board/freescale/m5253demo/m5253demo.c
index 50eb18ba94..9a157db601 100644
--- a/board/freescale/m5253demo/m5253demo.c
+++ b/board/freescale/m5253demo/m5253demo.c
@@ -139,7 +139,7 @@ void ide_set_reset(int idereset)
 
 
 #ifdef CONFIG_DRIVER_DM9000
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return dm9000_initialize(bis);
 }
diff --git a/board/freescale/mpc8308rdb/mpc8308rdb.c b/board/freescale/mpc8308rdb/mpc8308rdb.c
index 259d6aa1c2..db9c5ba193 100644
--- a/board/freescale/mpc8308rdb/mpc8308rdb.c
+++ b/board/freescale/mpc8308rdb/mpc8308rdb.c
@@ -52,7 +52,7 @@ void spi_cs_deactivate(struct spi_slave *slave)
 #endif /* CONFIG_MPC8XXX_SPI */
 
 #ifdef CONFIG_FSL_ESDHC
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	return fsl_esdhc_mmc_init(bd);
 }
@@ -161,7 +161,7 @@ int misc_init_r(void)
 	return 0;
 }
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 	fsl_fdt_fixup_dr_usb(blob, bd);
@@ -171,7 +171,7 @@ int ft_board_setup(void *blob, bd_t *bd)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, num_if = 0;
 
diff --git a/board/freescale/mpc8313erdb/mpc8313erdb.c b/board/freescale/mpc8313erdb/mpc8313erdb.c
index e5cc824f48..65a10c345a 100644
--- a/board/freescale/mpc8313erdb/mpc8313erdb.c
+++ b/board/freescale/mpc8313erdb/mpc8313erdb.c
@@ -118,7 +118,7 @@ int misc_init_r(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
diff --git a/board/freescale/mpc8315erdb/mpc8315erdb.c b/board/freescale/mpc8315erdb/mpc8315erdb.c
index aa2e7fe206..f8e4599f13 100644
--- a/board/freescale/mpc8315erdb/mpc8315erdb.c
+++ b/board/freescale/mpc8315erdb/mpc8315erdb.c
@@ -161,7 +161,7 @@ void pci_init_board(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-void fdt_tsec1_fixup(void *fdt, bd_t *bd)
+void fdt_tsec1_fixup(void *fdt, struct bd_info *bd)
 {
 	const char disabled[] = "disabled";
 	const char *path;
@@ -190,7 +190,7 @@ void fdt_tsec1_fixup(void *fdt, bd_t *bd)
 	do_fixup_by_path(fdt, path, "status", disabled, sizeof(disabled), 1);
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
@@ -203,7 +203,7 @@ int ft_board_setup(void *blob, bd_t *bd)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis);	/* Initialize TSECs first */
 	return pci_eth_init(bis);
diff --git a/board/freescale/mpc8323erdb/mpc8323erdb.c b/board/freescale/mpc8323erdb/mpc8323erdb.c
index 1dc1c98ad6..3cde715e96 100644
--- a/board/freescale/mpc8323erdb/mpc8323erdb.c
+++ b/board/freescale/mpc8323erdb/mpc8323erdb.c
@@ -182,7 +182,7 @@ void pci_init_board(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
diff --git a/board/freescale/mpc832xemds/mpc832xemds.c b/board/freescale/mpc832xemds/mpc832xemds.c
index afcd45769c..6139cbd040 100644
--- a/board/freescale/mpc832xemds/mpc832xemds.c
+++ b/board/freescale/mpc832xemds/mpc832xemds.c
@@ -160,7 +160,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
diff --git a/board/freescale/mpc8349emds/mpc8349emds.c b/board/freescale/mpc8349emds/mpc8349emds.c
index 576f04c144..46be5ccd92 100644
--- a/board/freescale/mpc8349emds/mpc8349emds.c
+++ b/board/freescale/mpc8349emds/mpc8349emds.c
@@ -289,7 +289,7 @@ void spi_cs_deactivate(struct spi_slave *slave)
 #endif
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
diff --git a/board/freescale/mpc8349itx/mpc8349itx.c b/board/freescale/mpc8349itx/mpc8349itx.c
index 3993d58515..a265a8380f 100644
--- a/board/freescale/mpc8349itx/mpc8349itx.c
+++ b/board/freescale/mpc8349itx/mpc8349itx.c
@@ -389,7 +389,7 @@ int misc_init_r(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
diff --git a/board/freescale/mpc837xemds/mpc837xemds.c b/board/freescale/mpc837xemds/mpc837xemds.c
index 182391ca9c..f515299bc9 100644
--- a/board/freescale/mpc837xemds/mpc837xemds.c
+++ b/board/freescale/mpc837xemds/mpc837xemds.c
@@ -64,7 +64,7 @@ int board_early_init_f(void)
 }
 
 #ifdef CONFIG_FSL_ESDHC
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	struct immap __iomem *im = (struct immap __iomem *)CONFIG_SYS_IMMR;
 	u8 *bcsr = (u8 *)CONFIG_SYS_BCSR;
@@ -85,7 +85,7 @@ int board_mmc_init(bd_t *bd)
 #endif
 
 #if defined(CONFIG_TSEC1) || defined(CONFIG_TSEC2)
-int board_eth_init(bd_t *bd)
+int board_eth_init(struct bd_info *bd)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[2];
@@ -141,7 +141,7 @@ int board_eth_init(bd_t *bd)
 	return tsec_eth_init(bd, tsec_info, num);
 }
 
-static void __ft_tsec_fixup(void *blob, bd_t *bd, const char *alias,
+static void __ft_tsec_fixup(void *blob, struct bd_info *bd, const char *alias,
 			    int phy_addr)
 {
 	const u32 *ph;
@@ -186,7 +186,7 @@ static void __ft_tsec_fixup(void *blob, bd_t *bd, const char *alias,
 	}
 }
 
-static void ft_tsec_fixup(void *blob, bd_t *bd)
+static void ft_tsec_fixup(void *blob, struct bd_info *bd)
 {
 	struct immap __iomem *im = (struct immap __iomem *)CONFIG_SYS_IMMR;
 	u32 rcwh = in_be32(&im->reset.rcwh);
@@ -205,7 +205,7 @@ static void ft_tsec_fixup(void *blob, bd_t *bd)
 #endif
 }
 #else
-static inline void ft_tsec_fixup(void *blob, bd_t *bd) {}
+static inline void ft_tsec_fixup(void *blob, struct bd_info *bd) {}
 #endif /* defined(CONFIG_TSEC1) || defined(CONFIG_TSEC2) */
 
 int board_early_init_r(void)
@@ -312,7 +312,7 @@ int board_pci_host_broken(void)
 	return 0;
 }
 
-static void ft_pci_fixup(void *blob, bd_t *bd)
+static void ft_pci_fixup(void *blob, struct bd_info *bd)
 {
 	const char *status = "broken (no arbiter)";
 	int off;
@@ -335,7 +335,7 @@ static void ft_pci_fixup(void *blob, bd_t *bd)
 #endif
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 	ft_tsec_fixup(blob, bd);
diff --git a/board/freescale/mpc837xemds/pci.c b/board/freescale/mpc837xemds/pci.c
index 30e8b2585e..188e60ac08 100644
--- a/board/freescale/mpc837xemds/pci.c
+++ b/board/freescale/mpc837xemds/pci.c
@@ -137,7 +137,7 @@ skip_pci:
 	mpc83xx_pcie_init(pex2 ? 1 : 2, pcie_reg);
 }
 
-void ft_pcie_fixup(void *blob, bd_t *bd)
+void ft_pcie_fixup(void *blob, struct bd_info *bd)
 {
 	const char *status = "disabled (PCIE1 is x2)";
 
diff --git a/board/freescale/mpc837xemds/pci.h b/board/freescale/mpc837xemds/pci.h
index fd7a916af8..a568031988 100644
--- a/board/freescale/mpc837xemds/pci.h
+++ b/board/freescale/mpc837xemds/pci.h
@@ -1,6 +1,6 @@
 #ifndef __BOARD_MPC837XEMDS_PCI_H
 #define __BOARD_MPC837XEMDS_PCI_H
 
-extern void ft_pcie_fixup(void *blob, bd_t *bd);
+extern void ft_pcie_fixup(void *blob, struct bd_info *bd);
 
 #endif /* __BOARD_MPC837XEMDS_PCI_H */
diff --git a/board/freescale/mpc837xerdb/mpc837xerdb.c b/board/freescale/mpc837xerdb/mpc837xerdb.c
index 94cb93a42d..39673ad076 100644
--- a/board/freescale/mpc837xerdb/mpc837xerdb.c
+++ b/board/freescale/mpc837xerdb/mpc837xerdb.c
@@ -170,7 +170,7 @@ int board_early_init_f(void)
 }
 
 #ifdef CONFIG_FSL_ESDHC
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	struct immap __iomem *im = (struct immap __iomem *)CONFIG_SYS_IMMR;
 	char buffer[HWCONFIG_BUFFER_SIZE] = {0};
@@ -211,7 +211,7 @@ int misc_init_r(void)
 
 #if defined(CONFIG_OF_BOARD_SETUP)
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_PCI
 	ft_pci_setup(blob, bd);
diff --git a/board/freescale/mpc8536ds/mpc8536ds.c b/board/freescale/mpc8536ds/mpc8536ds.c
index 5907a7b428..10f2091845 100644
--- a/board/freescale/mpc8536ds/mpc8536ds.c
+++ b/board/freescale/mpc8536ds/mpc8536ds.c
@@ -226,7 +226,7 @@ int board_early_init_r(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_TSEC_ENET
 	struct fsl_pq_mdio_info mdio_info;
@@ -274,7 +274,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/mpc8541cds/mpc8541cds.c b/board/freescale/mpc8541cds/mpc8541cds.c
index d470fd1cf6..5b4fbd5e30 100644
--- a/board/freescale/mpc8541cds/mpc8541cds.c
+++ b/board/freescale/mpc8541cds/mpc8541cds.c
@@ -402,7 +402,7 @@ pci_init_board(void)
 
 #if defined(CONFIG_OF_BOARD_SETUP)
 void
-ft_pci_setup(void *blob, bd_t *bd)
+ft_pci_setup(void *blob, struct bd_info *bd)
 {
 	int node, tmp[2];
 	const char *path;
diff --git a/board/freescale/mpc8544ds/mpc8544ds.c b/board/freescale/mpc8544ds/mpc8544ds.c
index 85d370f628..30ed708365 100644
--- a/board/freescale/mpc8544ds/mpc8544ds.c
+++ b/board/freescale/mpc8544ds/mpc8544ds.c
@@ -261,7 +261,7 @@ int board_phy_config(struct phy_device *phydev)
 }
 
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_TSEC_ENET
 	struct fsl_pq_mdio_info mdio_info;
@@ -306,7 +306,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c
index e11ed2e3be..a1a9742bfa 100644
--- a/board/freescale/mpc8548cds/mpc8548cds.c
+++ b/board/freescale/mpc8548cds/mpc8548cds.c
@@ -306,7 +306,7 @@ void configure_rgmii(void)
 	return;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_TSEC_ENET
 	struct fsl_pq_mdio_info mdio_info;
@@ -356,7 +356,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP) && !defined(CONFIG_DM_PCI)
-void ft_pci_setup(void *blob, bd_t *bd)
+void ft_pci_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/mpc8555cds/mpc8555cds.c b/board/freescale/mpc8555cds/mpc8555cds.c
index 8e27e73c25..3bb8e769c8 100644
--- a/board/freescale/mpc8555cds/mpc8555cds.c
+++ b/board/freescale/mpc8555cds/mpc8555cds.c
@@ -403,7 +403,7 @@ pci_init_board(void)
 
 #if defined(CONFIG_OF_BOARD_SETUP)
 void
-ft_pci_setup(void *blob, bd_t *bd)
+ft_pci_setup(void *blob, struct bd_info *bd)
 {
 	int node, tmp[2];
 	const char *path;
diff --git a/board/freescale/mpc8568mds/mpc8568mds.c b/board/freescale/mpc8568mds/mpc8568mds.c
index 2871636165..7b379464cd 100644
--- a/board/freescale/mpc8568mds/mpc8568mds.c
+++ b/board/freescale/mpc8568mds/mpc8568mds.c
@@ -348,7 +348,7 @@ void pci_init_board(void)
 #endif /* CONFIG_PCI */
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/freescale/mpc8569mds/mpc8569mds.c b/board/freescale/mpc8569mds/mpc8569mds.c
index 90b9c72bab..1d2cffbacd 100644
--- a/board/freescale/mpc8569mds/mpc8569mds.c
+++ b/board/freescale/mpc8569mds/mpc8569mds.c
@@ -308,7 +308,8 @@ local_bus_init(void)
 	out_be32(&lbc->lcrr, (u32)in_be32(&lbc->lcrr)| 0x00030000);
 }
 
-static void fdt_board_disable_serial(void *blob, bd_t *bd, const char *alias)
+static void fdt_board_disable_serial(void *blob, struct bd_info *bd,
+				     const char *alias)
 {
 	const char *status = "disabled";
 	int off;
@@ -353,7 +354,7 @@ static int esdhc_disables_uart0(void)
 	       hwconfig_subarg_cmp("esdhc", "mode", "4-bits");
 }
 
-static void fdt_board_fixup_qe_uart(void *blob, bd_t *bd)
+static void fdt_board_fixup_qe_uart(void *blob, struct bd_info *bd)
 {
 	u8 *bcsr = (u8 *)CONFIG_SYS_BCSR_BASE;
 	const char *devtype = "serial";
@@ -400,7 +401,7 @@ static void fdt_board_fixup_qe_uart(void *blob, bd_t *bd)
 
 #ifdef CONFIG_FSL_ESDHC
 
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	struct ccsr_gur *gur = (struct ccsr_gur *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
 	u8 *bcsr = (u8 *)CONFIG_SYS_BCSR_BASE;
@@ -441,7 +442,7 @@ int board_mmc_init(bd_t *bd)
 	return fsl_esdhc_mmc_init(bd);
 }
 
-static void fdt_board_fixup_esdhc(void *blob, bd_t *bd)
+static void fdt_board_fixup_esdhc(void *blob, struct bd_info *bd)
 {
 	const char *status = "disabled";
 	int off = -1;
@@ -481,10 +482,10 @@ static void fdt_board_fixup_esdhc(void *blob, bd_t *bd)
 	}
 }
 #else
-static inline void fdt_board_fixup_esdhc(void *blob, bd_t *bd) {}
+static inline void fdt_board_fixup_esdhc(void *blob, struct bd_info *bd) {}
 #endif
 
-static void fdt_board_fixup_qe_usb(void *blob, bd_t *bd)
+static void fdt_board_fixup_qe_usb(void *blob, struct bd_info *bd)
 {
 	u8 *bcsr = (u8 *)CONFIG_SYS_BCSR_BASE;
 
@@ -518,7 +519,7 @@ void pci_init_board(void)
 #endif /* CONFIG_PCI */
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #if defined(CONFIG_SYS_UCC_RMII_MODE)
 	int nodeoff, off, err;
diff --git a/board/freescale/mpc8572ds/mpc8572ds.c b/board/freescale/mpc8572ds/mpc8572ds.c
index b43032cee8..97e73533ab 100644
--- a/board/freescale/mpc8572ds/mpc8572ds.c
+++ b/board/freescale/mpc8572ds/mpc8572ds.c
@@ -176,7 +176,7 @@ int board_early_init_r(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_TSEC_ENET
 	struct fsl_pq_mdio_info mdio_info;
@@ -237,7 +237,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index c060fd9a3f..52bf4da98e 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -264,7 +264,7 @@ void pci_init_board(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
@@ -319,7 +319,7 @@ get_board_sys_clk(ulong dummy)
 	return val;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index cd505dfc0a..0f9aea469b 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -125,7 +125,7 @@ void pci_init_board(void)
 
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int off;
 	u64 *tmp;
@@ -229,7 +229,7 @@ get_board_sys_clk(ulong dummy)
 	return val;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	/* Initialize TSECs */
 	cpu_eth_init(bis);
diff --git a/board/freescale/mx23evk/mx23evk.c b/board/freescale/mx23evk/mx23evk.c
index 6cfff04966..3fbac6b5cc 100644
--- a/board/freescale/mx23evk/mx23evk.c
+++ b/board/freescale/mx23evk/mx23evk.c
@@ -65,7 +65,7 @@ static int mx23evk_mmc_wp(int id)
 	return gpio_get_value(MX23_PAD_PWM4__GPIO_1_30);
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	/* Configure WP as input */
 	gpio_direction_input(MX23_PAD_PWM4__GPIO_1_30);
diff --git a/board/freescale/mx25pdk/mx25pdk.c b/board/freescale/mx25pdk/mx25pdk.c
index ec56acb307..1cffdd9331 100644
--- a/board/freescale/mx25pdk/mx25pdk.c
+++ b/board/freescale/mx25pdk/mx25pdk.c
@@ -163,7 +163,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return !gpio_get_value(CARD_DETECT);
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sdhc1_pads[] = {
 		NEW_PAD_CTRL(MX25_PAD_SD1_CMD__SD1_CMD, NO_PAD_CTRL),
diff --git a/board/freescale/mx28evk/mx28evk.c b/board/freescale/mx28evk/mx28evk.c
index e50b7db210..a6b66d99cc 100644
--- a/board/freescale/mx28evk/mx28evk.c
+++ b/board/freescale/mx28evk/mx28evk.c
@@ -83,7 +83,7 @@ static int mx28evk_mmc_wp(int id)
 	return gpio_get_value(MX28_PAD_SSP1_SCK__GPIO_2_12);
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	/* Configure WP as input */
 	gpio_direction_input(MX28_PAD_SSP1_SCK__GPIO_2_12);
@@ -97,7 +97,7 @@ int board_mmc_init(bd_t *bis)
 
 #ifdef	CONFIG_CMD_NET
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct mxs_clkctrl_regs *clkctrl_regs =
 		(struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE;
diff --git a/board/freescale/mx31pdk/mx31pdk.c b/board/freescale/mx31pdk/mx31pdk.c
index 06fe51db71..6c7be12b19 100644
--- a/board/freescale/mx31pdk/mx31pdk.c
+++ b/board/freescale/mx31pdk/mx31pdk.c
@@ -109,7 +109,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC911X
diff --git a/board/freescale/mx35pdk/mx35pdk.c b/board/freescale/mx35pdk/mx35pdk.c
index 63fea37d5d..fc024c47db 100644
--- a/board/freescale/mx35pdk/mx35pdk.c
+++ b/board/freescale/mx35pdk/mx35pdk.c
@@ -254,7 +254,7 @@ int board_late_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_SMC911X)
 	int rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
@@ -268,7 +268,7 @@ int board_eth_init(bd_t *bis)
 
 struct fsl_esdhc_cfg esdhc_cfg = {MMC_SDHC1_BASE_ADDR};
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sdhc1_pads[] = {
 		MX35_PAD_SD1_CMD__ESDHC1_CMD,
diff --git a/board/freescale/mx51evk/mx51evk.c b/board/freescale/mx51evk/mx51evk.c
index 46037acc0e..4250efddde 100644
--- a/board/freescale/mx51evk/mx51evk.c
+++ b/board/freescale/mx51evk/mx51evk.c
@@ -285,7 +285,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sd1_pads[] = {
 		NEW_PAD_CTRL(MX51_PAD_SD1_CMD__SD1_CMD, PAD_CTL_DSE_MAX |
diff --git a/board/freescale/mx53ard/mx53ard.c b/board/freescale/mx53ard/mx53ard.c
index fabcb03ac8..d265d3adaa 100644
--- a/board/freescale/mx53ard/mx53ard.c
+++ b/board/freescale/mx53ard/mx53ard.c
@@ -144,7 +144,7 @@ int board_mmc_getcd(struct mmc *mmc)
 #define SD_PAD_CTRL		(PAD_CTL_HYS | PAD_CTL_PUS_47K_UP | \
 				 PAD_CTL_DSE_HIGH)
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sd1_pads[] = {
 		NEW_PAD_CTRL(MX53_PAD_SD1_CMD__ESDHC1_CMD, SD_CMD_PAD_CTRL),
@@ -297,7 +297,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = -ENODEV;
 
diff --git a/board/freescale/mx53evk/mx53evk.c b/board/freescale/mx53evk/mx53evk.c
index 76a112eaac..ef6c6ec1ed 100644
--- a/board/freescale/mx53evk/mx53evk.c
+++ b/board/freescale/mx53evk/mx53evk.c
@@ -167,7 +167,7 @@ int board_mmc_getcd(struct mmc *mmc)
 #define SD_PAD_CTRL		(PAD_CTL_HYS | PAD_CTL_PUS_47K_UP | \
 				 PAD_CTL_DSE_HIGH)
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sd1_pads[] = {
 		NEW_PAD_CTRL(MX53_PAD_SD1_CMD__ESDHC1_CMD, SD_CMD_PAD_CTRL),
diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c
index ba74592e4e..1da263bb5d 100644
--- a/board/freescale/mx53loco/mx53loco.c
+++ b/board/freescale/mx53loco/mx53loco.c
@@ -124,7 +124,7 @@ int board_mmc_getcd(struct mmc *mmc)
 #define SD_PAD_CTRL		(PAD_CTL_HYS | PAD_CTL_PUS_47K_UP | \
 				 PAD_CTL_DSE_HIGH)
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sd1_pads[] = {
 		NEW_PAD_CTRL(MX53_PAD_SD1_CMD__ESDHC1_CMD, SD_CMD_PAD_CTRL),
diff --git a/board/freescale/mx53smd/mx53smd.c b/board/freescale/mx53smd/mx53smd.c
index 2599272173..7c0f98a132 100644
--- a/board/freescale/mx53smd/mx53smd.c
+++ b/board/freescale/mx53smd/mx53smd.c
@@ -95,7 +95,7 @@ int board_mmc_getcd(struct mmc *mmc)
 #define SD_PAD_CTRL		(PAD_CTL_HYS | PAD_CTL_PUS_47K_UP | \
 				 PAD_CTL_DSE_HIGH)
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sd1_pads[] = {
 		NEW_PAD_CTRL(MX53_PAD_SD1_CMD__ESDHC1_CMD, SD_CMD_PAD_CTRL),
diff --git a/board/freescale/mx6qarm2/mx6qarm2.c b/board/freescale/mx6qarm2/mx6qarm2.c
index 5c08ecbb96..ddde245869 100644
--- a/board/freescale/mx6qarm2/mx6qarm2.c
+++ b/board/freescale/mx6qarm2/mx6qarm2.c
@@ -130,7 +130,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	u32 index = 0;
@@ -197,7 +197,7 @@ int fecmxc_mii_postcall(int phy)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct eth_device *dev;
 	int ret = cpu_eth_init(bis);
diff --git a/board/freescale/mx6sabreauto/mx6sabreauto.c b/board/freescale/mx6sabreauto/mx6sabreauto.c
index 829e42f677..c031cf8538 100644
--- a/board/freescale/mx6sabreauto/mx6sabreauto.c
+++ b/board/freescale/mx6sabreauto/mx6sabreauto.c
@@ -275,7 +275,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return !gpio_get_value(IMX_GPIO_NR(6, 15));
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	SETUP_IOMUX_PADS(usdhc3_pads);
 
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
index 8d24af0a99..0d343da519 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -250,7 +250,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	struct src *psrc = (struct src *)SRC_BASE_ADDR;
 	unsigned reg = readl(&psrc->sbmr1) >> 11;
diff --git a/board/freescale/mx6slevk/mx6slevk.c b/board/freescale/mx6slevk/mx6slevk.c
index 7dd00bda38..5d2f815d23 100644
--- a/board/freescale/mx6slevk/mx6slevk.c
+++ b/board/freescale/mx6slevk/mx6slevk.c
@@ -231,7 +231,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	struct src *src_regs = (struct src *)SRC_BASE_ADDR;
 	u32 val;
diff --git a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
index 522b840275..1640f465ba 100644
--- a/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
+++ b/board/freescale/mx6sxsabreauto/mx6sxsabreauto.c
@@ -95,7 +95,7 @@ static int setup_fec(void)
 	return enable_fec_anatop_clock(1, ENET_125MHZ);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
index b092ea8053..7fb8de177b 100644
--- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c
+++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c
@@ -141,7 +141,7 @@ static int setup_fec(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(fec1_pads, ARRAY_SIZE(fec1_pads));
 	setup_fec();
diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
index b03c9c97a7..9cb1759401 100644
--- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
+++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
@@ -146,7 +146,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(usdhc2_pads, ARRAY_SIZE(usdhc2_pads));
 	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
diff --git a/board/freescale/mx7ulp_evk/mx7ulp_evk.c b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
index 1594285860..fd21591ad6 100644
--- a/board/freescale/mx7ulp_evk/mx7ulp_evk.c
+++ b/board/freescale/mx7ulp_evk/mx7ulp_evk.c
@@ -50,7 +50,7 @@ int board_init(void)
 }
 
 #if IS_ENABLED(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	const char *path;
 	int rc, nodeoff;
diff --git a/board/freescale/p1010rdb/p1010rdb.c b/board/freescale/p1010rdb/p1010rdb.c
index 66ccc0bd1e..accf2f24e5 100644
--- a/board/freescale/p1010rdb/p1010rdb.c
+++ b/board/freescale/p1010rdb/p1010rdb.c
@@ -484,7 +484,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_TSEC_ENET
 	struct fsl_pq_mdio_info mdio_info;
@@ -601,7 +601,7 @@ void fdt_disable_uart1(void *blob)
 	}
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
@@ -659,7 +659,7 @@ int ft_board_setup(void *blob, bd_t *bd)
 #endif
 
 #ifdef CONFIG_SDCARD
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	config_board_mux(MUX_TYPE_SDHC);
 		return -1;
diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c
index 159d14b024..4ee4573d2b 100644
--- a/board/freescale/p1010rdb/spl.c
+++ b/board/freescale/p1010rdb/spl.c
@@ -63,11 +63,11 @@ void board_init_r(gd_t *gd, ulong dest_addr)
 {
 	/* Pointer is writable since we allocated a register for it */
 	gd = (gd_t *)CONFIG_SPL_GD_ADDR;
-	bd_t *bd;
+	struct bd_info *bd;
 
 	memset(gd, 0, sizeof(gd_t));
-	bd = (bd_t *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L2_SIZE;
diff --git a/board/freescale/p1022ds/p1022ds.c b/board/freescale/p1022ds/p1022ds.c
index d10160d17a..646a9960ee 100644
--- a/board/freescale/p1022ds/p1022ds.c
+++ b/board/freescale/p1022ds/p1022ds.c
@@ -286,7 +286,7 @@ int board_early_init_r(void)
  *       0, no ethernet devices found
  *      >0, number of ethernet devices initialized
  */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[2];
@@ -334,7 +334,7 @@ static void ft_codec_setup(void *blob, const char *compatible)
 	}
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/p1022ds/spl.c b/board/freescale/p1022ds/spl.c
index 39e1bee6f3..6188250cd8 100644
--- a/board/freescale/p1022ds/spl.c
+++ b/board/freescale/p1022ds/spl.c
@@ -77,11 +77,11 @@ void board_init_r(gd_t *gd, ulong dest_addr)
 {
 	/* Pointer is writable since we allocated a register for it */
 	gd = (gd_t *)CONFIG_SPL_GD_ADDR;
-	bd_t *bd;
+	struct bd_info *bd;
 
 	memset(gd, 0, sizeof(gd_t));
-	bd = (bd_t *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L2_SIZE;
diff --git a/board/freescale/p1023rdb/p1023rdb.c b/board/freescale/p1023rdb/p1023rdb.c
index 4380ece098..b70ff6899a 100644
--- a/board/freescale/p1023rdb/p1023rdb.c
+++ b/board/freescale/p1023rdb/p1023rdb.c
@@ -100,7 +100,7 @@ unsigned long get_board_ddr_clk(ulong dummy)
 	return gd->mem_clk;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	ccsr_gur_t *gur = (ccsr_gur_t *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
 	struct fsl_pq_mdio_info dtsec_mdio_info;
@@ -134,7 +134,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
index 1353debc0e..7c703b354f 100644
--- a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
+++ b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c
@@ -341,7 +341,7 @@ int board_early_init_r(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[4];
@@ -452,7 +452,7 @@ static void fdt_board_fixup_qe_pins(void *blob)
 #endif
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c
index 6ed0a816d9..e76c3e82c3 100644
--- a/board/freescale/p1_p2_rdb_pc/spl.c
+++ b/board/freescale/p1_p2_rdb_pc/spl.c
@@ -69,11 +69,11 @@ void board_init_r(gd_t *gd, ulong dest_addr)
 {
 	/* Pointer is writable since we allocated a register for it */
 	gd = (gd_t *)CONFIG_SPL_GD_ADDR;
-	bd_t *bd;
+	struct bd_info *bd;
 
 	memset(gd, 0, sizeof(gd_t));
-	bd = (bd_t *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L2_SIZE;
diff --git a/board/freescale/p1_twr/p1_twr.c b/board/freescale/p1_twr/p1_twr.c
index 8e1522a604..6188484fa1 100644
--- a/board/freescale/p1_twr/p1_twr.c
+++ b/board/freescale/p1_twr/p1_twr.c
@@ -184,7 +184,7 @@ int board_early_init_r(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[4];
@@ -264,7 +264,7 @@ static void fdt_board_fixup_qe_pins(void *blob)
 #endif
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/p2041rdb/eth.c b/board/freescale/p2041rdb/eth.c
index 32c68f2a71..396981605d 100644
--- a/board/freescale/p2041rdb/eth.c
+++ b/board/freescale/p2041rdb/eth.c
@@ -120,7 +120,7 @@ void board_ft_fman_fixup_port(void *fdt, char *compat, phys_addr_t addr,
 }
 #endif /* #ifdef CONFIG_FMAN_ENET */
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct fsl_pq_mdio_info dtsec_mdio_info;
diff --git a/board/freescale/p2041rdb/p2041rdb.c b/board/freescale/p2041rdb/p2041rdb.c
index 4d0ac908a5..720d304fe4 100644
--- a/board/freescale/p2041rdb/p2041rdb.c
+++ b/board/freescale/p2041rdb/p2041rdb.c
@@ -20,7 +20,7 @@
 #include <asm/fsl_liodn.h>
 #include <fm_eth.h>
 
-extern void pci_of_setup(void *blob, bd_t *bd);
+extern void pci_of_setup(void *blob, struct bd_info *bd);
 
 #include "cpld.h"
 
@@ -215,7 +215,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/qemu-ppce500/qemu-ppce500.c b/board/freescale/qemu-ppce500/qemu-ppce500.c
index 61a9226eb3..3395377b4f 100644
--- a/board/freescale/qemu-ppce500/qemu-ppce500.c
+++ b/board/freescale/qemu-ppce500/qemu-ppce500.c
@@ -240,13 +240,13 @@ static uint64_t get_linear_ram_size(void)
 	panic("Couldn't determine RAM size");
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 
diff --git a/board/freescale/s32v234evb/s32v234evb.c b/board/freescale/s32v234evb/s32v234evb.c
index a7301e2a2e..f381cfc2ad 100644
--- a/board/freescale/s32v234evb/s32v234evb.c
+++ b/board/freescale/s32v234evb/s32v234evb.c
@@ -86,7 +86,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t * bis)
+int board_mmc_init(struct bd_info * bis)
 {
 	esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_USDHC_CLK);
 
diff --git a/board/freescale/t102xqds/eth_t102xqds.c b/board/freescale/t102xqds/eth_t102xqds.c
index 49ea21a83a..550b0f74c3 100644
--- a/board/freescale/t102xqds/eth_t102xqds.c
+++ b/board/freescale/t102xqds/eth_t102xqds.c
@@ -252,7 +252,7 @@ static void initialize_lane_to_slot(void)
 	}
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FMAN_ENET)
 	int i, idx, lane, slot, interface;
diff --git a/board/freescale/t102xqds/pci.c b/board/freescale/t102xqds/pci.c
index 1b1cc0483c..4fb84ad185 100644
--- a/board/freescale/t102xqds/pci.c
+++ b/board/freescale/t102xqds/pci.c
@@ -17,7 +17,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t102xqds/spl.c b/board/freescale/t102xqds/spl.c
index 9f4a43ed56..7ab07c7726 100644
--- a/board/freescale/t102xqds/spl.c
+++ b/board/freescale/t102xqds/spl.c
@@ -111,10 +111,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/t102xqds/t102xqds.c b/board/freescale/t102xqds/t102xqds.c
index fd489851db..65226a1b0f 100644
--- a/board/freescale/t102xqds/t102xqds.c
+++ b/board/freescale/t102xqds/t102xqds.c
@@ -451,7 +451,7 @@ void fdt_fixup_spi_mux(void *blob)
 	}
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t102xqds/t102xqds.h b/board/freescale/t102xqds/t102xqds.h
index d327b5edb9..fe59e68189 100644
--- a/board/freescale/t102xqds/t102xqds.h
+++ b/board/freescale/t102xqds/t102xqds.h
@@ -8,7 +8,7 @@
 #define __T102x_QDS_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 int select_i2c_ch_pca9547(u8 ch, int bus_num);
 
 #endif
diff --git a/board/freescale/t102xrdb/eth_t102xrdb.c b/board/freescale/t102xrdb/eth_t102xrdb.c
index dbf25a237d..b64590f9d7 100644
--- a/board/freescale/t102xrdb/eth_t102xrdb.c
+++ b/board/freescale/t102xrdb/eth_t102xrdb.c
@@ -26,7 +26,7 @@
 #include <asm/fsl_serdes.h>
 #include "../common/fman.h"
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FMAN_ENET)
 	int i, interface;
diff --git a/board/freescale/t102xrdb/pci.c b/board/freescale/t102xrdb/pci.c
index bd0e29744c..45ab9223ae 100644
--- a/board/freescale/t102xrdb/pci.c
+++ b/board/freescale/t102xrdb/pci.c
@@ -18,7 +18,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c
index aed0721c0d..da442fcc18 100644
--- a/board/freescale/t102xrdb/spl.c
+++ b/board/freescale/t102xrdb/spl.c
@@ -98,10 +98,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/t102xrdb/t102xrdb.c b/board/freescale/t102xrdb/t102xrdb.c
index edf3a33dfb..bb775eb2d3 100644
--- a/board/freescale/t102xrdb/t102xrdb.c
+++ b/board/freescale/t102xrdb/t102xrdb.c
@@ -183,7 +183,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t102xrdb/t102xrdb.h b/board/freescale/t102xrdb/t102xrdb.h
index 5d46014823..33df0f24df 100644
--- a/board/freescale/t102xrdb/t102xrdb.h
+++ b/board/freescale/t102xrdb/t102xrdb.h
@@ -7,7 +7,7 @@
 #define __T1024_RDB_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 #ifdef CONFIG_TARGET_T1023RDB
 static u32 t1023rdb_ctrl(u32 ctrl_type);
 static void fdt_enable_nor(void *blob);
diff --git a/board/freescale/t1040qds/eth.c b/board/freescale/t1040qds/eth.c
index b349b77951..598c15c3f0 100644
--- a/board/freescale/t1040qds/eth.c
+++ b/board/freescale/t1040qds/eth.c
@@ -436,7 +436,7 @@ void t1040_handle_phy_interface_rgmii(int i)
 	fm_info_set_mdio(i, mii_dev_for_muxval(mdio_mux[i]));
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct memac_mdio_info memac_mdio_info;
diff --git a/board/freescale/t1040qds/pci.c b/board/freescale/t1040qds/pci.c
index 5152cdf18a..9e783ed53b 100644
--- a/board/freescale/t1040qds/pci.c
+++ b/board/freescale/t1040qds/pci.c
@@ -17,7 +17,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t1040qds/t1040qds.c b/board/freescale/t1040qds/t1040qds.c
index cf38d843ac..a147a23902 100644
--- a/board/freescale/t1040qds/t1040qds.c
+++ b/board/freescale/t1040qds/t1040qds.c
@@ -255,7 +255,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t1040qds/t1040qds.h b/board/freescale/t1040qds/t1040qds.h
index 781bcdefc9..a38c86a998 100644
--- a/board/freescale/t1040qds/t1040qds.h
+++ b/board/freescale/t1040qds/t1040qds.h
@@ -8,7 +8,7 @@
 #define __T1040_QDS_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 int select_i2c_ch_pca9547(u8 ch, int bus_bum);
 
 #endif
diff --git a/board/freescale/t104xrdb/eth.c b/board/freescale/t104xrdb/eth.c
index 9cbc8754dc..8e2f035874 100644
--- a/board/freescale/t104xrdb/eth.c
+++ b/board/freescale/t104xrdb/eth.c
@@ -16,7 +16,7 @@
 
 #include "../common/fman.h"
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct memac_mdio_info memac_mdio_info;
diff --git a/board/freescale/t104xrdb/pci.c b/board/freescale/t104xrdb/pci.c
index ff7cf36446..1fd2402700 100644
--- a/board/freescale/t104xrdb/pci.c
+++ b/board/freescale/t104xrdb/pci.c
@@ -18,7 +18,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c
index 2306d0391e..f83d69ba15 100644
--- a/board/freescale/t104xrdb/spl.c
+++ b/board/freescale/t104xrdb/spl.c
@@ -89,10 +89,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/t104xrdb/t104xrdb.c b/board/freescale/t104xrdb/t104xrdb.c
index 04b23085f8..c7290e5a34 100644
--- a/board/freescale/t104xrdb/t104xrdb.c
+++ b/board/freescale/t104xrdb/t104xrdb.c
@@ -129,7 +129,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t104xrdb/t104xrdb.h b/board/freescale/t104xrdb/t104xrdb.h
index b6459cd629..678724c7e2 100644
--- a/board/freescale/t104xrdb/t104xrdb.h
+++ b/board/freescale/t104xrdb/t104xrdb.h
@@ -7,6 +7,6 @@
 #define __T104x_RDB_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/freescale/t208xqds/eth_t208xqds.c b/board/freescale/t208xqds/eth_t208xqds.c
index 938e606641..5044b5695b 100644
--- a/board/freescale/t208xqds/eth_t208xqds.c
+++ b/board/freescale/t208xqds/eth_t208xqds.c
@@ -525,7 +525,7 @@ static void initialize_lane_to_slot(void)
 	}
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FMAN_ENET)
 	int i, idx, lane, slot, interface;
diff --git a/board/freescale/t208xqds/pci.c b/board/freescale/t208xqds/pci.c
index e335592776..a03b11ccb5 100644
--- a/board/freescale/t208xqds/pci.c
+++ b/board/freescale/t208xqds/pci.c
@@ -18,7 +18,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c
index 40eb5d30a6..c197884421 100644
--- a/board/freescale/t208xqds/spl.c
+++ b/board/freescale/t208xqds/spl.c
@@ -97,10 +97,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/t208xqds/t208xqds.c b/board/freescale/t208xqds/t208xqds.c
index 4d980e1eef..1dbfd493a2 100644
--- a/board/freescale/t208xqds/t208xqds.c
+++ b/board/freescale/t208xqds/t208xqds.c
@@ -461,7 +461,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t208xqds/t208xqds.h b/board/freescale/t208xqds/t208xqds.h
index 68c758f723..50ebb6f6f9 100644
--- a/board/freescale/t208xqds/t208xqds.h
+++ b/board/freescale/t208xqds/t208xqds.h
@@ -7,6 +7,6 @@
 #define __CORENET_DS_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/freescale/t208xrdb/eth_t208xrdb.c b/board/freescale/t208xrdb/eth_t208xrdb.c
index db4718128d..c16538850c 100644
--- a/board/freescale/t208xrdb/eth_t208xrdb.c
+++ b/board/freescale/t208xrdb/eth_t208xrdb.c
@@ -25,7 +25,7 @@
 #include <fsl_dtsec.h>
 #include <asm/fsl_serdes.h>
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FMAN_ENET)
 	int i, interface;
diff --git a/board/freescale/t208xrdb/pci.c b/board/freescale/t208xrdb/pci.c
index bd0e29744c..45ab9223ae 100644
--- a/board/freescale/t208xrdb/pci.c
+++ b/board/freescale/t208xrdb/pci.c
@@ -18,7 +18,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c
index 27e87da409..07aab6349c 100644
--- a/board/freescale/t208xrdb/spl.c
+++ b/board/freescale/t208xrdb/spl.c
@@ -67,10 +67,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/t208xrdb/t208xrdb.c b/board/freescale/t208xrdb/t208xrdb.c
index 5ba1682888..d37abb7ef3 100644
--- a/board/freescale/t208xrdb/t208xrdb.c
+++ b/board/freescale/t208xrdb/t208xrdb.c
@@ -114,7 +114,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t208xrdb/t208xrdb.h b/board/freescale/t208xrdb/t208xrdb.h
index 2f630ef1ca..22a496fb8c 100644
--- a/board/freescale/t208xrdb/t208xrdb.h
+++ b/board/freescale/t208xrdb/t208xrdb.h
@@ -7,6 +7,6 @@
 #define __CORENET_DS_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/freescale/t4qds/eth.c b/board/freescale/t4qds/eth.c
index 810868ff39..e4297629bc 100644
--- a/board/freescale/t4qds/eth.c
+++ b/board/freescale/t4qds/eth.c
@@ -487,7 +487,7 @@ static void initialize_qsgmiiphy_fix(void)
 	}
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FMAN_ENET)
 	int i, idx, lane, slot, interface;
diff --git a/board/freescale/t4qds/pci.c b/board/freescale/t4qds/pci.c
index 26e2a0af4a..1b2c445afb 100644
--- a/board/freescale/t4qds/pci.c
+++ b/board/freescale/t4qds/pci.c
@@ -17,7 +17,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t4qds/spl.c b/board/freescale/t4qds/spl.c
index d72d207a76..50f0c9aa4a 100644
--- a/board/freescale/t4qds/spl.c
+++ b/board/freescale/t4qds/spl.c
@@ -106,10 +106,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/t4qds/t4240emu.c b/board/freescale/t4qds/t4240emu.c
index 8f2032acc7..32719a7219 100644
--- a/board/freescale/t4qds/t4240emu.c
+++ b/board/freescale/t4qds/t4240emu.c
@@ -66,7 +66,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t4qds/t4240qds.c b/board/freescale/t4qds/t4240qds.c
index 543a2cb6e2..b017ba354a 100644
--- a/board/freescale/t4qds/t4240qds.c
+++ b/board/freescale/t4qds/t4240qds.c
@@ -716,7 +716,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t4qds/t4qds.h b/board/freescale/t4qds/t4qds.h
index 4a8e91b58f..987ed93c0d 100644
--- a/board/freescale/t4qds/t4qds.h
+++ b/board/freescale/t4qds/t4qds.h
@@ -7,6 +7,6 @@
 #define __CORENET_DS_H__
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/freescale/t4rdb/eth.c b/board/freescale/t4rdb/eth.c
index 4c896c8a90..c815a3a4fa 100644
--- a/board/freescale/t4rdb/eth.c
+++ b/board/freescale/t4rdb/eth.c
@@ -36,7 +36,7 @@ void fdt_fixup_board_enet(void *fdt)
 	return;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_FMAN_ENET)
 	int i, interface;
diff --git a/board/freescale/t4rdb/pci.c b/board/freescale/t4rdb/pci.c
index ac0c95687a..c2bc05164d 100644
--- a/board/freescale/t4rdb/pci.c
+++ b/board/freescale/t4rdb/pci.c
@@ -18,7 +18,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c
index 5d018c316c..64d2753da8 100644
--- a/board/freescale/t4rdb/spl.c
+++ b/board/freescale/t4rdb/spl.c
@@ -70,10 +70,10 @@ void board_init_f(ulong bootflag)
 
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
-	bd_t *bd;
+	struct bd_info *bd;
 
-	bd = (bd_t *)(gd + sizeof(gd_t));
-	memset(bd, 0, sizeof(bd_t));
+	bd = (struct bd_info *)(gd + sizeof(gd_t));
+	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 	bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
 	bd->bi_memsize = CONFIG_SYS_L3_SIZE;
diff --git a/board/freescale/t4rdb/t4240rdb.c b/board/freescale/t4rdb/t4240rdb.c
index c84de554d3..5c2a75b905 100644
--- a/board/freescale/t4rdb/t4240rdb.c
+++ b/board/freescale/t4rdb/t4240rdb.c
@@ -93,7 +93,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/freescale/t4rdb/t4rdb.h b/board/freescale/t4rdb/t4rdb.h
index 6e04bf0710..3f1fa7bbd2 100644
--- a/board/freescale/t4rdb/t4rdb.h
+++ b/board/freescale/t4rdb/t4rdb.h
@@ -12,6 +12,6 @@
 #define CONFIG_SYS_NUM_FM2_DTSEC	4
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/freescale/vf610twr/vf610twr.c b/board/freescale/vf610twr/vf610twr.c
index 17427f23d8..bd125bc17e 100644
--- a/board/freescale/vf610twr/vf610twr.c
+++ b/board/freescale/vf610twr/vf610twr.c
@@ -246,7 +246,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t esdhc1_pads[] = {
 		NEW_PAD_CTRL(VF610_PAD_PTA24__ESDHC1_CLK, ESDHC_PAD_CTRL),
diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c
index 1a35249724..14f45bf07d 100644
--- a/board/gateworks/gw_ventana/common.c
+++ b/board/gateworks/gw_ventana/common.c
@@ -1663,7 +1663,7 @@ void setup_pmic(void)
 #ifdef CONFIG_FSL_ESDHC_IMX
 static struct fsl_esdhc_cfg usdhc_cfg[2];
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	struct ventana_board_info ventana_info;
 	int board_type = read_eeprom(CONFIG_I2C_GSC, &ventana_info);
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
index 649e622944..9f043d815a 100644
--- a/board/gateworks/gw_ventana/gw_ventana.c
+++ b/board/gateworks/gw_ventana/gw_ventana.c
@@ -283,7 +283,7 @@ int mv88e61xx_hw_reset(struct phy_device *phydev)
 }
 #endif // CONFIG_MV88E61XX_SWITCH
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FEC_MXC
 	struct ventana_board_info *info = &ventana_info;
@@ -1067,7 +1067,7 @@ int fdt_fixup_sky2(void *blob, int np, struct pci_dev *dev)
  * we will walk the PCI bus and add bridge nodes up to the device receiving
  * the fixup.
  */
-void ft_board_pci_fixup(void *blob, bd_t *bd)
+void ft_board_pci_fixup(void *blob, struct bd_info *bd)
 {
 	int i, np;
 	struct pci_dev *dev;
@@ -1125,7 +1125,7 @@ void ft_board_wdog_fixup(void *blob, phys_addr_t addr)
 #define GPIO3_ADDR	0x20a4000
 #define USDHC3_ADDR	0x2198000
 #define PWM0_ADDR	0x2080000
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	struct ventana_board_info *info = &ventana_info;
 	struct ventana_eeprom_config *cfg;
diff --git a/board/gdsys/mpc8308/gazerbeam.c b/board/gdsys/mpc8308/gazerbeam.c
index b64a6d992d..c317260251 100644
--- a/board/gdsys/mpc8308/gazerbeam.c
+++ b/board/gdsys/mpc8308/gazerbeam.c
@@ -171,7 +171,7 @@ int last_stage_init(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 	fsl_fdt_fixup_dr_usb(blob, bd);
diff --git a/board/gdsys/mpc8308/hrcon.c b/board/gdsys/mpc8308/hrcon.c
index d206f8f0c5..b5c681c2d1 100644
--- a/board/gdsys/mpc8308/hrcon.c
+++ b/board/gdsys/mpc8308/hrcon.c
@@ -302,7 +302,7 @@ int mpc8308_get_fpga_done(uint fpga)
 }
 
 #ifdef CONFIG_FSL_ESDHC
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
 	sysconf83xx_t *sysconf = &immr->sysconf;
@@ -359,7 +359,7 @@ ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 	fsl_fdt_fixup_dr_usb(blob, bd);
diff --git a/board/gdsys/mpc8308/strider.c b/board/gdsys/mpc8308/strider.c
index b3af8fec91..91fec74fb0 100644
--- a/board/gdsys/mpc8308/strider.c
+++ b/board/gdsys/mpc8308/strider.c
@@ -357,7 +357,7 @@ int mpc8308_get_fpga_done(uint fpga)
 }
 
 #ifdef CONFIG_FSL_ESDHC
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
 	sysconf83xx_t *sysconf = &immr->sysconf;
@@ -414,7 +414,7 @@ ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 	fsl_fdt_fixup_dr_usb(blob, bd);
diff --git a/board/gdsys/p1022/controlcenterd.c b/board/gdsys/p1022/controlcenterd.c
index 73ce985d1a..d31cba3d06 100644
--- a/board/gdsys/p1022/controlcenterd.c
+++ b/board/gdsys/p1022/controlcenterd.c
@@ -308,7 +308,7 @@ int last_stage_init(void)
  *       0, no ethernet devices found
  *      >0, number of ethernet devices initialized
  */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info mdio_info;
 	struct tsec_info_struct tsec_info[2];
@@ -331,7 +331,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c
index edccfd03b3..cf76cf7a33 100644
--- a/board/ge/bx50v3/bx50v3.c
+++ b/board/ge/bx50v3/bx50v3.c
@@ -551,7 +551,7 @@ int checkboard(void)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	char *rtc_status = env_get("rtc_status");
 
diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
index f8320ffe8f..7627e9c370 100644
--- a/board/ge/mx53ppd/mx53ppd.c
+++ b/board/ge/mx53ppd/mx53ppd.c
@@ -250,7 +250,7 @@ int checkboard(void)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	char *rtc_status = env_get("rtc_status");
 
diff --git a/board/google/imx8mq_phanbell/spl.c b/board/google/imx8mq_phanbell/spl.c
index 6f39599316..06a3f4c1aa 100644
--- a/board/google/imx8mq_phanbell/spl.c
+++ b/board/google/imx8mq_phanbell/spl.c
@@ -87,7 +87,7 @@ static struct fsl_esdhc_cfg usdhc_cfg[2] = {
 	{USDHC2_BASE_ADDR},
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, ret;
 	/*
diff --git a/board/grinn/liteboard/board.c b/board/grinn/liteboard/board.c
index df32e12037..578d75aed3 100644
--- a/board/grinn/liteboard/board.c
+++ b/board/grinn/liteboard/board.c
@@ -110,7 +110,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/board/gumstix/duovero/duovero.c b/board/gumstix/duovero/duovero.c
index 0df03a5a61..750e346ad9 100644
--- a/board/gumstix/duovero/duovero.c
+++ b/board/gumstix/duovero/duovero.c
@@ -114,7 +114,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
@@ -200,7 +200,7 @@ static void setup_net_chip(void)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC911X
diff --git a/board/gumstix/pepper/board.c b/board/gumstix/pepper/board.c
index ebb5a560c3..823d72eed1 100644
--- a/board/gumstix/pepper/board.c
+++ b/board/gumstix/pepper/board.c
@@ -234,7 +234,7 @@ static struct cpsw_platform_data cpsw_data = {
 	.version		= CPSW_CTRL_VERSION_2,
 };
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, n = 0;
 	uint8_t mac_addr[6];
diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c
index 063831dfe8..e07295c7b5 100644
--- a/board/highbank/highbank.c
+++ b/board/highbank/highbank.c
@@ -52,7 +52,7 @@ int board_init(void)
 }
 
 /* We know all the init functions have been run now */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
@@ -101,7 +101,7 @@ int dram_init(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	static const char disabled[] = "disabled";
 	u32 reg = readl(HB_SREG_A9_PWRDOM_STAT);
diff --git a/board/hisilicon/hikey/hikey.c b/board/hisilicon/hikey/hikey.c
index 6eea939b91..e89ff1a43d 100644
--- a/board/hisilicon/hikey/hikey.c
+++ b/board/hisilicon/hikey/hikey.c
@@ -429,7 +429,7 @@ int power_init_board(void)
 	return 0;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/board/ids/ids8313/ids8313.c b/board/ids/ids8313/ids8313.c
index d0d34012d7..ac35b5b0d0 100644
--- a/board/ids/ids8313/ids8313.c
+++ b/board/ids/ids8313/ids8313.c
@@ -143,7 +143,7 @@ int dram_init(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/imgtec/boston/dt.c b/board/imgtec/boston/dt.c
index c7ae90418f..44b56416ff 100644
--- a/board/imgtec/boston/dt.c
+++ b/board/imgtec/boston/dt.c
@@ -6,7 +6,7 @@
 #include <common.h>
 #include <fdt_support.h>
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	DECLARE_GLOBAL_DATA_PTR;
 	u64 mem_start[2], mem_size[2];
diff --git a/board/imgtec/ci20/ci20.c b/board/imgtec/ci20/ci20.c
index 5339b9e9f9..038dbdd74f 100644
--- a/board/imgtec/ci20/ci20.c
+++ b/board/imgtec/ci20/ci20.c
@@ -195,7 +195,7 @@ int misc_init_r(void)
 }
 
 #ifdef CONFIG_DRIVER_DM9000
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	/* Enable clock */
 	jz4780_clk_ungate_ethernet();
@@ -254,7 +254,7 @@ int checkboard(void)
 #ifdef CONFIG_SPL_BUILD
 
 #if defined(CONFIG_SPL_MMC_SUPPORT)
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	ci20_mux_mmc();
 	return jz_mmc_init((void __iomem *)MSC0_BASE);
diff --git a/board/imgtec/malta/malta.c b/board/imgtec/malta/malta.c
index 88a1a63bf4..252cc813c6 100644
--- a/board/imgtec/malta/malta.c
+++ b/board/imgtec/malta/malta.c
@@ -119,7 +119,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
diff --git a/board/inversepath/usbarmory/usbarmory.c b/board/inversepath/usbarmory/usbarmory.c
index 02a514809f..56a2a7c4a6 100644
--- a/board/inversepath/usbarmory/usbarmory.c
+++ b/board/inversepath/usbarmory/usbarmory.c
@@ -48,7 +48,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/isee/igep003x/board.c b/board/isee/igep003x/board.c
index a28d447825..9b4cb91b34 100644
--- a/board/isee/igep003x/board.c
+++ b/board/isee/igep003x/board.c
@@ -212,7 +212,7 @@ int board_late_init(void)
 #endif
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_FDT_FIXUP_PARTITIONS
 	static const struct node_info nodes[] = {
@@ -261,7 +261,7 @@ static struct cpsw_platform_data cpsw_data = {
 	.version		= CPSW_CTRL_VERSION_2,
 };
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, ret = 0;
 	uint8_t mac_addr[6];
diff --git a/board/isee/igep00x0/common.c b/board/isee/igep00x0/common.c
index 2c269773a8..58c713f0f3 100644
--- a/board/isee/igep00x0/common.c
+++ b/board/isee/igep00x0/common.c
@@ -56,7 +56,7 @@ int board_init(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
index af0bce6426..e0ca3c2588 100644
--- a/board/isee/igep00x0/igep00x0.c
+++ b/board/isee/igep00x0/igep00x0.c
@@ -132,7 +132,7 @@ static void setup_net_chip(void)
 	reset_net_chip(64);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_SMC911X
 	return smc911x_initialize(0, CONFIG_SMC911X_BASE);
@@ -159,7 +159,7 @@ static int ft_enable_by_compatible(void *blob, char *compat, int enable)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_FDT_FIXUP_PARTITIONS
 	static const struct node_info nodes[] = {
diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c
index 9c9e1598f8..03c7ce9da7 100644
--- a/board/keymile/common/common.c
+++ b/board/keymile/common/common.c
@@ -144,7 +144,7 @@ void i2c_init_board(void)
 #endif
 
 #if defined(CONFIG_KM_COMMON_ETH_INIT)
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	if (ethernet_present())
 		return cpu_eth_init(bis);
diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c
index 75c558ad3c..0aad452dde 100644
--- a/board/keymile/km83xx/km83xx.c
+++ b/board/keymile/km83xx/km83xx.c
@@ -257,7 +257,7 @@ int checkboard(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/keymile/kmp204x/eth.c b/board/keymile/kmp204x/eth.c
index 8635a5448b..29c5b339ae 100644
--- a/board/keymile/kmp204x/eth.c
+++ b/board/keymile/kmp204x/eth.c
@@ -11,7 +11,7 @@
 #include <fsl_mdio.h>
 #include <phy.h>
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 #ifdef CONFIG_FMAN_ENET
diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c
index 21afbc7f39..29dde7a802 100644
--- a/board/keymile/kmp204x/kmp204x.c
+++ b/board/keymile/kmp204x/kmp204x.c
@@ -222,7 +222,7 @@ void fdt_fixup_fman_mac_addresses(void *blob)
 }
 #endif
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/keymile/kmp204x/kmp204x.h b/board/keymile/kmp204x/kmp204x.h
index 00e1a06662..3b858a5571 100644
--- a/board/keymile/kmp204x/kmp204x.h
+++ b/board/keymile/kmp204x/kmp204x.h
@@ -5,4 +5,4 @@
  */
 
 
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
diff --git a/board/keymile/kmp204x/pci.c b/board/keymile/kmp204x/pci.c
index 87bf16886a..cdb498da03 100644
--- a/board/keymile/kmp204x/pci.c
+++ b/board/keymile/kmp204x/pci.c
@@ -119,7 +119,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/kmc/kzm9g/kzm9g.c b/board/kmc/kzm9g/kzm9g.c
index 7bc66af193..4b40604218 100644
--- a/board/kmc/kzm9g/kzm9g.c
+++ b/board/kmc/kzm9g/kzm9g.c
@@ -356,7 +356,7 @@ int dram_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 #ifdef CONFIG_SMC911X
diff --git a/board/kobol/helios4/helios4.c b/board/kobol/helios4/helios4.c
index 97b152664a..17d2489415 100644
--- a/board/kobol/helios4/helios4.c
+++ b/board/kobol/helios4/helios4.c
@@ -122,7 +122,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis); /* Built in controller(s) come first */
 	return pci_eth_init(bis);
diff --git a/board/kosagi/novena/novena_spl.c b/board/kosagi/novena/novena_spl.c
index 9926285675..3d22f2019e 100644
--- a/board/kosagi/novena/novena_spl.c
+++ b/board/kosagi/novena/novena_spl.c
@@ -418,7 +418,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
 	return fsl_esdhc_initialize(bis, &usdhc_cfg);
diff --git a/board/l+g/vinco/vinco.c b/board/l+g/vinco/vinco.c
index 5a998e37d8..80e4aab212 100644
--- a/board/l+g/vinco/vinco.c
+++ b/board/l+g/vinco/vinco.c
@@ -109,7 +109,7 @@ void vinco_mci0_hw_init(void)
 	at91_periph_clk_enable(ATMEL_ID_MCI0);
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	/* Enable power for MCI0 interface */
 	at91_set_pio_output(AT91_PIO_PORTE, 7, 1);
@@ -194,7 +194,7 @@ int dram_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
diff --git a/board/laird/wb45n/wb45n.c b/board/laird/wb45n/wb45n.c
index 0d1be3f784..df6eeb6243 100644
--- a/board/laird/wb45n/wb45n.c
+++ b/board/laird/wb45n/wb45n.c
@@ -77,7 +77,7 @@ static void wb45n_gpio_hw_init(void)
 	at91_set_gpio_deglitch(AT91_PIN_PB18, 1);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
diff --git a/board/laird/wb50n/wb50n.c b/board/laird/wb50n/wb50n.c
index 8146d410b9..9cc21b2abd 100644
--- a/board/laird/wb50n/wb50n.c
+++ b/board/laird/wb50n/wb50n.c
@@ -102,7 +102,7 @@ int board_phy_config(struct phy_device *phydev)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
diff --git a/board/lg/sniper/sniper.c b/board/lg/sniper/sniper.c
index 2825eccc03..b08a267c52 100644
--- a/board/lg/sniper/sniper.c
+++ b/board/lg/sniper/sniper.c
@@ -180,7 +180,7 @@ int fastboot_set_reboot_flag(void)
 	return omap_reboot_mode_store("b");
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(1, 0, 0, -1, -1);
 }
diff --git a/board/liebherr/display5/display5.c b/board/liebherr/display5/display5.c
index ec55fdf0aa..ada7cf5eb7 100644
--- a/board/liebherr/display5/display5.c
+++ b/board/liebherr/display5/display5.c
@@ -136,7 +136,7 @@ int overwrite_console(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	fdt_fixup_ethernet(blob);
 	return 0;
diff --git a/board/liebherr/display5/spl.c b/board/liebherr/display5/spl.c
index ac4f23f4d6..23959c2557 100644
--- a/board/liebherr/display5/spl.c
+++ b/board/liebherr/display5/spl.c
@@ -288,7 +288,7 @@ static struct fsl_esdhc_cfg usdhc_cfg = {
 	.max_bus_width = 8,
 };
 
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	displ5_set_iomux_usdhc_spl();
 
diff --git a/board/liebherr/mccmon6/spl.c b/board/liebherr/mccmon6/spl.c
index b234f06220..56eae3b4e9 100644
--- a/board/liebherr/mccmon6/spl.c
+++ b/board/liebherr/mccmon6/spl.c
@@ -528,7 +528,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	u32 index = 0;
diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c
index 8159f3a2d9..b8e7d94045 100644
--- a/board/liebherr/xea/xea.c
+++ b/board/liebherr/xea/xea.c
@@ -188,7 +188,7 @@ static int fdt_fixup_l2switch(void *blob)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	/*
 	 * i.MX28 L2 switch needs manual update (fixup) of eth MAC address
diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c
index b25b02b641..cba51f54d4 100644
--- a/board/logicpd/am3517evm/am3517evm.c
+++ b/board/logicpd/am3517evm/am3517evm.c
@@ -143,7 +143,7 @@ void set_muxconf_regs(void)
 
 
 #if defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, n = 0;
 
diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index 53dc9762f8..6aad90c3c9 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -109,7 +109,7 @@ void set_muxconf_regs(void)
 }
 
 #ifdef CONFIG_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
@@ -121,7 +121,7 @@ void board_mmc_power_init(void)
 #endif
 
 #ifdef CONFIG_CMD_NET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c
index d4288a2c57..893f625599 100644
--- a/board/menlo/m53menlo/m53menlo.c
+++ b/board/menlo/m53menlo/m53menlo.c
@@ -148,7 +148,7 @@ int board_mmc_getcd(struct mmc *mmc)
 #define SD_PAD_CTRL		(PAD_CTL_HYS | PAD_CTL_PUS_47K_UP | \
 				 PAD_CTL_DSE_HIGH)
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sd1_pads[] = {
 		NEW_PAD_CTRL(MX53_PAD_SD1_CMD__ESDHC1_CMD, SD_CMD_PAD_CTRL),
@@ -257,7 +257,7 @@ void board_preboot_os(void)
 	gpio_direction_output(IMX_GPIO_NR(6, 0), 0);
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	if (lvds_compat_string)
 		do_fixup_by_path_string(blob, "/panel", "compatible",
diff --git a/board/mini-box/picosam9g45/picosam9g45.c b/board/mini-box/picosam9g45/picosam9g45.c
index 5e55918fa6..e8e1ac3eb1 100644
--- a/board/mini-box/picosam9g45/picosam9g45.c
+++ b/board/mini-box/picosam9g45/picosam9g45.c
@@ -238,7 +238,7 @@ void lcd_show_board_info(void)
 #endif
 
 #ifdef CONFIG_GENERIC_ATMEL_MCI
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	at91_mci_hw_init();
 
@@ -300,7 +300,7 @@ void reset_phy(void)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_MACB
diff --git a/board/mpc8308_p1m/mpc8308_p1m.c b/board/mpc8308_p1m/mpc8308_p1m.c
index 601442055d..87607bd489 100644
--- a/board/mpc8308_p1m/mpc8308_p1m.c
+++ b/board/mpc8308_p1m/mpc8308_p1m.c
@@ -62,7 +62,7 @@ void pci_init_board(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 	fsl_fdt_fixup_dr_usb(blob, bd);
@@ -71,7 +71,7 @@ int ft_board_setup(void *blob, bd_t *bd)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, num_if = 0;
 
diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
index 60a2e3619c..254856c4d9 100644
--- a/board/nokia/rx51/rx51.c
+++ b/board/nokia/rx51/rx51.c
@@ -672,7 +672,7 @@ int rx51_kp_getc(struct stdio_dev *sdev)
  * Routine: board_mmc_init
  * Description: Initialize mmc devices.
  */
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	omap_mmc_init(0, 0, 0, -1, -1);
 	omap_mmc_init(1, 0, 0, -1, -1);
diff --git a/board/nvidia/p2371-2180/p2371-2180.c b/board/nvidia/p2371-2180/p2371-2180.c
index 4aeec473b1..7423a97ad0 100644
--- a/board/nvidia/p2371-2180/p2371-2180.c
+++ b/board/nvidia/p2371-2180/p2371-2180.c
@@ -168,7 +168,7 @@ static void ft_carveout_setup(void *fdt)
 	}
 }
 
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	ft_mac_address_setup(fdt);
 	ft_carveout_setup(fdt);
diff --git a/board/nvidia/p2771-0000/p2771-0000.c b/board/nvidia/p2771-0000/p2771-0000.c
index 3f0e594b9c..508c4d27b7 100644
--- a/board/nvidia/p2771-0000/p2771-0000.c
+++ b/board/nvidia/p2771-0000/p2771-0000.c
@@ -148,7 +148,7 @@ static void ft_carveout_setup(void *fdt)
 	}
 }
 
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	ft_mac_address_setup(fdt);
 	ft_carveout_setup(fdt);
diff --git a/board/nvidia/p3450-0000/p3450-0000.c b/board/nvidia/p3450-0000/p3450-0000.c
index 45f9bacc71..e6b66966c1 100644
--- a/board/nvidia/p3450-0000/p3450-0000.c
+++ b/board/nvidia/p3450-0000/p3450-0000.c
@@ -170,7 +170,7 @@ static void ft_carveout_setup(void *fdt)
 	}
 }
 
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	ft_mac_address_setup(fdt);
 	ft_carveout_setup(fdt);
diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
index 808d221036..f13fdb8d47 100644
--- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
+++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
@@ -62,7 +62,7 @@ static int mx23_olx_mmc_cd(int id)
 	return 1;	/* Card always present */
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return mxsmmc_initialize(bis, 0, NULL, mx23_olx_mmc_cd);
 }
diff --git a/board/overo/common.c b/board/overo/common.c
index 67823e68b6..7dc8640cce 100644
--- a/board/overo/common.c
+++ b/board/overo/common.c
@@ -41,7 +41,7 @@ int board_init(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
diff --git a/board/overo/overo.c b/board/overo/overo.c
index 5450f5d11c..1223a74d27 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -345,7 +345,7 @@ static void reset_net_chip(void)
 	}
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	unsigned int expansion_id;
 	int rc = 0;
diff --git a/board/phytec/pcl063/spl.c b/board/phytec/pcl063/spl.c
index 48cb2e267c..fea4aa3365 100644
--- a/board/phytec/pcl063/spl.c
+++ b/board/phytec/pcl063/spl.c
@@ -152,7 +152,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, ret;
 
diff --git a/board/phytec/pcm058/pcm058.c b/board/phytec/pcm058/pcm058.c
index 096425c5df..f48a3f4e0b 100644
--- a/board/phytec/pcm058/pcm058.c
+++ b/board/phytec/pcm058/pcm058.c
@@ -203,7 +203,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 #ifndef CONFIG_SPL_BUILD
 	int ret;
@@ -333,7 +333,7 @@ int board_spi_cs_gpio(unsigned bus, unsigned cs)
 	return IMX_GPIO_NR(3, 19);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_enet();
 
diff --git a/board/phytec/pfla02/pfla02.c b/board/phytec/pfla02/pfla02.c
index 0a961cc8a5..3b10cc0f9f 100644
--- a/board/phytec/pfla02/pfla02.c
+++ b/board/phytec/pfla02/pfla02.c
@@ -212,7 +212,7 @@ int board_mmc_getcd(struct mmc *mmc)
 }
 
 #ifndef CONFIG_SPL_BUILD
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	int i;
@@ -332,7 +332,7 @@ int board_spi_cs_gpio(unsigned bus, unsigned cs)
 	return IMX_GPIO_NR(4, 24);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_enet();
 
@@ -562,7 +562,7 @@ static void spl_dram_init(struct mx6_ddr_sysinfo *sysinfo,
 	mx6_dram_cfg(sysinfo, &mx6_mmcd_calib, mem_ddr);
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	if (spl_boot_device() == BOOT_DEVICE_SPI)
 		printf("MMC SEtup, Boot SPI");
diff --git a/board/phytec/phycore_am335x_r2/board.c b/board/phytec/phycore_am335x_r2/board.c
index 8964fb5dda..fb58906847 100644
--- a/board/phytec/phycore_am335x_r2/board.c
+++ b/board/phytec/phycore_am335x_r2/board.c
@@ -247,7 +247,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_FDT_FIXUP_PARTITIONS
 	static const struct node_info nodes[] = {
diff --git a/board/ppcag/bg0900/bg0900.c b/board/ppcag/bg0900/bg0900.c
index 9150748654..e8168e3468 100644
--- a/board/ppcag/bg0900/bg0900.c
+++ b/board/ppcag/bg0900/bg0900.c
@@ -52,7 +52,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_CMD_NET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct mxs_clkctrl_regs *clkctrl_regs =
 		(struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE;
diff --git a/board/qemu-mips/qemu-mips.c b/board/qemu-mips/qemu-mips.c
index cf22ed5627..7553d0b00d 100644
--- a/board/qemu-mips/qemu-mips.c
+++ b/board/qemu-mips/qemu-mips.c
@@ -78,7 +78,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return ne2k_register();
 }
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c
index 672bd465a5..4d1dbd696d 100644
--- a/board/qualcomm/dragonboard410c/dragonboard410c.c
+++ b/board/qualcomm/dragonboard410c/dragonboard410c.c
@@ -174,7 +174,7 @@ int board_late_init(void)
  *	variables wlanaddr,btaddr. if not, generate a unique address.
  */
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u8 mac[ARP_HLEN];
 
diff --git a/board/quipos/cairo/cairo.c b/board/quipos/cairo/cairo.c
index 8999542a7d..708e06fcc2 100644
--- a/board/quipos/cairo/cairo.c
+++ b/board/quipos/cairo/cairo.c
@@ -50,7 +50,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 45caa4d49e..6b1fa5fc14 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -478,7 +478,7 @@ void *board_fdt_blob_setup(void)
 	return (void *)fw_dtb_pointer;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	/*
 	 * For now, we simply always add the simplefb DT node. Later, we
diff --git a/board/renesas/MigoR/migo_r.c b/board/renesas/MigoR/migo_r.c
index f8bdb4d48a..f2f4c65753 100644
--- a/board/renesas/MigoR/migo_r.c
+++ b/board/renesas/MigoR/migo_r.c
@@ -32,7 +32,7 @@ void led_set_state (unsigned short value)
 }
 
 #ifdef CONFIG_CMD_NET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC91111
diff --git a/board/renesas/blanche/blanche.c b/board/renesas/blanche/blanche.c
index 5fa10878d2..2450fca7a5 100644
--- a/board/renesas/blanche/blanche.c
+++ b/board/renesas/blanche/blanche.c
@@ -318,7 +318,7 @@ int board_init(void)
 
 /* Added for BLANCHE(R-CarV2H board) */
 #ifndef CONFIG_DM_ETH
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 
diff --git a/board/renesas/r2dplus/r2dplus.c b/board/renesas/r2dplus/r2dplus.c
index 0bbdb0e33a..4b9959a432 100644
--- a/board/renesas/r2dplus/r2dplus.c
+++ b/board/renesas/r2dplus/r2dplus.c
@@ -47,7 +47,7 @@ void ide_set_reset(int idereset)
 }
 
 #ifndef CONFIG_DM_ETH
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return pci_eth_init(bis);
 }
diff --git a/board/renesas/r7780mp/r7780mp.c b/board/renesas/r7780mp/r7780mp.c
index 120464ced4..422381ca78 100644
--- a/board/renesas/r7780mp/r7780mp.c
+++ b/board/renesas/r7780mp/r7780mp.c
@@ -57,7 +57,7 @@ void pci_init_board(void)
 	pci_sh7780_init(&hose);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	/* return >= 0 if a chip is found, the board's AX88796L is n2k-based */
 	return ne2k_register() + pci_eth_init(bis);
diff --git a/board/renesas/rcar-common/common.c b/board/renesas/rcar-common/common.c
index 46dcea1f90..9f50f36982 100644
--- a/board/renesas/rcar-common/common.c
+++ b/board/renesas/rcar-common/common.c
@@ -44,7 +44,7 @@ int dram_init_banksize(void)
 }
 
 #if CONFIG_IS_ENABLED(OF_BOARD_SETUP) && CONFIG_IS_ENABLED(PCI)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	struct udevice *dev;
 	struct uclass *uc;
diff --git a/board/renesas/sh7752evb/sh7752evb.c b/board/renesas/sh7752evb/sh7752evb.c
index a005029b61..522b4bd610 100644
--- a/board/renesas/sh7752evb/sh7752evb.c
+++ b/board/renesas/sh7752evb/sh7752evb.c
@@ -164,7 +164,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	struct gpio_regs *gpio = GPIO_BASE;
 
diff --git a/board/renesas/sh7753evb/sh7753evb.c b/board/renesas/sh7753evb/sh7753evb.c
index 3b4a3ce26a..f34dec1dfa 100644
--- a/board/renesas/sh7753evb/sh7753evb.c
+++ b/board/renesas/sh7753evb/sh7753evb.c
@@ -180,7 +180,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	struct gpio_regs *gpio = GPIO_BASE;
 
diff --git a/board/renesas/sh7757lcr/sh7757lcr.c b/board/renesas/sh7757lcr/sh7757lcr.c
index 5e76b9e7b4..e933e3e730 100644
--- a/board/renesas/sh7757lcr/sh7757lcr.c
+++ b/board/renesas/sh7757lcr/sh7757lcr.c
@@ -233,7 +233,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return mmcif_mmc_init();
 }
diff --git a/board/ronetix/pm9261/pm9261.c b/board/ronetix/pm9261/pm9261.c
index 57f8a20ccb..0ce6a6e44e 100644
--- a/board/ronetix/pm9261/pm9261.c
+++ b/board/ronetix/pm9261/pm9261.c
@@ -132,7 +132,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_DRIVER_DM9000
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return dm9000_initialize(bis);
 }
diff --git a/board/ronetix/pm9263/pm9263.c b/board/ronetix/pm9263/pm9263.c
index 3cd6384fc3..62dfe6e33d 100644
--- a/board/ronetix/pm9263/pm9263.c
+++ b/board/ronetix/pm9263/pm9263.c
@@ -266,7 +266,7 @@ void reset_phy(void)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_MACB
diff --git a/board/ronetix/pm9g45/pm9g45.c b/board/ronetix/pm9g45/pm9g45.c
index 17dc7d6b4d..c7d22db0ab 100644
--- a/board/ronetix/pm9g45/pm9g45.c
+++ b/board/ronetix/pm9g45/pm9g45.c
@@ -166,7 +166,7 @@ void reset_phy(void)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_MACB
diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
index 7a8e57b6cc..91813763ce 100644
--- a/board/samsung/arndale/arndale.c
+++ b/board/samsung/arndale/arndale.c
@@ -74,7 +74,7 @@ int dram_init_banksize(void)
 }
 
 #ifdef CONFIG_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	/* dwmmc initializattion for available channels */
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index 029a0cc6cd..752d84ec05 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -220,7 +220,7 @@ static int decode_sromc(const void *blob, struct fdt_sromc *config)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_SMC911X
 	u32 smc_bw_conf, smc_bc_conf;
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index 40a94d547f..2f0ef22c41 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -76,7 +76,7 @@ int checkboard(void)
 #endif
 
 #ifdef CONFIG_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, ret, ret_sd = 0;
 
diff --git a/board/samsung/smdkc100/smdkc100.c b/board/samsung/smdkc100/smdkc100.c
index fc2c2a94dc..d034f53d68 100644
--- a/board/samsung/smdkc100/smdkc100.c
+++ b/board/samsung/smdkc100/smdkc100.c
@@ -69,7 +69,7 @@ int checkboard(void)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC911X
diff --git a/board/samsung/smdkv310/smdkv310.c b/board/samsung/smdkv310/smdkv310.c
index 0a5773676d..24273f1214 100644
--- a/board/samsung/smdkv310/smdkv310.c
+++ b/board/samsung/smdkv310/smdkv310.c
@@ -72,7 +72,7 @@ int dram_init_banksize(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_SMC911X
@@ -90,7 +90,7 @@ int checkboard(void)
 #endif
 
 #ifdef CONFIG_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, err;
 
diff --git a/board/sandbox/sandbox.c b/board/sandbox/sandbox.c
index 1372003018..b24ce22ccf 100644
--- a/board/sandbox/sandbox.c
+++ b/board/sandbox/sandbox.c
@@ -58,7 +58,7 @@ int board_init(void)
 	return 0;
 }
 
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	/* Create an arbitrary reservation to allow testing OF_BOARD_SETUP.*/
 	return fdt_add_mem_rsv(fdt, 0x00d02000, 0x4000);
diff --git a/board/sandisk/sansa_fuze_plus/sfp.c b/board/sandisk/sansa_fuze_plus/sfp.c
index 04f8678704..42004098b3 100644
--- a/board/sandisk/sansa_fuze_plus/sfp.c
+++ b/board/sandisk/sansa_fuze_plus/sfp.c
@@ -57,7 +57,7 @@ static int xfi3_mmc_cd(int id)
 	}
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
@@ -383,7 +383,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	usb_eth_initialize(bis);
 	return 0;
diff --git a/board/sbc8349/sbc8349.c b/board/sbc8349/sbc8349.c
index 1e3529f334..824479c099 100644
--- a/board/sbc8349/sbc8349.c
+++ b/board/sbc8349/sbc8349.c
@@ -230,7 +230,7 @@ void sdram_init(void)
 #endif
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
diff --git a/board/sbc8548/sbc8548.c b/board/sbc8548/sbc8548.c
index 24782c7e6d..bd4b528d03 100644
--- a/board/sbc8548/sbc8548.c
+++ b/board/sbc8548/sbc8548.c
@@ -289,7 +289,7 @@ pci_init_board(void)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	tsec_standard_init(bis);
 	pci_eth_init(bis);
@@ -302,7 +302,7 @@ int last_stage_init(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c
index 3375cd621c..34e46d4ea4 100644
--- a/board/sbc8641d/sbc8641d.c
+++ b/board/sbc8641d/sbc8641d.c
@@ -179,7 +179,7 @@ void pci_init_board(void)
 
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/schulercontrol/sc_sps_1/sc_sps_1.c b/board/schulercontrol/sc_sps_1/sc_sps_1.c
index d2c5f807ad..8011871fc8 100644
--- a/board/schulercontrol/sc_sps_1/sc_sps_1.c
+++ b/board/schulercontrol/sc_sps_1/sc_sps_1.c
@@ -61,14 +61,14 @@ int dram_init(void)
 }
 
 #ifdef	CONFIG_CMD_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return mxsmmc_initialize(bis, 0, NULL, NULL);
 }
 #endif
 
 #ifdef	CONFIG_CMD_NET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct mxs_clkctrl_regs *clkctrl_regs =
 		(struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE;
diff --git a/board/seco/mx6quq7/mx6quq7.c b/board/seco/mx6quq7/mx6quq7.c
index 4fa0daba46..c7e3d425ea 100644
--- a/board/seco/mx6quq7/mx6quq7.c
+++ b/board/seco/mx6quq7/mx6quq7.c
@@ -59,7 +59,7 @@ int board_phy_config(struct phy_device *phydev)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint32_t base = IMX_FEC_BASE;
 	struct mii_dev *bus = NULL;
@@ -116,7 +116,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	u32 index = 0;
 	int ret;
diff --git a/board/siemens/capricorn/board.c b/board/siemens/capricorn/board.c
index c46e4ff736..56973a1090 100644
--- a/board/siemens/capricorn/board.c
+++ b/board/siemens/capricorn/board.c
@@ -293,7 +293,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return 0;
 }
diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c
index 28a974d978..eed055aedb 100644
--- a/board/siemens/corvus/board.c
+++ b/board/siemens/corvus/board.c
@@ -272,7 +272,7 @@ int dram_init(void)
 }
 
 #ifndef CONFIG_DM_ETH
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rc = 0;
 #ifdef CONFIG_MACB
diff --git a/board/siemens/draco/board.c b/board/siemens/draco/board.c
index 5ac73c0ef4..b512bdbfab 100644
--- a/board/siemens/draco/board.c
+++ b/board/siemens/draco/board.c
@@ -326,7 +326,7 @@ static struct cpsw_platform_data cpsw_data = {
 
 #if defined(CONFIG_DRIVER_TI_CPSW) || \
 	(defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET))
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
 	int n = 0;
diff --git a/board/siemens/pxm2/board.c b/board/siemens/pxm2/board.c
index d86a913e5f..b5e9b4242c 100644
--- a/board/siemens/pxm2/board.c
+++ b/board/siemens/pxm2/board.c
@@ -216,7 +216,7 @@ static struct cpsw_platform_data cpsw_data = {
 
 #if defined(CONFIG_DRIVER_TI_CPSW) || \
 	(defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET))
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int n = 0;
 #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) || \
diff --git a/board/siemens/rut/board.c b/board/siemens/rut/board.c
index 3b109e9818..e0f232d3b8 100644
--- a/board/siemens/rut/board.c
+++ b/board/siemens/rut/board.c
@@ -177,7 +177,7 @@ static struct cpsw_platform_data cpsw_data = {
 
 #if defined(CONFIG_DRIVER_TI_CPSW) || \
 	(defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET))
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
 	int n = 0;
diff --git a/board/siemens/smartweb/smartweb.c b/board/siemens/smartweb/smartweb.c
index 40c9c7e21d..c6bdd97083 100644
--- a/board/siemens/smartweb/smartweb.c
+++ b/board/siemens/smartweb/smartweb.c
@@ -183,7 +183,7 @@ int dram_init(void)
 
 #ifndef CONFIG_DM_ETH
 #ifdef CONFIG_MACB
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return macb_eth_initialize(0, (void *)ATMEL_BASE_EMAC0, 0x00);
 }
diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c
index 927ef59650..91e29f06f6 100644
--- a/board/siemens/taurus/taurus.c
+++ b/board/siemens/taurus/taurus.c
@@ -263,7 +263,7 @@ static void taurus_macb_hw_init(void)
 #endif
 
 #ifdef CONFIG_GENERIC_ATMEL_MCI
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	at91_mci_hw_init();
 
diff --git a/board/silica/pengwyn/board.c b/board/silica/pengwyn/board.c
index e3c9d9e755..949f5d283c 100644
--- a/board/silica/pengwyn/board.c
+++ b/board/silica/pengwyn/board.c
@@ -168,7 +168,7 @@ static struct cpsw_platform_data cpsw_data = {
 	.version		= CPSW_CTRL_VERSION_2,
 };
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, n = 0;
 	uint8_t mac_addr[6];
diff --git a/board/sks-kinkel/sksimx6/sksimx6.c b/board/sks-kinkel/sksimx6/sksimx6.c
index 772c17979b..9fdbeac82f 100644
--- a/board/sks-kinkel/sksimx6/sksimx6.c
+++ b/board/sks-kinkel/sksimx6/sksimx6.c
@@ -139,7 +139,7 @@ void setup_iomux_enet(void)
 
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint32_t base = IMX_FEC_BASE;
 	struct mii_dev *bus = NULL;
@@ -214,7 +214,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
index 58c5f7527b..25bc664328 100644
--- a/board/socrates/socrates.c
+++ b/board/socrates/socrates.c
@@ -193,7 +193,7 @@ int board_early_init_r (void)
 #endif /* CONFIG_BOARD_EARLY_INIT_R */
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u32 val[12];
 	int rc, i = 0;
diff --git a/board/softing/vining_2000/vining_2000.c b/board/softing/vining_2000/vining_2000.c
index e5e33dcf15..4e9d351582 100644
--- a/board/softing/vining_2000/vining_2000.c
+++ b/board/softing/vining_2000/vining_2000.c
@@ -464,7 +464,7 @@ static void vining2000_spl_setup_iomux_uart(void)
 
 static struct fsl_esdhc_cfg usdhc_cfg = { USDHC4_BASE_ADDR };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(usdhc4_pads, ARRAY_SIZE(usdhc4_pads));
 
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index 4184754a9a..d5535ebebe 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -232,7 +232,7 @@ int checkboard(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis); /* Built in controller(s) come first */
 	return pci_eth_init(bis);
diff --git a/board/spear/spear300/spear300.c b/board/spear/spear300/spear300.c
index c531eb3fc6..a594538393 100644
--- a/board/spear/spear300/spear300.c
+++ b/board/spear/spear300/spear300.c
@@ -48,7 +48,7 @@ void board_nand_init()
 	return;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/spear/spear310/spear310.c b/board/spear/spear310/spear310.c
index 6e88547e1c..b4c3c0c5c7 100644
--- a/board/spear/spear310/spear310.c
+++ b/board/spear/spear310/spear310.c
@@ -49,7 +49,7 @@ void board_nand_init()
 	return;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/spear/spear320/spear320.c b/board/spear/spear320/spear320.c
index d8b1e7de4e..291337b804 100644
--- a/board/spear/spear320/spear320.c
+++ b/board/spear/spear320/spear320.c
@@ -60,7 +60,7 @@ void board_nand_init()
 	return;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/spear/spear600/spear600.c b/board/spear/spear600/spear600.c
index 241f123ae1..4706c52c12 100644
--- a/board/spear/spear600/spear600.c
+++ b/board/spear/spear600/spear600.c
@@ -43,7 +43,7 @@ void board_nand_init()
 	return;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/spear/x600/x600.c b/board/spear/x600/x600.c
index e6f8dc9083..9c30581ec0 100644
--- a/board/spear/x600/x600.c
+++ b/board/spear/x600/x600.c
@@ -138,7 +138,7 @@ int board_phy_config(struct phy_device *phydev)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
index 4553329b25..a5d250ffae 100644
--- a/board/st/stm32mp1/stm32mp1.c
+++ b/board/st/stm32mp1/stm32mp1.c
@@ -876,7 +876,7 @@ const char *env_ext4_get_dev_part(void)
 #endif
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_FDT_FIXUP_PARTITIONS
 	struct node_info nodes[] = {
diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c
index d5a9f1386e..8c827adc2e 100644
--- a/board/st/stv0991/stv0991.c
+++ b/board/st/stv0991/stv0991.c
@@ -104,7 +104,7 @@ int dram_init_banksize(void)
 }
 
 #ifdef CONFIG_CMD_NET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index f32e8f582f..71e2b758a3 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -573,7 +573,7 @@ static void mmc_pinmux_setup(int sdc)
 	}
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	__maybe_unused struct mmc *mmc0, *mmc1;
 
@@ -870,7 +870,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int __maybe_unused r;
 
diff --git a/board/tcl/sl50/board.c b/board/tcl/sl50/board.c
index afa6290a2a..230481be0d 100644
--- a/board/tcl/sl50/board.c
+++ b/board/tcl/sl50/board.c
@@ -306,7 +306,7 @@ static struct cpsw_platform_data cpsw_data = {
 	((defined(CONFIG_DRIVER_TI_CPSW) || \
 	  defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)) && \
 	 !defined(CONFIG_SPL_BUILD))
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, n = 0;
 	uint8_t mac_addr[6];
diff --git a/board/technexion/pico-imx6/pico-imx6.c b/board/technexion/pico-imx6/pico-imx6.c
index b5a02eb832..da82244b39 100644
--- a/board/technexion/pico-imx6/pico-imx6.c
+++ b/board/technexion/pico-imx6/pico-imx6.c
@@ -303,7 +303,7 @@ int board_early_init_f(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_enet();
 
diff --git a/board/technexion/pico-imx6/spl.c b/board/technexion/pico-imx6/spl.c
index f9ae09607f..3b36bb8df1 100644
--- a/board/technexion/pico-imx6/spl.c
+++ b/board/technexion/pico-imx6/spl.c
@@ -297,7 +297,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	SETUP_IOMUX_PADS(usdhc3_pads);
 	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
diff --git a/board/technexion/pico-imx6ul/pico-imx6ul.c b/board/technexion/pico-imx6ul/pico-imx6ul.c
index 1d24096df5..5d6be26faa 100644
--- a/board/technexion/pico-imx6ul/pico-imx6ul.c
+++ b/board/technexion/pico-imx6ul/pico-imx6ul.c
@@ -69,7 +69,7 @@ static void setup_iomux_fec(void)
 	imx_iomux_v3_setup_multiple_pads(fec_pads, ARRAY_SIZE(fec_pads));
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	setup_iomux_fec();
 
diff --git a/board/technexion/pico-imx6ul/spl.c b/board/technexion/pico-imx6ul/spl.c
index 41b053ab1c..3807779544 100644
--- a/board/technexion/pico-imx6ul/spl.c
+++ b/board/technexion/pico-imx6ul/spl.c
@@ -177,7 +177,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(usdhc1_pads, ARRAY_SIZE(usdhc1_pads));
 	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
diff --git a/board/technexion/pico-imx7d/spl.c b/board/technexion/pico-imx7d/spl.c
index a651a00c1a..bed0f21f44 100644
--- a/board/technexion/pico-imx7d/spl.c
+++ b/board/technexion/pico-imx7d/spl.c
@@ -158,7 +158,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(usdhc3_pads, ARRAY_SIZE(usdhc3_pads));
 	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
diff --git a/board/technexion/pico-imx8mq/spl.c b/board/technexion/pico-imx8mq/spl.c
index 1677e033c7..b181f797a7 100644
--- a/board/technexion/pico-imx8mq/spl.c
+++ b/board/technexion/pico-imx8mq/spl.c
@@ -146,7 +146,7 @@ static struct fsl_esdhc_cfg usdhc_cfg[2] = {
 	{USDHC2_BASE_ADDR, 0, 4},
 };
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	/*
diff --git a/board/technexion/tao3530/tao3530.c b/board/technexion/tao3530/tao3530.c
index 8ce3637731..84db131de2 100644
--- a/board/technexion/tao3530/tao3530.c
+++ b/board/technexion/tao3530/tao3530.c
@@ -182,7 +182,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	omap_mmc_init(0, 0, 0, -1, -1);
 
diff --git a/board/technologic/ts4600/ts4600.c b/board/technologic/ts4600/ts4600.c
index 54508cd864..0ef306d58a 100644
--- a/board/technologic/ts4600/ts4600.c
+++ b/board/technologic/ts4600/ts4600.c
@@ -61,7 +61,7 @@ static int ts4600_mmc_cd(int id)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
diff --git a/board/technologic/ts4800/ts4800.c b/board/technologic/ts4800/ts4800.c
index 28918de547..fe36fb7ffa 100644
--- a/board/technologic/ts4800/ts4800.c
+++ b/board/technologic/ts4800/ts4800.c
@@ -121,7 +121,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static const iomux_v3_cfg_t sd1_pads[] = {
 		NEW_PAD_CTRL(MX51_PAD_SD1_CMD__SD1_CMD, PAD_CTL_DSE_MAX |
@@ -191,7 +191,7 @@ static int fec_get_mac_from_register(uint32_t base_addr)
 }
 
 #define TS4800_GPIO_FEC_PHY_RES         IMX_GPIO_NR(2, 14)
-int board_eth_init(bd_t *bd)
+int board_eth_init(struct bd_info *bd)
 {
 	int dev_id = -1;
 	int phy_id = 0xFF;
diff --git a/board/theadorable/theadorable.c b/board/theadorable/theadorable.c
index 53ef9916a2..67bc00b65b 100644
--- a/board/theadorable/theadorable.c
+++ b/board/theadorable/theadorable.c
@@ -220,7 +220,7 @@ int checkboard(void)
 }
 
 #ifdef CONFIG_NET
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	cpu_eth_init(bis); /* Built in controller(s) come first */
 	return pci_eth_init(bis);
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
index 4199bee2e6..ff9fc72111 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -633,7 +633,7 @@ static struct clk_synth cdce913_data = {
 #define MAX_CPSW_SLAVES	2
 
 /* At the moment, we do not want to stop booting for any failures here */
-int ft_board_setup(void *fdt, bd_t *bd)
+int ft_board_setup(void *fdt, struct bd_info *bd)
 {
 	const char *slave_path, *enet_name;
 	int enetnode, slavenode, phynode;
diff --git a/board/ti/am3517crane/am3517crane.c b/board/ti/am3517crane/am3517crane.c
index 888aa5b9ca..f32d1757db 100644
--- a/board/ti/am3517crane/am3517crane.c
+++ b/board/ti/am3517crane/am3517crane.c
@@ -64,7 +64,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c
index 923b224e4c..de49590031 100644
--- a/board/ti/am43xx/board.c
+++ b/board/ti/am43xx/board.c
@@ -856,7 +856,7 @@ int board_usb_cleanup(int index, enum usb_init_type init)
 #endif /* !CONFIG_IS_ENABLED(DM_USB_GADGET) */
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
index 8720eb87a5..8e4d51140d 100644
--- a/board/ti/am57xx/board.c
+++ b/board/ti/am57xx/board.c
@@ -895,7 +895,7 @@ err:
 #endif
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	omap_mmc_init(0, 0, 0, -1, -1);
 	omap_mmc_init(1, 0, 0, -1, -1);
@@ -1024,7 +1024,7 @@ static void u64_to_mac(u64 addr, u8 mac[6])
 	mac[0] = addr >> 40;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret;
 	uint8_t mac_addr[6];
@@ -1130,7 +1130,7 @@ int board_early_init_f(void)
 #endif
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/ti/am65x/evm.c b/board/ti/am65x/evm.c
index a22900dcf9..fda15c9bb5 100644
--- a/board/ti/am65x/evm.c
+++ b/board/ti/am65x/evm.c
@@ -97,7 +97,7 @@ int board_fit_config_name_match(const char *name)
 #endif
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int ret;
 
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 9139ad87d4..4e812caca8 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -536,7 +536,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
@@ -577,7 +577,7 @@ int ehci_hcd_stop(int index)
 #endif /* CONFIG_USB_EHCI_HCD */
 
 #if defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return usb_eth_initialize(bis);
 }
diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
index acf7ff1691..5ae179f69b 100644
--- a/board/ti/dra7xx/evm.c
+++ b/board/ti/dra7xx/evm.c
@@ -920,7 +920,7 @@ err:
 #endif
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	omap_mmc_init(0, 0, 0, -1, -1);
 	omap_mmc_init(1, 0, 0, -1, -1);
@@ -1017,7 +1017,7 @@ int board_early_init_f(void)
 #endif
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index aba74fce77..193b3eb576 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -284,7 +284,7 @@ static void reset_net_chip(void)
 	gpio_set_value(rst_gpio, 1);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #if defined(CONFIG_SMC911X)
 	env_set("ethaddr", NULL);
@@ -296,7 +296,7 @@ int board_eth_init(bd_t *bis)
 #endif /* CONFIG_CMD_NET */
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
@@ -308,7 +308,7 @@ void board_mmc_power_init(void)
 #endif /* CONFIG_MMC */
 
 #if defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET) && !defined(CONFIG_CMD_NET)
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return usb_eth_initialize(bis);
 }
diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c
index ff939c8ca6..a1e8fe59c4 100644
--- a/board/ti/j721e/evm.c
+++ b/board/ti/j721e/evm.c
@@ -88,7 +88,7 @@ int board_fit_config_name_match(const char *name)
 #endif
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int ret;
 
diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c
index 8595b20e87..c7be540028 100644
--- a/board/ti/ks2_evm/board.c
+++ b/board/ti/ks2_evm/board.c
@@ -93,7 +93,7 @@ u32 spl_boot_device(void)
 #endif
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int lpae;
 	char *env;
@@ -145,7 +145,7 @@ int ft_board_setup(void *blob, bd_t *bd)
 	return 0;
 }
 
-void ft_board_setup_ex(void *blob, bd_t *bd)
+void ft_board_setup_ex(void *blob, struct bd_info *bd)
 {
 	int lpae;
 	u64 size;
diff --git a/board/ti/ks2_evm/board_k2g.c b/board/ti/ks2_evm/board_k2g.c
index ece75326a5..a71024bcbc 100644
--- a/board/ti/ks2_evm/board_k2g.c
+++ b/board/ti/ks2_evm/board_k2g.c
@@ -223,7 +223,7 @@ s16 divn_val[16] = {
 };
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	if (psc_enable_module(KS2_LPSC_MMC)) {
 		printf("%s module enabled failed\n", __func__);
diff --git a/board/ti/omap5_uevm/evm.c b/board/ti/omap5_uevm/evm.c
index e35f319b46..cc2279e870 100644
--- a/board/ti/omap5_uevm/evm.c
+++ b/board/ti/omap5_uevm/evm.c
@@ -149,7 +149,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return 0;
 }
@@ -215,7 +215,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	omap_mmc_init(0, 0, 0, -1, -1);
 	omap_mmc_init(1, 0, 0, -1, -1);
diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c
index 9ebecfdbf5..66b8d9745f 100644
--- a/board/ti/panda/panda.c
+++ b/board/ti/panda/panda.c
@@ -55,7 +55,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return 0;
 }
@@ -292,7 +292,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
diff --git a/board/ti/sdp4430/sdp.c b/board/ti/sdp4430/sdp.c
index a5b3504045..992e2e71ef 100644
--- a/board/ti/sdp4430/sdp.c
+++ b/board/ti/sdp4430/sdp.c
@@ -34,7 +34,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return 0;
 }
@@ -75,7 +75,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	omap_mmc_init(0, 0, 0, -1, -1);
 	omap_mmc_init(1, 0, 0, -1, -1);
diff --git a/board/ti/ti814x/evm.c b/board/ti/ti814x/evm.c
index 8ed80d2f46..4947279027 100644
--- a/board/ti/ti814x/evm.c
+++ b/board/ti/ti814x/evm.c
@@ -114,7 +114,7 @@ int board_init(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	omap_mmc_init(1, 0, 0, -1, -1);
 
@@ -163,7 +163,7 @@ static struct cpsw_platform_data cpsw_data = {
 };
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint8_t mac_addr[6];
 	uint32_t mac_hi, mac_lo;
diff --git a/board/ti/ti816x/evm.c b/board/ti/ti816x/evm.c
index 590c15676a..becece1c20 100644
--- a/board/ti/ti816x/evm.c
+++ b/board/ti/ti816x/evm.c
@@ -33,7 +33,7 @@ int board_init(void)
 	return 0;
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint8_t mac_addr[6];
 	uint32_t mac_hi, mac_lo;
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index cbb219931d..2420c28974 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -134,7 +134,7 @@ void set_muxconf_regs(void)
 }
 
 #if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	return omap_mmc_init(0, 0, 0, -1, -1);
 }
@@ -152,7 +152,7 @@ void board_mmc_power_init(void)
  * Routine: board_eth_init
  * Description: Setting up the Ethernet hardware.
  */
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return dm9000_initialize(bis);
 }
diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c
index 8c4af7da8d..9263b0f51f 100644
--- a/board/toradex/apalis-imx8/apalis-imx8.c
+++ b/board/toradex/apalis-imx8/apalis-imx8.c
@@ -99,7 +99,7 @@ void reset_cpu(ulong addr)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
diff --git a/board/toradex/apalis-tk1/apalis-tk1.c b/board/toradex/apalis-tk1/apalis-tk1.c
index d77b4c4ab9..e7a2186c2c 100644
--- a/board/toradex/apalis-tk1/apalis-tk1.c
+++ b/board/toradex/apalis-tk1/apalis-tk1.c
@@ -84,7 +84,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c
index 40c71adf51..3961c4df9e 100644
--- a/board/toradex/apalis_imx6/apalis_imx6.c
+++ b/board/toradex/apalis_imx6/apalis_imx6.c
@@ -361,7 +361,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	struct src *psrc = (struct src *)SRC_BASE_ADDR;
 	unsigned reg = readl(&psrc->sbmr1) >> 11;
@@ -768,7 +768,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
index 3e8b8b1fe3..f718dc855d 100644
--- a/board/toradex/apalis_t30/apalis_t30.c
+++ b/board/toradex/apalis_t30/apalis_t30.c
@@ -51,7 +51,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index c67d02f7c2..55e2b5f05d 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -214,7 +214,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #if defined(CONFIG_FDT_FIXUP_PARTITIONS)
 	static struct node_info nodes[] = {
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index e4d762f5df..f981c11a37 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -111,7 +111,7 @@ void reset_cpu(ulong addr)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
index 6522af416a..a416b5e54b 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -310,7 +310,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	struct src *psrc = (struct src *)SRC_BASE_ADDR;
 	unsigned reg = readl(&psrc->sbmr1) >> 11;
@@ -652,7 +652,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	u32 cma_size;
 
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index 8df925dacf..26c285d88c 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -292,7 +292,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #if defined(CONFIG_IMX_BOOTAUX) && defined(CONFIG_ARCH_FIXUP_FDT_MEMORY)
 	int up;
diff --git a/board/toradex/colibri_pxa270/colibri_pxa270.c b/board/toradex/colibri_pxa270/colibri_pxa270.c
index 18b3d3f542..168aac8819 100644
--- a/board/toradex/colibri_pxa270/colibri_pxa270.c
+++ b/board/toradex/colibri_pxa270/colibri_pxa270.c
@@ -50,7 +50,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
@@ -116,14 +116,14 @@ void usb_board_stop(void)
 #endif
 
 #ifdef CONFIG_DRIVER_DM9000
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return dm9000_initialize(bis);
 }
 #endif
 
 #ifdef	CONFIG_CMD_MMC
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	pxa_mmc_register(0);
 	return 0;
diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
index cb0aed872f..f44ca90ce9 100644
--- a/board/toradex/colibri_t20/colibri_t20.c
+++ b/board/toradex/colibri_t20/colibri_t20.c
@@ -78,7 +78,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
diff --git a/board/toradex/colibri_t30/colibri_t30.c b/board/toradex/colibri_t30/colibri_t30.c
index 0bbe81e44d..c5562f6d57 100644
--- a/board/toradex/colibri_t30/colibri_t30.c
+++ b/board/toradex/colibri_t30/colibri_t30.c
@@ -34,7 +34,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return ft_common_board_setup(blob, bd);
 }
diff --git a/board/toradex/colibri_vf/colibri_vf.c b/board/toradex/colibri_vf/colibri_vf.c
index 92c5dbfc5a..7194ede01c 100644
--- a/board/toradex/colibri_vf/colibri_vf.c
+++ b/board/toradex/colibri_vf/colibri_vf.c
@@ -430,7 +430,7 @@ int checkboard(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifndef CONFIG_DM_VIDEO
 	int ret = 0;
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
index e8de923f3e..3a3cfc8821 100644
--- a/board/toradex/common/tdx-common.c
+++ b/board/toradex/common/tdx-common.c
@@ -125,7 +125,7 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
 #endif
 
 #if defined(CONFIG_OF_LIBFDT)
-int ft_common_board_setup(void *blob, bd_t *bd)
+int ft_common_board_setup(void *blob, struct bd_info *bd)
 {
 	if (tdx_serial) {
 		fdt_setprop(blob, 0, "serial-number", tdx_serial_str,
@@ -162,7 +162,7 @@ u32 get_board_serial(void)
 }
 #endif /* CONFIG_SERIAL_TAG */
 
-int ft_common_board_setup(void *blob, bd_t *bd)
+int ft_common_board_setup(void *blob, struct bd_info *bd)
 {
 	return 0;
 }
diff --git a/board/toradex/common/tdx-common.h b/board/toradex/common/tdx-common.h
index c537dca71e..81375de598 100644
--- a/board/toradex/common/tdx-common.h
+++ b/board/toradex/common/tdx-common.h
@@ -9,6 +9,6 @@
 #define TORADEX_USB_PRODUCT_NUM_OFFSET	0x4000
 #define TDX_USB_VID			0x1B67
 
-int ft_common_board_setup(void *blob, bd_t *bd);
+int ft_common_board_setup(void *blob, struct bd_info *bd);
 
 #endif /* _TDX_COMMON_H */
diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index ff05c7d552..a735d31050 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -121,7 +121,7 @@ int board_late_init(void)
 }
 
 #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	return 0;
 }
diff --git a/board/tqc/tqm834x/tqm834x.c b/board/tqc/tqm834x/tqm834x.c
index 165a5433e7..c16784324c 100644
--- a/board/tqc/tqm834x/tqm834x.c
+++ b/board/tqc/tqm834x/tqm834x.c
@@ -419,7 +419,7 @@ static void set_ddr_config(void) {
 }
 
 #ifdef CONFIG_OF_BOARD_SETUP
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 
diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c
index d7df4f976a..2df901a584 100644
--- a/board/tqc/tqma6/tqma6.c
+++ b/board/tqc/tqma6/tqma6.c
@@ -117,7 +117,7 @@ int board_mmc_getwp(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(tqma6_usdhc3_pads,
 					 ARRAY_SIZE(tqma6_usdhc3_pads));
@@ -286,7 +286,7 @@ int checkboard(void)
  */
 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
 #define MODELSTRLEN 32u
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	char modelstr[MODELSTRLEN];
 
diff --git a/board/tqc/tqma6/tqma6_bb.h b/board/tqc/tqma6/tqma6_bb.h
index 16b8fb9863..b0f1f99a83 100644
--- a/board/tqc/tqma6/tqma6_bb.h
+++ b/board/tqc/tqma6/tqma6_bb.h
@@ -11,7 +11,7 @@
 
 int tqma6_bb_board_mmc_getwp(struct mmc *mmc);
 int tqma6_bb_board_mmc_getcd(struct mmc *mmc);
-int tqma6_bb_board_mmc_init(bd_t *bis);
+int tqma6_bb_board_mmc_init(struct bd_info *bis);
 
 int tqma6_bb_board_early_init_f(void);
 int tqma6_bb_board_init(void);
@@ -23,7 +23,7 @@ const char *tqma6_bb_get_boardname(void);
  * Device Tree Support
  */
 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
-void tqma6_bb_ft_board_setup(void *blob, bd_t *bd);
+void tqma6_bb_ft_board_setup(void *blob, struct bd_info *bd);
 #endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */
 
 #endif
diff --git a/board/tqc/tqma6/tqma6_mba6.c b/board/tqc/tqma6/tqma6_mba6.c
index 84d0e386a3..801619e80b 100644
--- a/board/tqc/tqma6/tqma6_mba6.c
+++ b/board/tqc/tqma6/tqma6_mba6.c
@@ -186,7 +186,7 @@ const char *tqma6_bb_get_boardname(void)
  * Device Tree Support
  */
 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
-void tqma6_bb_ft_board_setup(void *blob, bd_t *bd)
+void tqma6_bb_ft_board_setup(void *blob, struct bd_info *bd)
 {
  /* TBD */
 }
diff --git a/board/tqc/tqma6/tqma6_wru4.c b/board/tqc/tqma6/tqma6_wru4.c
index 0488cbaaa8..3b1bc603ce 100644
--- a/board/tqc/tqma6/tqma6_wru4.c
+++ b/board/tqc/tqma6/tqma6_wru4.c
@@ -116,7 +116,7 @@ int tqma6_bb_board_mmc_getwp(struct mmc *mmc)
 	return ret;
 }
 
-int tqma6_bb_board_mmc_init(bd_t *bis)
+int tqma6_bb_board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 
@@ -182,7 +182,7 @@ static void setup_iomuxc_enet(void)
 	gpio_set_value(ENET_PHY_RESET_GPIO, 1);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	return cpu_eth_init(bis);
 }
@@ -340,7 +340,7 @@ int board_ehci_power(int port, int on)
  * Device Tree Support
  */
 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
-void tqma6_bb_ft_board_setup(void *blob, bd_t *bd)
+void tqma6_bb_ft_board_setup(void *blob, struct bd_info *bd)
 {
 	/* TBD */
 }
diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c
index 5e49180c76..c6edc72440 100644
--- a/board/udoo/neo/neo.c
+++ b/board/udoo/neo/neo.c
@@ -292,7 +292,7 @@ static int setup_fec(int fec_id)
 	return enable_fec_anatop_clock(fec_id, ENET_25MHZ);
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint32_t base = IMX_FEC_BASE;
 	struct mii_dev *bus = NULL;
@@ -404,7 +404,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return !gpio_get_value(USDHC2_CD_GPIO);
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	imx_iomux_v3_setup_multiple_pads(usdhc2_pads, ARRAY_SIZE(usdhc2_pads));
 	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
diff --git a/board/udoo/udoo.c b/board/udoo/udoo.c
index 4c85d99c13..62b32ae759 100644
--- a/board/udoo/udoo.c
+++ b/board/udoo/udoo.c
@@ -182,7 +182,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1; /* Always present */
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	uint32_t base = IMX_FEC_BASE;
 	struct mii_dev *bus = NULL;
@@ -216,7 +216,7 @@ free_bus:
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	SETUP_IOMUX_PADS(usdhc3_pads);
 	usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
diff --git a/board/variscite/dart_6ul/dart_6ul.c b/board/variscite/dart_6ul/dart_6ul.c
index a4f449d2e2..d8e383d323 100644
--- a/board/variscite/dart_6ul/dart_6ul.c
+++ b/board/variscite/dart_6ul/dart_6ul.c
@@ -141,7 +141,7 @@ static void setup_iomux_fec(int fec_id)
 						 ARRAY_SIZE(fec2_pads));
 }
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/variscite/dart_6ul/spl.c b/board/variscite/dart_6ul/spl.c
index 1b06a66060..071f049caf 100644
--- a/board/variscite/dart_6ul/spl.c
+++ b/board/variscite/dart_6ul/spl.c
@@ -155,7 +155,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int i, ret;
 
diff --git a/board/varisys/cyrus/cyrus.c b/board/varisys/cyrus/cyrus.c
index a42910f600..c5d34df777 100644
--- a/board/varisys/cyrus/cyrus.c
+++ b/board/varisys/cyrus/cyrus.c
@@ -81,7 +81,7 @@ int misc_init_r(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	phys_addr_t base;
 	phys_size_t size;
diff --git a/board/varisys/cyrus/cyrus.h b/board/varisys/cyrus/cyrus.h
index df037a59a0..d8f8d6c8ec 100644
--- a/board/varisys/cyrus/cyrus.h
+++ b/board/varisys/cyrus/cyrus.h
@@ -4,6 +4,6 @@
 #define __CYRUS_H
 
 void fdt_fixup_board_enet(void *blob);
-void pci_of_setup(void *blob, bd_t *bd);
+void pci_of_setup(void *blob, struct bd_info *bd);
 
 #endif
diff --git a/board/varisys/cyrus/eth.c b/board/varisys/cyrus/eth.c
index 45b21fba32..bc681079e2 100644
--- a/board/varisys/cyrus/eth.c
+++ b/board/varisys/cyrus/eth.c
@@ -53,7 +53,7 @@ static void cyrus_phy_tuning(int phy)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 #ifdef CONFIG_FMAN_ENET
 	struct fsl_pq_mdio_info dtsec_mdio_info;
diff --git a/board/varisys/cyrus/pci.c b/board/varisys/cyrus/pci.c
index 66c4b30eb1..429c398cb4 100644
--- a/board/varisys/cyrus/pci.c
+++ b/board/varisys/cyrus/pci.c
@@ -17,7 +17,7 @@ void pci_init_board(void)
 	fsl_pcie_init_board(0);
 }
 
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/ve8313/ve8313.c b/board/ve8313/ve8313.c
index ceb3d75552..6cdb110471 100644
--- a/board/ve8313/ve8313.c
+++ b/board/ve8313/ve8313.c
@@ -196,7 +196,7 @@ void pci_init_board(void)
 #endif
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
diff --git a/board/vscom/baltos/board.c b/board/vscom/baltos/board.c
index 197405e555..afe12466df 100644
--- a/board/vscom/baltos/board.c
+++ b/board/vscom/baltos/board.c
@@ -272,7 +272,7 @@ int board_init(void)
 	return 0;
 }
 
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	int node, ret;
 	unsigned char mac_addr[6];
@@ -425,7 +425,7 @@ static struct cpsw_platform_data cpsw_data = {
 	((defined(CONFIG_DRIVER_TI_CPSW) || \
 	  defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)) && \
 	 !defined(CONFIG_SPL_BUILD))
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int rv, n = 0;
 	uint8_t mac_addr[6];
diff --git a/board/wandboard/spl.c b/board/wandboard/spl.c
index 04c351fff9..0983d10058 100644
--- a/board/wandboard/spl.c
+++ b/board/wandboard/spl.c
@@ -476,7 +476,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return ret;
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	int ret;
 	u32 index = 0;
diff --git a/board/warp/warp.c b/board/warp/warp.c
index f7bff5334d..85da9c1bd4 100644
--- a/board/warp/warp.c
+++ b/board/warp/warp.c
@@ -70,7 +70,7 @@ int board_mmc_getcd(struct mmc *mmc)
 	return 1;	/* Assume boot SD always present */
 }
 
-int board_mmc_init(bd_t *bis)
+int board_mmc_init(struct bd_info *bis)
 {
 	static iomux_v3_cfg_t const usdhc2_pads[] = {
 		MX6_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL),
diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c
index 50630574fd..aaa7006d3b 100644
--- a/board/warp7/warp7.c
+++ b/board/warp7/warp7.c
@@ -85,7 +85,7 @@ int power_init_board(void)
 }
 #endif
 
-int board_eth_init(bd_t *bis)
+int board_eth_init(struct bd_info *bis)
 {
 	int ret = 0;
 
diff --git a/board/xes/common/fsl_8xxx_pci.c b/board/xes/common/fsl_8xxx_pci.c
index 9981d04c62..157aa32826 100644
--- a/board/xes/common/fsl_8xxx_pci.c
+++ b/board/xes/common/fsl_8xxx_pci.c
@@ -65,7 +65,7 @@ void pci_init_board(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-void ft_board_pci_setup(void *blob, bd_t *bd)
+void ft_board_pci_setup(void *blob, struct bd_info *bd)
 {
 	FT_FSL_PCI_SETUP;
 }
diff --git a/board/xes/xpedite517x/xpedite517x.c b/board/xes/xpedite517x/xpedite517x.c
index 4164493277..2c9499ab20 100644
--- a/board/xes/xpedite517x/xpedite517x.c
+++ b/board/xes/xpedite517x/xpedite517x.c
@@ -16,7 +16,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_PCI)
-extern void ft_board_pci_setup(void *blob, bd_t *bd);
+extern void ft_board_pci_setup(void *blob, struct bd_info *bd);
 #endif
 
 /*
@@ -73,7 +73,7 @@ int dram_init(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_PCI
 	ft_board_pci_setup(blob, bd);
diff --git a/board/xes/xpedite520x/xpedite520x.c b/board/xes/xpedite520x/xpedite520x.c
index 5a4a36cad1..63e1e0efe5 100644
--- a/board/xes/xpedite520x/xpedite520x.c
+++ b/board/xes/xpedite520x/xpedite520x.c
@@ -18,7 +18,7 @@
 #include <fdt_support.h>
 #include <pca953x.h>
 
-extern void ft_board_pci_setup(void *blob, bd_t *bd);
+extern void ft_board_pci_setup(void *blob, struct bd_info *bd);
 
 static void flash_cs_fixup(void)
 {
@@ -70,7 +70,7 @@ int board_early_init_r(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_PCI
 	ft_board_pci_setup(blob, bd);
diff --git a/board/xes/xpedite537x/xpedite537x.c b/board/xes/xpedite537x/xpedite537x.c
index 4842096c24..437b57d4ff 100644
--- a/board/xes/xpedite537x/xpedite537x.c
+++ b/board/xes/xpedite537x/xpedite537x.c
@@ -16,7 +16,7 @@
 #include <fdt_support.h>
 #include <pca953x.h>
 
-extern void ft_board_pci_setup(void *blob, bd_t *bd);
+extern void ft_board_pci_setup(void *blob, struct bd_info *bd);
 
 static void flash_cs_fixup(void)
 {
@@ -70,7 +70,7 @@ int board_early_init_r(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_PCI
 	ft_board_pci_setup(blob, bd);
diff --git a/board/xes/xpedite550x/xpedite550x.c b/board/xes/xpedite550x/xpedite550x.c
index 6ee70d6d29..9089a0cc72 100644
--- a/board/xes/xpedite550x/xpedite550x.c
+++ b/board/xes/xpedite550x/xpedite550x.c
@@ -16,7 +16,7 @@
 #include <fdt_support.h>
 #include <pca953x.h>
 
-extern void ft_board_pci_setup(void *blob, bd_t *bd);
+extern void ft_board_pci_setup(void *blob, struct bd_info *bd);
 
 static void flash_cs_fixup(void)
 {
@@ -70,7 +70,7 @@ int board_early_init_r(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, struct bd_info *bd)
 {
 #ifdef CONFIG_PCI
 	ft_board_pci_setup(blob, bd);
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index dba552b03f..b6cfef628c 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -78,12 +78,12 @@ static void print_mhz(const char *name, unsigned long hz)
 }
 
 
-static inline void print_bi_boot_params(const bd_t *bd)
+static inline void print_bi_boot_params(const struct bd_info *bd)
 {
 	print_num("boot_params",	(ulong)bd->bi_boot_params);
 }
 
-static inline void print_bi_mem(const bd_t *bd)
+static inline void print_bi_mem(const struct bd_info *bd)
 {
 #if defined(CONFIG_SH)
 	print_num("mem start      ",	(ulong)bd->bi_memstart);
@@ -97,7 +97,7 @@ static inline void print_bi_mem(const bd_t *bd)
 #endif
 }
 
-static inline void print_bi_dram(const bd_t *bd)
+static inline void print_bi_dram(const struct bd_info *bd)
 {
 #ifdef CONFIG_NR_DRAM_BANKS
 	int i;
@@ -112,7 +112,7 @@ static inline void print_bi_dram(const bd_t *bd)
 #endif
 }
 
-static inline void print_bi_flash(const bd_t *bd)
+static inline void print_bi_flash(const struct bd_info *bd)
 {
 #if defined(CONFIG_MICROBLAZE) || defined(CONFIG_SH)
 	print_num("flash start    ",	(ulong)bd->bi_flashstart);
@@ -162,7 +162,7 @@ static inline void print_baudrate(void)
 #endif
 }
 
-static inline void __maybe_unused print_std_bdinfo(const bd_t *bd)
+static inline void __maybe_unused print_std_bdinfo(const struct bd_info *bd)
 {
 	print_bi_boot_params(bd);
 	print_bi_mem(bd);
@@ -179,7 +179,7 @@ void __weak board_detail(void)
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 #ifdef DEBUG
 	print_num("bd address",		(ulong)bd);
@@ -224,7 +224,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_dram(bd);
 	print_bi_flash(bd);
@@ -245,7 +245,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_dram(bd);
 	print_bi_flash(bd);
@@ -271,7 +271,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_mem(bd);
 	print_bi_flash(bd);
@@ -316,7 +316,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 static int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc,
 		     char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_num("arch_number",	bd->bi_arch_number);
 	print_bi_boot_params(bd);
@@ -376,7 +376,7 @@ static int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc,
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_mem(bd);
 	print_bi_flash(bd);
@@ -391,7 +391,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_boot_params(bd);
 
@@ -413,7 +413,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_boot_params(bd);
 	print_bi_dram(bd);
@@ -431,7 +431,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_num("arch_number",	bd->bi_arch_number);
 	print_bi_boot_params(bd);
@@ -447,7 +447,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_boot_params(bd);
 	print_bi_dram(bd);
@@ -464,7 +464,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	print_bi_mem(bd);
 	print_eth_ip_addr();
diff --git a/common/board_f.c b/common/board_f.c
index 01194eaa0e..b97f023302 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -502,11 +502,12 @@ static int reserve_malloc(void)
 static int reserve_board(void)
 {
 	if (!gd->bd) {
-		gd->start_addr_sp = reserve_stack_aligned(sizeof(bd_t));
-		gd->bd = (bd_t *)map_sysmem(gd->start_addr_sp, sizeof(bd_t));
-		memset(gd->bd, '\0', sizeof(bd_t));
+		gd->start_addr_sp = reserve_stack_aligned(sizeof(struct bd_info));
+		gd->bd = (struct bd_info *)map_sysmem(gd->start_addr_sp,
+						      sizeof(struct bd_info));
+		memset(gd->bd, '\0', sizeof(struct bd_info));
 		debug("Reserving %zu Bytes for Board Info at: %08lx\n",
-		      sizeof(bd_t), gd->start_addr_sp);
+		      sizeof(struct bd_info), gd->start_addr_sp);
 	}
 	return 0;
 }
@@ -601,7 +602,7 @@ static int display_new_sp(void)
 	defined(CONFIG_SH)
 static int setup_board_part1(void)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	/*
 	 * Save local variables to board info struct
@@ -631,7 +632,7 @@ static int setup_board_part1(void)
 #if defined(CONFIG_PPC) || defined(CONFIG_M68K)
 static int setup_board_part2(void)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	bd->bi_intfreq = gd->cpu_clk;	/* Internal Freq, in Hz */
 	bd->bi_busfreq = gd->bus_clk;	/* Bus Freq,      in Hz */
diff --git a/common/board_r.c b/common/board_r.c
index fa57fa9b69..729bd76570 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -381,7 +381,7 @@ __weak int is_flash_available(void)
 static int initr_flash(void)
 {
 	ulong flash_size = 0;
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	if (!is_flash_available())
 		return 0;
@@ -533,7 +533,7 @@ static int initr_api(void)
 #ifdef CONFIG_CMD_NET
 static int initr_ethaddr(void)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	/* kept around for legacy kernels only ... ignore the next section */
 	eth_env_get_enetaddr("ethaddr", bd->bi_enetaddr);
diff --git a/common/bootm_os.c b/common/bootm_os.c
index 55296483f7..0edf5feb9e 100644
--- a/common/bootm_os.c
+++ b/common/bootm_os.c
@@ -61,7 +61,7 @@ static void copy_args(char *dest, int argc, char *const argv[], char delim)
 static int do_bootm_netbsd(int flag, int argc, char *const argv[],
 			   bootm_headers_t *images)
 {
-	void (*loader)(bd_t *, image_header_t *, char *, char *);
+	void (*loader)(struct bd_info *, image_header_t *, char *, char *);
 	image_header_t *os_hdr, *hdr;
 	ulong kernel_data, kernel_len;
 	char *cmdline;
@@ -109,7 +109,7 @@ static int do_bootm_netbsd(int flag, int argc, char *const argv[],
 			cmdline = "";
 	}
 
-	loader = (void (*)(bd_t *, image_header_t *, char *, char *))images->ep;
+	loader = (void (*)(struct bd_info *, image_header_t *, char *, char *))images->ep;
 
 	printf("## Transferring control to NetBSD stage-2 loader (at address %08lx) ...\n",
 	       (ulong)loader);
@@ -155,7 +155,7 @@ static int do_bootm_lynxkdi(int flag, int argc, char *const argv[],
 static int do_bootm_rtems(int flag, int argc, char *const argv[],
 			  bootm_headers_t *images)
 {
-	void (*entry_point)(bd_t *);
+	void (*entry_point)(struct bd_info *);
 
 	if (flag != BOOTM_STATE_OS_GO)
 		return 0;
@@ -167,7 +167,7 @@ static int do_bootm_rtems(int flag, int argc, char *const argv[],
 	}
 #endif
 
-	entry_point = (void (*)(bd_t *))images->ep;
+	entry_point = (void (*)(struct bd_info *))images->ep;
 
 	printf("## Transferring control to RTEMS (at address %08lx) ...\n",
 	       (ulong)entry_point);
diff --git a/common/image.c b/common/image.c
index e1ca1a7905..e7f7f0ec4a 100644
--- a/common/image.c
+++ b/common/image.c
@@ -1613,10 +1613,12 @@ int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end)
  *      0 - success
  *     -1 - failure
  */
-int boot_get_kbd(struct lmb *lmb, bd_t **kbd)
+int boot_get_kbd(struct lmb *lmb, struct bd_info **kbd)
 {
-	*kbd = (bd_t *)(ulong)lmb_alloc_base(lmb, sizeof(bd_t), 0xf,
-				env_get_bootm_mapsize() + env_get_bootm_low());
+	*kbd = (struct bd_info *)(ulong)lmb_alloc_base(lmb,
+						       sizeof(struct bd_info),
+						       0xf,
+						       env_get_bootm_mapsize() + env_get_bootm_low());
 	if (*kbd == NULL)
 		return -1;
 
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 0e96a8cd10..4840d1d367 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -54,7 +54,7 @@ binman_sym_declare(ulong, spl, size);
 #endif
 
 /* Define board data structure */
-static bd_t bdata __attribute__ ((section(".data")));
+static struct bd_info bdata __attribute__ ((section(".data")));
 
 /*
  * Board-specific Platform code can reimplement show_boot_progress () if needed
diff --git a/drivers/ddr/altera/sdram_agilex.c b/drivers/ddr/altera/sdram_agilex.c
index a0f25d1179..d6e7a175d0 100644
--- a/drivers/ddr/altera/sdram_agilex.c
+++ b/drivers/ddr/altera/sdram_agilex.c
@@ -30,7 +30,7 @@ int sdram_mmr_init_full(struct udevice *dev)
 	u32 i;
 	int ret;
 	phys_size_t hw_size;
-	bd_t bd = {0};
+	struct bd_info bd = {0};
 
 	/* Ensure HMC clock is running */
 	if (poll_hmc_clock_status()) {
diff --git a/drivers/ddr/altera/sdram_s10.c b/drivers/ddr/altera/sdram_s10.c
index 91f76e03c2..2945f1e1df 100644
--- a/drivers/ddr/altera/sdram_s10.c
+++ b/drivers/ddr/altera/sdram_s10.c
@@ -76,7 +76,7 @@ int sdram_mmr_init_full(struct udevice *dev)
 	u32 i;
 	int ret;
 	phys_size_t hw_size;
-	bd_t bd = {0};
+	struct bd_info bd = {0};
 
 	/* Enable access to DDR from CPU master */
 	clrbits_le32(CCU_REG_ADDR(CCU_CPU0_MPRT_ADBASE_DDRREG),
diff --git a/drivers/ddr/altera/sdram_soc64.c b/drivers/ddr/altera/sdram_soc64.c
index 491f689c44..8cb75fe02a 100644
--- a/drivers/ddr/altera/sdram_soc64.c
+++ b/drivers/ddr/altera/sdram_soc64.c
@@ -132,7 +132,7 @@ void sdram_clear_mem(phys_addr_t addr, phys_size_t size)
 	}
 }
 
-void sdram_init_ecc_bits(bd_t *bd)
+void sdram_init_ecc_bits(struct bd_info *bd)
 {
 	phys_size_t size, size_init;
 	phys_addr_t start_addr;
@@ -176,7 +176,7 @@ void sdram_init_ecc_bits(bd_t *bd)
 	       (unsigned int)get_timer(start));
 }
 
-void sdram_size_check(bd_t *bd)
+void sdram_size_check(struct bd_info *bd)
 {
 	phys_size_t total_ram_check = 0;
 	phys_size_t ram_check = 0;
diff --git a/drivers/ddr/altera/sdram_soc64.h b/drivers/ddr/altera/sdram_soc64.h
index 7b25a80ae2..4a830e7ec1 100644
--- a/drivers/ddr/altera/sdram_soc64.h
+++ b/drivers/ddr/altera/sdram_soc64.h
@@ -179,8 +179,8 @@ int emif_clear(struct altera_sdram_platdata *plat);
 int emif_reset(struct altera_sdram_platdata *plat);
 int poll_hmc_clock_status(void);
 void sdram_clear_mem(phys_addr_t addr, phys_size_t size);
-void sdram_init_ecc_bits(bd_t *bd);
-void sdram_size_check(bd_t *bd);
+void sdram_init_ecc_bits(struct bd_info *bd);
+void sdram_size_check(struct bd_info *bd);
 phys_size_t sdram_calculate_size(struct altera_sdram_platdata *plat);
 int sdram_mmr_init_full(struct udevice *dev);
 
diff --git a/drivers/mmc/davinci_mmc.c b/drivers/mmc/davinci_mmc.c
index 2408a687d2..c2ad7d9c77 100644
--- a/drivers/mmc/davinci_mmc.c
+++ b/drivers/mmc/davinci_mmc.c
@@ -464,7 +464,7 @@ static const struct dm_mmc_ops davinci_mmc_ops = {
 /* Called from board_mmc_init during startup. Can be called multiple times
 * depending on the number of slots available on board and controller
 */
-int davinci_mmc_init(bd_t *bis, struct davinci_mmc *host)
+int davinci_mmc_init(struct bd_info *bis, struct davinci_mmc *host)
 {
 	host->cfg.name = "davinci";
 	host->cfg.ops = &dmmc_ops;
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index a4b923ab99..f6e0d43057 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -746,7 +746,7 @@ static void esdhc_disable_for_no_card(void *blob)
 }
 #endif
 
-void fdt_fixup_esdhc(void *blob, bd_t *bd)
+void fdt_fixup_esdhc(void *blob, struct bd_info *bd)
 {
 	const char *compat = "fsl,esdhc";
 
@@ -797,7 +797,7 @@ static const struct mmc_ops esdhc_ops = {
 	.set_ios	= esdhc_set_ios,
 };
 
-int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
+int fsl_esdhc_initialize(struct bd_info *bis, struct fsl_esdhc_cfg *cfg)
 {
 	struct fsl_esdhc_plat *plat;
 	struct fsl_esdhc_priv *priv;
@@ -852,7 +852,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
 	return 0;
 }
 
-int fsl_esdhc_mmc_init(bd_t *bis)
+int fsl_esdhc_mmc_init(struct bd_info *bis)
 {
 	struct fsl_esdhc_cfg *cfg;
 
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index 5b61eeb214..644f4651fb 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -1292,7 +1292,7 @@ static int fsl_esdhc_cfg_to_priv(struct fsl_esdhc_cfg *cfg,
 	return 0;
 };
 
-int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
+int fsl_esdhc_initialize(struct bd_info *bis, struct fsl_esdhc_cfg *cfg)
 {
 	struct fsl_esdhc_plat *plat;
 	struct fsl_esdhc_priv *priv;
@@ -1336,7 +1336,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
 	return 0;
 }
 
-int fsl_esdhc_mmc_init(bd_t *bis)
+int fsl_esdhc_mmc_init(struct bd_info *bis)
 {
 	struct fsl_esdhc_cfg *cfg;
 
@@ -1360,7 +1360,7 @@ __weak int esdhc_status_fixup(void *blob, const char *compat)
 	return 0;
 }
 
-void fdt_fixup_esdhc(void *blob, bd_t *bd)
+void fdt_fixup_esdhc(void *blob, struct bd_info *bd)
 {
 	const char *compat = "fsl,esdhc";
 
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 725a36799d..2948e9678e 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -2974,13 +2974,13 @@ int mmc_set_dsr(struct mmc *mmc, u16 val)
 }
 
 /* CPU-specific MMC initializations */
-__weak int cpu_mmc_init(bd_t *bis)
+__weak int cpu_mmc_init(struct bd_info *bis)
 {
 	return -1;
 }
 
 /* board-specific MMC initializations. */
-__weak int board_mmc_init(bd_t *bis)
+__weak int board_mmc_init(struct bd_info *bis)
 {
 	return -1;
 }
@@ -2991,7 +2991,7 @@ void mmc_set_preinit(struct mmc *mmc, int preinit)
 }
 
 #if CONFIG_IS_ENABLED(DM_MMC)
-static int mmc_probe(bd_t *bis)
+static int mmc_probe(struct bd_info *bis)
 {
 	int ret, i;
 	struct uclass *uc;
@@ -3020,7 +3020,7 @@ static int mmc_probe(bd_t *bis)
 	return 0;
 }
 #else
-static int mmc_probe(bd_t *bis)
+static int mmc_probe(struct bd_info *bis)
 {
 	if (board_mmc_init(bis) < 0)
 		cpu_mmc_init(bis);
@@ -3029,7 +3029,7 @@ static int mmc_probe(bd_t *bis)
 }
 #endif
 
-int mmc_initialize(bd_t *bis)
+int mmc_initialize(struct bd_info *bis)
 {
 	static int initialized = 0;
 	int ret;
diff --git a/drivers/mmc/mvebu_mmc.c b/drivers/mmc/mvebu_mmc.c
index 8e7745e233..03d5150b20 100644
--- a/drivers/mmc/mvebu_mmc.c
+++ b/drivers/mmc/mvebu_mmc.c
@@ -427,7 +427,7 @@ static struct mmc_config mvebu_mmc_cfg = {
 	.b_max		= CONFIG_SYS_MMC_MAX_BLK_COUNT,
 };
 
-int mvebu_mmc_init(bd_t *bis)
+int mvebu_mmc_init(struct bd_info *bis)
 {
 	struct mmc *mmc;
 
diff --git a/drivers/mmc/mxcmmc.c b/drivers/mmc/mxcmmc.c
index 269882b202..0057273a2a 100644
--- a/drivers/mmc/mxcmmc.c
+++ b/drivers/mmc/mxcmmc.c
@@ -504,7 +504,7 @@ static struct mmc_config mxcmci_cfg = {
 	.b_max		= CONFIG_SYS_MMC_MAX_BLK_COUNT,
 };
 
-static int mxcmci_initialize(bd_t *bis)
+static int mxcmci_initialize(struct bd_info *bis)
 {
 	host->base = (struct mxcmci_regs *)CONFIG_MXC_MCI_REGS_BASE;
 
@@ -518,7 +518,7 @@ static int mxcmci_initialize(bd_t *bis)
 	return 0;
 }
 
-int mxc_mmc_init(bd_t *bis)
+int mxc_mmc_init(struct bd_info *bis)
 {
 	return mxcmci_initialize(bis);
 }
diff --git a/drivers/mmc/mxsmmc.c b/drivers/mmc/mxsmmc.c
index e3c352b44a..109ff92d55 100644
--- a/drivers/mmc/mxsmmc.c
+++ b/drivers/mmc/mxsmmc.c
@@ -162,7 +162,8 @@ static const struct mmc_ops mxsmmc_ops = {
 	.init		= mxsmmc_init,
 };
 
-int mxsmmc_initialize(bd_t *bis, int id, int (*wp)(int), int (*cd)(int))
+int mxsmmc_initialize(struct bd_info *bis, int id, int (*wp)(int),
+		      int (*cd)(int))
 {
 	struct mmc *mmc = NULL;
 	struct mxsmmc_priv *priv = NULL;
diff --git a/drivers/net/armada100_fec.c b/drivers/net/armada100_fec.c
index 3ee119bcbc..018891e173 100644
--- a/drivers/net/armada100_fec.c
+++ b/drivers/net/armada100_fec.c
@@ -421,7 +421,7 @@ static void armdfec_init_rx_desc_ring(struct armdfec_device *darmdfec)
 	darmdfec->p_rxdesc_curr = darmdfec->p_rxdesc;
 }
 
-static int armdfec_init(struct eth_device *dev, bd_t *bd)
+static int armdfec_init(struct eth_device *dev, struct bd_info *bd)
 {
 	struct armdfec_device *darmdfec = to_darmdfec(dev);
 	struct armdfec_reg *regs = darmdfec->regs;
diff --git a/drivers/net/at91_emac.c b/drivers/net/at91_emac.c
index 4e4ad61da4..e40b94ad89 100644
--- a/drivers/net/at91_emac.c
+++ b/drivers/net/at91_emac.c
@@ -315,7 +315,7 @@ int at91emac_UpdateLinkSpeed(at91_emac_t *emac)
 	return 0;
 }
 
-static int at91emac_init(struct eth_device *netdev, bd_t *bd)
+static int at91emac_init(struct eth_device *netdev, struct bd_info *bd)
 {
 	int i;
 	u32 value;
@@ -470,7 +470,7 @@ static int at91emac_write_hwaddr(struct eth_device *netdev)
 	return 0;
 }
 
-int at91emac_register(bd_t *bis, unsigned long iobase)
+int at91emac_register(struct bd_info *bis, unsigned long iobase)
 {
 	emac_device *emac;
 	emac_device *emacfix;
diff --git a/drivers/net/ax88180.c b/drivers/net/ax88180.c
index 28cb41272a..402bcdb63e 100644
--- a/drivers/net/ax88180.c
+++ b/drivers/net/ax88180.c
@@ -529,7 +529,7 @@ static void ax88180_halt (struct eth_device *dev)
 	OUTW (dev, WAKEMOD, CMD);
 }
 
-static int ax88180_init (struct eth_device *dev, bd_t * bd)
+static int ax88180_init (struct eth_device *dev, struct bd_info * bd)
 {
 	struct ax88180_private *priv = (struct ax88180_private *)dev->priv;
 	unsigned short tmp_regval;
@@ -701,7 +701,7 @@ static void ax88180_read_mac_addr (struct eth_device *dev)
 }
 
 /* Exported SubProgram Bodies */
-int ax88180_initialize (bd_t * bis)
+int ax88180_initialize (struct bd_info * bis)
 {
 	struct eth_device *dev;
 	struct ax88180_private *priv;
diff --git a/drivers/net/bcm-sf2-eth.c b/drivers/net/bcm-sf2-eth.c
index 2998d57c72..c862c14146 100644
--- a/drivers/net/bcm-sf2-eth.c
+++ b/drivers/net/bcm-sf2-eth.c
@@ -147,7 +147,7 @@ static int bcm_sf2_eth_write_hwaddr(struct eth_device *dev)
 	return eth->set_mac_addr(dev->enetaddr);
 }
 
-static int bcm_sf2_eth_open(struct eth_device *dev, bd_t *bt)
+static int bcm_sf2_eth_open(struct eth_device *dev, struct bd_info *bt)
 {
 	struct eth_info *eth = (struct eth_info *)(dev->priv);
 	struct eth_dma *dma = &(eth->dma);
@@ -198,7 +198,7 @@ static void bcm_sf2_eth_close(struct eth_device *dev)
 	eth->disable_mac();
 }
 
-int bcm_sf2_eth_register(bd_t *bis, u8 dev_num)
+int bcm_sf2_eth_register(struct bd_info *bis, u8 dev_num)
 {
 	struct eth_device *dev;
 	struct eth_info *eth;
diff --git a/drivers/net/calxedaxgmac.c b/drivers/net/calxedaxgmac.c
index 5dad69c0b7..8b2ee49b44 100644
--- a/drivers/net/calxedaxgmac.c
+++ b/drivers/net/calxedaxgmac.c
@@ -366,7 +366,7 @@ static void xgmac_hwmacaddr(struct eth_device *dev)
 	writel(macaddr[0], &regs->macaddr[0].lo);
 }
 
-static int xgmac_init(struct eth_device *dev, bd_t * bis)
+static int xgmac_init(struct eth_device *dev, struct bd_info * bis)
 {
 	struct xgmac_regs *regs = (struct xgmac_regs *)dev->iobase;
 	struct calxeda_eth_dev *priv = dev->priv;
diff --git a/drivers/net/cs8900.c b/drivers/net/cs8900.c
index 7ec95be6fc..9440a91882 100644
--- a/drivers/net/cs8900.c
+++ b/drivers/net/cs8900.c
@@ -146,7 +146,7 @@ void cs8900_halt(struct eth_device *dev)
 	get_reg_init_bus(dev, PP_ChipID);
 }
 
-static int cs8900_init(struct eth_device *dev, bd_t * bd)
+static int cs8900_init(struct eth_device *dev, struct bd_info * bd)
 {
 	uchar *enetaddr = dev->enetaddr;
 	u16 id;
diff --git a/drivers/net/dc2114x.c b/drivers/net/dc2114x.c
index c55358ef83..0cb54e3214 100644
--- a/drivers/net/dc2114x.c
+++ b/drivers/net/dc2114x.c
@@ -320,7 +320,7 @@ static int write_srom(struct eth_device *dev, u_long ioaddr, int index,
 	return 1;
 }
 
-static void update_srom(struct eth_device *dev, bd_t *bis)
+static void update_srom(struct eth_device *dev, struct bd_info *bis)
 {
 	static unsigned short eeprom[0x40] = {
 		0x140b, 0x6610, 0x0000, 0x0000,	/* 00 */
@@ -356,7 +356,7 @@ static void update_srom(struct eth_device *dev, bd_t *bis)
 }
 #endif /* UPDATE_SROM */
 
-static void send_setup_frame(struct eth_device *dev, bd_t *bis)
+static void send_setup_frame(struct eth_device *dev, struct bd_info *bis)
 {
 	char setup_frame[SETUP_FRAME_LEN];
 	char *pa = &setup_frame[0];
@@ -484,7 +484,7 @@ static int dc21x4x_recv(struct eth_device *dev)
 	return length;
 }
 
-static int dc21x4x_init(struct eth_device *dev, bd_t *bis)
+static int dc21x4x_init(struct eth_device *dev, struct bd_info *bis)
 {
 	int i;
 	int devbusfn = (int)dev->priv;
@@ -547,7 +547,7 @@ static void dc21x4x_halt(struct eth_device *dev)
 	pci_write_config_byte(devbusfn, PCI_CFDA_PSM, SLEEP);
 }
 
-static void read_hw_addr(struct eth_device *dev, bd_t *bis)
+static void read_hw_addr(struct eth_device *dev, struct bd_info *bis)
 {
 	u_short tmp, *p = (u_short *)(&dev->enetaddr[0]);
 	int i, j = 0;
@@ -573,7 +573,7 @@ static struct pci_device_id supported[] = {
 	{ }
 };
 
-int dc21x4x_initialize(bd_t *bis)
+int dc21x4x_initialize(struct bd_info *bis)
 {
 	struct eth_device *dev;
 	unsigned short status;
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index b89a68afe4..1c0e829407 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -512,7 +512,7 @@ static int dw_phy_init(struct dw_eth_dev *priv, void *dev)
 }
 
 #ifndef CONFIG_DM_ETH
-static int dw_eth_init(struct eth_device *dev, bd_t *bis)
+static int dw_eth_init(struct eth_device *dev, struct bd_info *bis)
 {
 	int ret;
 
diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index d575a62592..e46a269af9 100644
--- a/drivers/net/dm9000x.c
+++ b/drivers/net/dm9000x.c
@@ -279,7 +279,7 @@ dm9000_reset(void)
 
 /* Initialize dm9000 board
 */
-static int dm9000_init(struct eth_device *dev, bd_t *bd)
+static int dm9000_init(struct eth_device *dev, struct bd_info *bd)
 {
 	int i, oft, lnk;
 	u8 io_mode;
@@ -619,7 +619,7 @@ dm9000_phy_write(int reg, u16 value)
 	DM9000_DBG("dm9000_phy_write(reg:0x%x, value:0x%x)\n", reg, value);
 }
 
-int dm9000_initialize(bd_t *bis)
+int dm9000_initialize(struct bd_info *bis)
 {
 	struct eth_device *dev = &(dm9000_info.netdev);
 
diff --git a/drivers/net/dnet.c b/drivers/net/dnet.c
index 98e9b2c663..fbcf15f268 100644
--- a/drivers/net/dnet.c
+++ b/drivers/net/dnet.c
@@ -312,7 +312,7 @@ static int dnet_phy_init(struct dnet_device *dnet)
 	}
 }
 
-static int dnet_init(struct eth_device *netdev, bd_t *bd)
+static int dnet_init(struct eth_device *netdev, struct bd_info *bd)
 {
 	struct dnet_device *dnet = to_dnet(netdev);
 	u32 config;
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 008da4ab3e..49be766702 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -5634,7 +5634,7 @@ e1000_disable(struct eth_device *nic)
 INIT - set up ethernet interface(s)
 ***************************************************************************/
 static int
-e1000_init(struct eth_device *nic, bd_t *bis)
+e1000_init(struct eth_device *nic, struct bd_info *bis)
 {
 	struct e1000_hw *hw = nic->priv;
 
@@ -5700,7 +5700,7 @@ PROBE - Look for an adapter, this routine's visible to the outside
 You should omit the last argument struct pci_device * for a non-PCI NIC
 ***************************************************************************/
 int
-e1000_initialize(bd_t * bis)
+e1000_initialize(struct bd_info * bis)
 {
 	unsigned int i;
 	pci_dev_t devno;
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index e186ab4e5f..078b3826f2 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -215,9 +215,9 @@ static const char i82558_config_cmd[] = {
 static void init_rx_ring (struct eth_device *dev);
 static void purge_tx_ring (struct eth_device *dev);
 
-static void read_hw_addr (struct eth_device *dev, bd_t * bis);
+static void read_hw_addr (struct eth_device *dev, struct bd_info * bis);
 
-static int eepro100_init (struct eth_device *dev, bd_t * bis);
+static int eepro100_init (struct eth_device *dev, struct bd_info * bis);
 static int eepro100_send(struct eth_device *dev, void *packet, int length);
 static int eepro100_recv (struct eth_device *dev);
 static void eepro100_halt (struct eth_device *dev);
@@ -385,7 +385,7 @@ static struct pci_device_id supported[] = {
 	{}
 };
 
-int eepro100_initialize (bd_t * bis)
+int eepro100_initialize (struct bd_info * bis)
 {
 	pci_dev_t devno;
 	int card_number = 0;
@@ -472,7 +472,7 @@ int eepro100_initialize (bd_t * bis)
 }
 
 
-static int eepro100_init (struct eth_device *dev, bd_t * bis)
+static int eepro100_init (struct eth_device *dev, struct bd_info * bis)
 {
 	int i, status = -1;
 	int tx_cur;
@@ -907,7 +907,7 @@ static void purge_tx_ring (struct eth_device *dev)
 	}
 }
 
-static void read_hw_addr (struct eth_device *dev, bd_t * bis)
+static void read_hw_addr (struct eth_device *dev, struct bd_info * bis)
 {
 	u16 sum = 0;
 	int i, j;
diff --git a/drivers/net/ep93xx_eth.c b/drivers/net/ep93xx_eth.c
index 894ffc9d2b..0218349b04 100644
--- a/drivers/net/ep93xx_eth.c
+++ b/drivers/net/ep93xx_eth.c
@@ -165,7 +165,7 @@ static void ep93xx_mac_reset(struct eth_device *dev)
 }
 
 /* Eth device open */
-static int ep93xx_eth_open(struct eth_device *dev, bd_t *bd)
+static int ep93xx_eth_open(struct eth_device *dev, struct bd_info *bd)
 {
 	struct ep93xx_priv *priv = GET_PRIV(dev);
 	struct mac_regs *mac = GET_REGS(dev);
@@ -421,7 +421,7 @@ eth_send_out:
 }
 
 #if defined(CONFIG_MII)
-int ep93xx_miiphy_initialize(bd_t * const bd)
+int ep93xx_miiphy_initialize(struct bd_info * const bd)
 {
 	int retval;
 	struct mii_dev *mdiodev = mdio_alloc();
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
index 81d0f3d7f8..fd589a0764 100644
--- a/drivers/net/ethoc.c
+++ b/drivers/net/ethoc.c
@@ -756,7 +756,7 @@ U_BOOT_DRIVER(ethoc) = {
 
 #else
 
-static int ethoc_init(struct eth_device *dev, bd_t *bd)
+static int ethoc_init(struct eth_device *dev, struct bd_info *bd)
 {
 	struct ethoc *priv = (struct ethoc *)dev->priv;
 
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 992180df86..469c7b7cef 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1102,7 +1102,7 @@ struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id)
 
 #ifndef CONFIG_DM_ETH
 #ifdef CONFIG_PHYLIB
-int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr,
+int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
 		struct mii_dev *bus, struct phy_device *phydev)
 #else
 static int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr,
@@ -1199,7 +1199,8 @@ err1:
 	return ret;
 }
 
-int fecmxc_initialize_multi(bd_t *bd, int dev_id, int phy_id, uint32_t addr)
+int fecmxc_initialize_multi(struct bd_info *bd, int dev_id, int phy_id,
+			    uint32_t addr)
 {
 	uint32_t base_mii;
 	struct mii_dev *bus = NULL;
@@ -1250,7 +1251,7 @@ int fecmxc_initialize_multi(bd_t *bd, int dev_id, int phy_id, uint32_t addr)
 }
 
 #ifdef CONFIG_FEC_MXC_PHYADDR
-int fecmxc_initialize(bd_t *bd)
+int fecmxc_initialize(struct bd_info *bd)
 {
 	return fecmxc_initialize_multi(bd, -1, CONFIG_FEC_MXC_PHYADDR,
 			IMX_FEC_BASE);
diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h
index 659d62646f..5ccde9193b 100644
--- a/drivers/net/fec_mxc.h
+++ b/drivers/net/fec_mxc.h
@@ -244,7 +244,7 @@ struct fec_priv {
 	int rbd_index;			/* next receive BD to read */
 	struct fec_bd *tbd_base;	/* TBD ring */
 	int tbd_index;			/* next transmit BD to write */
-	bd_t *bd;
+	struct bd_info *bd;
 	uint8_t *tdb_ptr;
 	int dev_id;
 	struct mii_dev *bus;
diff --git a/drivers/net/fm/eth.c b/drivers/net/fm/eth.c
index 62396d3a16..2f433cedd0 100644
--- a/drivers/net/fm/eth.c
+++ b/drivers/net/fm/eth.c
@@ -464,7 +464,7 @@ static void fmc_tx_port_graceful_stop_disable(struct fm_eth *fm_eth)
 }
 
 #ifndef CONFIG_DM_ETH
-static int fm_eth_open(struct eth_device *dev, bd_t *bd)
+static int fm_eth_open(struct eth_device *dev, struct bd_info *bd)
 #else
 static int fm_eth_open(struct udevice *dev)
 #endif
diff --git a/drivers/net/fm/init.c b/drivers/net/fm/init.c
index 2cc8bbfb10..2fed64205c 100644
--- a/drivers/net/fm/init.c
+++ b/drivers/net/fm/init.c
@@ -87,7 +87,7 @@ struct fm_eth_info fm_info[] = {
 #endif
 };
 
-int fm_standard_init(bd_t *bis)
+int fm_standard_init(struct bd_info *bis)
 {
 	int i;
 	struct ccsr_fman *reg;
diff --git a/drivers/net/fm/memac_phy.c b/drivers/net/fm/memac_phy.c
index 4cbfbc70ab..e15c28d500 100644
--- a/drivers/net/fm/memac_phy.c
+++ b/drivers/net/fm/memac_phy.c
@@ -166,7 +166,7 @@ int memac_mdio_reset(struct mii_dev *bus)
 }
 
 #ifndef CONFIG_DM_ETH
-int fm_memac_mdio_init(bd_t *bis, struct memac_mdio_info *info)
+int fm_memac_mdio_init(struct bd_info *bis, struct memac_mdio_info *info)
 {
 	struct mii_dev *bus = mdio_alloc();
 
diff --git a/drivers/net/fm/tgec_phy.c b/drivers/net/fm/tgec_phy.c
index f6c98f2e29..22225c2f82 100644
--- a/drivers/net/fm/tgec_phy.c
+++ b/drivers/net/fm/tgec_phy.c
@@ -105,7 +105,7 @@ static int tgec_mdio_reset(struct mii_dev *bus)
 	return 0;
 }
 
-int fm_tgec_mdio_init(bd_t *bis, struct tgec_mdio_info *info)
+int fm_tgec_mdio_init(struct bd_info *bis, struct tgec_mdio_info *info)
 {
 	struct mii_dev *bus = mdio_alloc();
 
diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
index e516c3c145..84db6be624 100644
--- a/drivers/net/fsl-mc/mc.c
+++ b/drivers/net/fsl-mc/mc.c
@@ -971,7 +971,7 @@ unsigned long mc_get_dram_block_size(void)
 	return dram_block_size;
 }
 
-int fsl_mc_ldpaa_init(bd_t *bis)
+int fsl_mc_ldpaa_init(struct bd_info *bis)
 {
 	int i;
 
@@ -1707,7 +1707,7 @@ err:
 	return err;
 }
 
-int fsl_mc_ldpaa_exit(bd_t *bd)
+int fsl_mc_ldpaa_exit(struct bd_info *bd)
 {
 	int err = 0;
 	bool is_dpl_apply_status = false;
diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c
index 73e92b7a0d..f33529cb67 100644
--- a/drivers/net/fsl_mcdmafec.c
+++ b/drivers/net/fsl_mcdmafec.c
@@ -161,7 +161,7 @@ static void dbg_fec_regs(struct eth_device *dev)
 
 static void set_fec_duplex_speed(volatile fecdma_t *fecp, int dup_spd)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	if ((dup_spd >> 16) == FULL) {
 		/* Set maximum frame length */
diff --git a/drivers/net/fsl_mdio.c b/drivers/net/fsl_mdio.c
index 43040d4c3f..d2edd1751c 100644
--- a/drivers/net/fsl_mdio.c
+++ b/drivers/net/fsl_mdio.c
@@ -130,7 +130,7 @@ int tsec_phy_write(struct mii_dev *bus, int addr, int dev_addr, int regnum,
 }
 
 #ifndef CONFIG_DM_MDIO
-int fsl_pq_mdio_init(bd_t *bis, struct fsl_pq_mdio_info *info)
+int fsl_pq_mdio_init(struct bd_info *bis, struct fsl_pq_mdio_info *info)
 {
 	struct mii_dev *bus = mdio_alloc();
 
diff --git a/drivers/net/ftmac100.c b/drivers/net/ftmac100.c
index 4aae7c43fe..79c64ec89a 100644
--- a/drivers/net/ftmac100.c
+++ b/drivers/net/ftmac100.c
@@ -240,7 +240,7 @@ static void ftmac100_halt(struct eth_device *dev)
 	return _ftmac100_halt(priv);
 }
 
-static int ftmac100_init(struct eth_device *dev, bd_t *bd)
+static int ftmac100_init(struct eth_device *dev, struct bd_info *bd)
 {
 	struct ftmac100_data *priv = dev->priv;
 	return _ftmac100_init(priv , dev->enetaddr);
@@ -278,7 +278,7 @@ static int ftmac100_send(struct eth_device *dev, void *packet, int length)
 	return _ftmac100_send(priv , packet , length);
 }
 
-int ftmac100_initialize (bd_t *bd)
+int ftmac100_initialize (struct bd_info *bd)
 {
 	struct eth_device *dev;
 	struct ftmac100_data *priv;
diff --git a/drivers/net/ftmac110.c b/drivers/net/ftmac110.c
index 835346cb07..265d813c4f 100644
--- a/drivers/net/ftmac110.c
+++ b/drivers/net/ftmac110.c
@@ -257,7 +257,7 @@ static int ftmac110_reset(struct eth_device *dev)
 	return 0;
 }
 
-static int ftmac110_probe(struct eth_device *dev, bd_t *bis)
+static int ftmac110_probe(struct eth_device *dev, struct bd_info *bis)
 {
 	debug("ftmac110: probe\n");
 
@@ -404,7 +404,7 @@ static int ftmac110_mdio_write(struct mii_dev *bus, int addr, int devad,
 
 #endif    /* #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) */
 
-int ftmac110_initialize(bd_t *bis)
+int ftmac110_initialize(struct bd_info *bis)
 {
 	int i, card_nr = 0;
 	struct eth_device *dev;
diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c
index 3ff173ad33..1773c7671f 100644
--- a/drivers/net/ks8851_mll.c
+++ b/drivers/net/ks8851_mll.c
@@ -505,7 +505,7 @@ static void ks8851_mll_write_hwaddr_common(struct ks_net *ks, u8 enetaddr[6])
 }
 
 #ifndef CONFIG_DM_ETH
-static int ks8851_mll_init(struct eth_device *dev, bd_t *bd)
+static int ks8851_mll_init(struct eth_device *dev, struct bd_info *bd)
 {
 	struct ks_net *ks = container_of(dev, struct ks_net, dev);
 
diff --git a/drivers/net/lan91c96.c b/drivers/net/lan91c96.c
index 13900f10b1..c2f611144d 100644
--- a/drivers/net/lan91c96.c
+++ b/drivers/net/lan91c96.c
@@ -114,7 +114,7 @@
  . print a warning and set the environment and other globals with the default.
  . If an EEPROM is present it really should be consulted.
 */
-static int smc_get_ethaddr(bd_t *bd, struct eth_device *dev);
+static int smc_get_ethaddr(struct bd_info *bd, struct eth_device *dev);
 static int get_rom_mac(struct eth_device *dev, unsigned char *v_rom_mac);
 
 /* ------------------------------------------------------------
@@ -471,7 +471,7 @@ static int smc_send_packet(struct eth_device *dev, void *packet,
  * Set up everything, reset the card, etc ..
  *
  */
-static int smc_open(bd_t *bd, struct eth_device *dev)
+static int smc_open(struct bd_info *bd, struct eth_device *dev)
 {
 	int i, err;			/* used to set hw ethernet address */
 
@@ -674,7 +674,7 @@ static void print_packet(byte *buf, int length)
 }
 #endif /* SMC_DEBUG > 2 */
 
-static int  lan91c96_init(struct eth_device *dev, bd_t *bd)
+static int  lan91c96_init(struct eth_device *dev, struct bd_info *bd)
 {
 	return smc_open(bd, dev);
 }
@@ -701,7 +701,7 @@ static int lan91c96_send(struct eth_device *dev, void *packet,
  * found, the environment takes precedence.
  */
 
-static int smc_get_ethaddr(bd_t *bd, struct eth_device *dev)
+static int smc_get_ethaddr(struct bd_info *bd, struct eth_device *dev)
 {
 	uchar v_mac[6];
 
diff --git a/drivers/net/lpc32xx_eth.c b/drivers/net/lpc32xx_eth.c
index f68daaaff5..3f281a515c 100644
--- a/drivers/net/lpc32xx_eth.c
+++ b/drivers/net/lpc32xx_eth.c
@@ -597,7 +597,7 @@ int lpc32xx_eth_phylib_init(struct eth_device *dev, int phyid)
 }
 #endif
 
-int lpc32xx_eth_initialize(bd_t *bis)
+int lpc32xx_eth_initialize(struct bd_info *bis)
 {
 	struct eth_device *dev = &lpc32xx_eth.dev;
 	struct lpc32xx_eth_registers *regs = lpc32xx_eth.regs;
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 424ca59707..b80a259ff7 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -1056,7 +1056,7 @@ static int macb_recv(struct eth_device *netdev)
 	}
 }
 
-static int macb_init(struct eth_device *netdev, bd_t *bd)
+static int macb_init(struct eth_device *netdev, struct bd_info *bd)
 {
 	struct macb_device *macb = to_macb(netdev);
 
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index 697549301f..1a8351be1c 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -89,7 +89,7 @@ static void fec_reset(struct fec_info_s *info)
 
 static void set_fec_duplex_speed(volatile fec_t *fecp, int dup_spd)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	if ((dup_spd >> 16) == FULL) {
 		/* Set maximum frame length */
diff --git a/drivers/net/mpc8xx_fec.c b/drivers/net/mpc8xx_fec.c
index f9f7dd7cb3..12be584638 100644
--- a/drivers/net/mpc8xx_fec.c
+++ b/drivers/net/mpc8xx_fec.c
@@ -112,13 +112,13 @@ static struct common_buf_desc __iomem *rtx;
 
 static int fec_send(struct eth_device *dev, void *packet, int length);
 static int fec_recv(struct eth_device *dev);
-static int fec_init(struct eth_device *dev, bd_t *bd);
+static int fec_init(struct eth_device *dev, struct bd_info *bd);
 static void fec_halt(struct eth_device *dev);
 #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
 static void __mii_init(void);
 #endif
 
-int fec_initialize(bd_t *bis)
+int fec_initialize(struct bd_info *bis)
 {
 	struct eth_device *dev;
 	struct ether_fcc_info_s *efis;
@@ -345,7 +345,7 @@ static inline void fec_half_duplex(struct eth_device *dev)
 
 static void fec_pin_init(int fecidx)
 {
-	bd_t           *bd = gd->bd;
+	struct bd_info           *bd = gd->bd;
 	immap_t __iomem *immr = (immap_t __iomem *)CONFIG_SYS_IMMR;
 
 	/*
@@ -496,7 +496,7 @@ static int fec_reset(fec_t __iomem *fecp)
 	return 0;
 }
 
-static int fec_init(struct eth_device *dev, bd_t *bd)
+static int fec_init(struct eth_device *dev, struct bd_info *bd)
 {
 	struct ether_fcc_info_s *efis = dev->priv;
 	immap_t __iomem *immr = (immap_t __iomem *)CONFIG_SYS_IMMR;
diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index 7974dfc78d..86b1b8cee5 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -821,7 +821,7 @@ error1:
 }
 
 #ifndef CONFIG_DM_ETH
-int mvgbe_initialize(bd_t *bis)
+int mvgbe_initialize(struct bd_info *bis)
 {
 	struct mvgbe_device *dmvgbe;
 	struct eth_device *dev;
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index bf6fa8f2ba..bfd8cc396b 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -230,7 +230,7 @@ static void write_eeprom(struct eth_device *dev, long addr, int location,
 #endif
 static int read_eeprom(struct eth_device *dev, long addr, int location);
 static int mdio_read(struct eth_device *dev, int phy_id, int location);
-static int natsemi_init(struct eth_device *dev, bd_t * bis);
+static int natsemi_init(struct eth_device *dev, struct bd_info * bis);
 static void natsemi_reset(struct eth_device *dev);
 static void natsemi_init_rxfilter(struct eth_device *dev);
 static void natsemi_init_txd(struct eth_device *dev);
@@ -287,7 +287,7 @@ OUTL(struct eth_device *dev, int command, u_long addr)
  */
 
 int
-natsemi_initialize(bd_t * bis)
+natsemi_initialize(struct bd_info * bis)
 {
 	pci_dev_t devno;
 	int card_number = 0;
@@ -556,7 +556,7 @@ mdio_read(struct eth_device *dev, int phy_id, int location)
  */
 
 static int
-natsemi_init(struct eth_device *dev, bd_t * bis)
+natsemi_init(struct eth_device *dev, struct bd_info * bis)
 {
 
 	natsemi_reset(dev);
diff --git a/drivers/net/ne2000_base.c b/drivers/net/ne2000_base.c
index 55145da2bb..f6673f5e4c 100644
--- a/drivers/net/ne2000_base.c
+++ b/drivers/net/ne2000_base.c
@@ -720,7 +720,7 @@ static int ne2k_setup_driver(struct eth_device *dev)
 	return 0;
 }
 
-static int ne2k_init(struct eth_device *dev, bd_t *bd)
+static int ne2k_init(struct eth_device *dev, struct bd_info *bd)
 {
 	dp83902a_start(dev->enetaddr);
 	initialized = 1;
diff --git a/drivers/net/ns8382x.c b/drivers/net/ns8382x.c
index c292abad07..d79872af09 100644
--- a/drivers/net/ns8382x.c
+++ b/drivers/net/ns8382x.c
@@ -252,7 +252,7 @@ static unsigned char rxb[NUM_RX_DESC * RX_BUF_SIZE]
 static int mdio_read(struct eth_device *dev, int phy_id, int addr);
 static void mdio_write(struct eth_device *dev, int phy_id, int addr, int value);
 static void mdio_sync(struct eth_device *dev, u32 offset);
-static int ns8382x_init(struct eth_device *dev, bd_t * bis);
+static int ns8382x_init(struct eth_device *dev, struct bd_info * bis);
 static void ns8382x_reset(struct eth_device *dev);
 static void ns8382x_init_rxfilter(struct eth_device *dev);
 static void ns8382x_init_txd(struct eth_device *dev);
@@ -304,7 +304,7 @@ OUTL(struct eth_device *dev, int command, u_long addr)
  */
 
 int
-ns8382x_initialize(bd_t * bis)
+ns8382x_initialize(struct bd_info * bis)
 {
 	pci_dev_t devno;
 	int card_number = 0;
@@ -530,7 +530,7 @@ mdio_write(struct eth_device *dev, int phy_id, int addr, int value)
  */
 
 static int
-ns8382x_init(struct eth_device *dev, bd_t * bis)
+ns8382x_init(struct eth_device *dev, struct bd_info * bis)
 {
 	u32 config;
 
diff --git a/drivers/net/pcnet.c b/drivers/net/pcnet.c
index 260a5a38cf..e9262f848f 100644
--- a/drivers/net/pcnet.c
+++ b/drivers/net/pcnet.c
@@ -139,11 +139,12 @@ static int pcnet_check(struct eth_device *dev)
 	return readw(base + PCNET_RAP) == 88;
 }
 
-static int pcnet_init (struct eth_device *dev, bd_t * bis);
+static int pcnet_init (struct eth_device *dev, struct bd_info * bis);
 static int pcnet_send(struct eth_device *dev, void *packet, int length);
 static int pcnet_recv (struct eth_device *dev);
 static void pcnet_halt (struct eth_device *dev);
-static int pcnet_probe (struct eth_device *dev, bd_t * bis, int dev_num);
+static int pcnet_probe (struct eth_device *dev, struct bd_info * bis,
+			int dev_num);
 
 static inline pci_addr_t pcnet_virt_to_mem(const struct eth_device *dev,
 						void *addr)
@@ -160,7 +161,7 @@ static struct pci_device_id supported[] = {
 };
 
 
-int pcnet_initialize(bd_t *bis)
+int pcnet_initialize(struct bd_info *bis)
 {
 	pci_dev_t devbusfn;
 	struct eth_device *dev;
@@ -237,7 +238,8 @@ int pcnet_initialize(bd_t *bis)
 	return dev_nr;
 }
 
-static int pcnet_probe(struct eth_device *dev, bd_t *bis, int dev_nr)
+static int pcnet_probe(struct eth_device *dev, struct bd_info *bis,
+		       int dev_nr)
 {
 	int chip_version;
 	char *chipname;
@@ -298,7 +300,7 @@ static int pcnet_probe(struct eth_device *dev, bd_t *bis, int dev_nr)
 	return 0;
 }
 
-static int pcnet_init(struct eth_device *dev, bd_t *bis)
+static int pcnet_init(struct eth_device *dev, struct bd_info *bis)
 {
 	struct pcnet_uncached_priv *uc;
 	int i, val;
diff --git a/drivers/net/rtl8139.c b/drivers/net/rtl8139.c
index 0daeefa489..a88a668110 100644
--- a/drivers/net/rtl8139.c
+++ b/drivers/net/rtl8139.c
@@ -485,7 +485,7 @@ static int rtl8139_recv(struct eth_device *dev)
 	return length;
 }
 
-static int rtl8139_init(struct eth_device *dev, bd_t *bis)
+static int rtl8139_init(struct eth_device *dev, struct bd_info *bis)
 {
 	unsigned short *ap = (unsigned short *)dev->enetaddr;
 	int addr_len, i;
@@ -530,7 +530,7 @@ static struct pci_device_id supported[] = {
 	{ }
 };
 
-int rtl8139_initialize(bd_t *bis)
+int rtl8139_initialize(struct bd_info *bis)
 {
 	struct eth_device *dev;
 	int card_number = 0;
diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c
index 75058fdadc..7c819da7bf 100644
--- a/drivers/net/rtl8169.c
+++ b/drivers/net/rtl8169.c
@@ -898,7 +898,7 @@ static int rtl8169_eth_start(struct udevice *dev)
 /**************************************************************************
 RESET - Finish setting up the ethernet interface
 ***************************************************************************/
-static int rtl_reset(struct eth_device *dev, bd_t *bis)
+static int rtl_reset(struct eth_device *dev, struct bd_info *bis)
 {
 	rtl8169_common_start((pci_dev_t)(unsigned long)dev->priv,
 			     dev->enetaddr, dev->iobase);
@@ -1116,7 +1116,7 @@ static int rtl_init(unsigned long dev_ioaddr, const char *name,
 }
 
 #ifndef CONFIG_DM_ETH
-int rtl8169_initialize(bd_t *bis)
+int rtl8169_initialize(struct bd_info *bis)
 {
 	pci_dev_t devno;
 	int card_number = 0;
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index b26fc7b8eb..8823769edd 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -577,7 +577,7 @@ static int sh_eth_recv_legacy(struct eth_device *dev)
 	return sh_eth_recv_common(eth);
 }
 
-static int sh_eth_init_legacy(struct eth_device *dev, bd_t *bd)
+static int sh_eth_init_legacy(struct eth_device *dev, struct bd_info *bd)
 {
 	struct sh_eth_dev *eth = dev->priv;
 	int ret;
@@ -611,7 +611,7 @@ void sh_eth_halt_legacy(struct eth_device *dev)
 	sh_eth_stop(eth);
 }
 
-int sh_eth_initialize(bd_t *bd)
+int sh_eth_initialize(struct bd_info *bd)
 {
 	int ret = 0;
 	struct sh_eth_dev *eth = NULL;
diff --git a/drivers/net/smc91111.c b/drivers/net/smc91111.c
index 23265eff93..ec4e8e928c 100644
--- a/drivers/net/smc91111.c
+++ b/drivers/net/smc91111.c
@@ -627,7 +627,7 @@ static int smc_write_hwaddr(struct eth_device *dev)
  * Set up everything, reset the card, etc ..
  *
  */
-static int smc_init(struct eth_device *dev, bd_t *bd)
+static int smc_init(struct eth_device *dev, struct bd_info *bd)
 {
 	swap_to(ETHERNET);
 
diff --git a/drivers/net/ti/cpsw.c b/drivers/net/ti/cpsw.c
index 95761fffc0..8d5640d5f4 100644
--- a/drivers/net/ti/cpsw.c
+++ b/drivers/net/ti/cpsw.c
@@ -928,7 +928,7 @@ int _cpsw_register(struct cpsw_priv *priv)
 }
 
 #ifndef CONFIG_DM_ETH
-static int cpsw_init(struct eth_device *dev, bd_t *bis)
+static int cpsw_init(struct eth_device *dev, struct bd_info *bis)
 {
 	struct cpsw_priv	*priv = dev->priv;
 
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 3d75acb6b4..5d12e4b775 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -554,7 +554,7 @@ static void startup_tsec(struct tsec_private *priv)
  * This allows U-Boot to find the first active controller.
  */
 #ifndef CONFIG_DM_ETH
-static int tsec_init(struct eth_device *dev, bd_t *bd)
+static int tsec_init(struct eth_device *dev, struct bd_info *bd)
 #else
 static int tsec_init(struct udevice *dev)
 #endif
@@ -701,7 +701,8 @@ static int init_phy(struct tsec_private *priv)
  * Initialize device structure. Returns success if PHY
  * initialization succeeded (i.e. if it recognizes the PHY)
  */
-static int tsec_initialize(bd_t *bis, struct tsec_info_struct *tsec_info)
+static int tsec_initialize(struct bd_info *bis,
+			   struct tsec_info_struct *tsec_info)
 {
 	struct tsec_private *priv;
 	struct eth_device *dev;
@@ -760,7 +761,8 @@ static int tsec_initialize(bd_t *bis, struct tsec_info_struct *tsec_info)
  *
  * Returns the number of TSEC devices that were initialized
  */
-int tsec_eth_init(bd_t *bis, struct tsec_info_struct *tsecs, int num)
+int tsec_eth_init(struct bd_info *bis, struct tsec_info_struct *tsecs,
+		  int num)
 {
 	int i;
 	int count = 0;
@@ -775,7 +777,7 @@ int tsec_eth_init(bd_t *bis, struct tsec_info_struct *tsecs, int num)
 	return count;
 }
 
-int tsec_standard_init(bd_t *bis)
+int tsec_standard_init(struct bd_info *bis)
 {
 	struct fsl_pq_mdio_info info;
 
diff --git a/drivers/net/uli526x.c b/drivers/net/uli526x.c
index cfdd1137be..3191868cae 100644
--- a/drivers/net/uli526x.c
+++ b/drivers/net/uli526x.c
@@ -184,7 +184,7 @@ static void uli526x_init(struct eth_device *);
 static void uli526x_set_phyxcer(struct uli526x_board_info *);
 
 
-static int uli526x_init_one(struct eth_device *, bd_t *);
+static int uli526x_init_one(struct eth_device *, struct bd_info *);
 static void uli526x_disable(struct eth_device *);
 static void set_mac_addr(struct eth_device *);
 
@@ -200,7 +200,7 @@ static struct pci_device_id uli526x_pci_tbl[] = {
  *	Search ULI526X board, register it
  */
 
-int uli526x_initialize(bd_t *bis)
+int uli526x_initialize(struct bd_info *bis)
 {
 	pci_dev_t devno;
 	int card_number = 0;
@@ -255,7 +255,7 @@ int uli526x_initialize(bd_t *bis)
 	return card_number;
 }
 
-static int uli526x_init_one(struct eth_device *dev, bd_t *bis)
+static int uli526x_init_one(struct eth_device *dev, struct bd_info *bis)
 {
 
 	struct uli526x_board_info *db = dev->priv;
diff --git a/drivers/net/vsc9953.c b/drivers/net/vsc9953.c
index c438dab561..29f26b4b33 100644
--- a/drivers/net/vsc9953.c
+++ b/drivers/net/vsc9953.c
@@ -2605,7 +2605,7 @@ static void vsc9953_vcap_init(void)
 		      __LINE__);
 }
 
-void vsc9953_init(bd_t *bis)
+void vsc9953_init(struct bd_info *bis)
 {
 	u32 i;
 	u32 hdx_cfg = 0;
diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
index 9ab3539a49..834526c5a4 100644
--- a/drivers/pci/pci-uclass.c
+++ b/drivers/pci/pci-uclass.c
@@ -939,7 +939,7 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node,
 
 	/* Add a region for our local memory */
 #ifdef CONFIG_NR_DRAM_BANKS
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	if (!bd)
 		return;
diff --git a/drivers/pci/pcie_fsl_fixup.c b/drivers/pci/pcie_fsl_fixup.c
index cbdc0ef291..f4e227895d 100644
--- a/drivers/pci/pcie_fsl_fixup.c
+++ b/drivers/pci/pcie_fsl_fixup.c
@@ -35,7 +35,7 @@ static void ft_fsl_pcie_setup(void *blob, struct fsl_pcie *pcie)
 }
 
 /* Fixup Kernel DT for PCIe */
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 	struct fsl_pcie *pcie;
 
@@ -44,7 +44,7 @@ void pci_of_setup(void *blob, bd_t *bd)
 }
 
 #else
-void pci_of_setup(void *blob, bd_t *bd)
+void pci_of_setup(void *blob, struct bd_info *bd)
 {
 }
 #endif
diff --git a/drivers/pci/pcie_layerscape_fixup.c b/drivers/pci/pcie_layerscape_fixup.c
index 25a3c3870c..76e680481a 100644
--- a/drivers/pci/pcie_layerscape_fixup.c
+++ b/drivers/pci/pcie_layerscape_fixup.c
@@ -266,7 +266,7 @@ static void ft_pcie_ls_setup(void *blob, struct ls_pcie *pcie)
 }
 
 /* Fixup Kernel DT for PCIe */
-void ft_pci_setup_ls(void *blob, bd_t *bd)
+void ft_pci_setup_ls(void *blob, struct bd_info *bd)
 {
 	struct ls_pcie *pcie;
 
@@ -279,7 +279,7 @@ void ft_pci_setup_ls(void *blob, bd_t *bd)
 }
 
 #else /* !CONFIG_OF_BOARD_SETUP */
-void ft_pci_setup_ls(void *blob, bd_t *bd)
+void ft_pci_setup_ls(void *blob, struct bd_info *bd)
 {
 }
 #endif
diff --git a/drivers/pci/pcie_layerscape_fixup_common.c b/drivers/pci/pcie_layerscape_fixup_common.c
index c11c691b86..fef0a75f11 100644
--- a/drivers/pci/pcie_layerscape_fixup_common.c
+++ b/drivers/pci/pcie_layerscape_fixup_common.c
@@ -13,7 +13,7 @@
 #include <asm/arch/soc.h>
 #include "pcie_layerscape_fixup_common.h"
 
-void ft_pci_setup(void *blob, bd_t *bd)
+void ft_pci_setup(void *blob, struct bd_info *bd)
 {
 #if defined(CONFIG_PCIE_LAYERSCAPE_GEN4)
 	uint svr;
diff --git a/drivers/pci/pcie_layerscape_fixup_common.h b/drivers/pci/pcie_layerscape_fixup_common.h
index e1970a5790..70bd3f0cba 100644
--- a/drivers/pci/pcie_layerscape_fixup_common.h
+++ b/drivers/pci/pcie_layerscape_fixup_common.h
@@ -11,10 +11,10 @@
 
 #include <common.h>
 
-void ft_pci_setup_ls(void *blob, bd_t *bd);
+void ft_pci_setup_ls(void *blob, struct bd_info *bd);
 
 #ifdef CONFIG_PCIE_LAYERSCAPE_GEN4
-void ft_pci_setup_ls_gen4(void *blob, bd_t *bd);
+void ft_pci_setup_ls_gen4(void *blob, struct bd_info *bd);
 #endif /* CONFIG_PCIE_LAYERSCAPE_GEN4 */
 int pcie_next_streamid(int currentid, int id);
 int pcie_board_fix_fdt(void *fdt);
diff --git a/drivers/pci/pcie_layerscape_gen4_fixup.c b/drivers/pci/pcie_layerscape_gen4_fixup.c
index 1975004e59..375ce45839 100644
--- a/drivers/pci/pcie_layerscape_gen4_fixup.c
+++ b/drivers/pci/pcie_layerscape_gen4_fixup.c
@@ -225,7 +225,7 @@ static void ft_pcie_layerscape_gen4_setup(void *blob, struct ls_pcie_g4 *pcie)
 }
 
 /* Fixup Kernel DT for PCIe */
-void ft_pci_setup_ls_gen4(void *blob, bd_t *bd)
+void ft_pci_setup_ls_gen4(void *blob, struct bd_info *bd)
 {
 	struct ls_pcie_g4 *pcie;
 
@@ -238,7 +238,7 @@ void ft_pci_setup_ls_gen4(void *blob, bd_t *bd)
 }
 
 #else /* !CONFIG_OF_BOARD_SETUP */
-void ft_pci_setup_ls_gen4(void *blob, bd_t *bd)
+void ft_pci_setup_ls_gen4(void *blob, struct bd_info *bd)
 {
 }
 #endif
diff --git a/drivers/qe/uec.c b/drivers/qe/uec.c
index 849f191d6d..0143454387 100644
--- a/drivers/qe/uec.c
+++ b/drivers/qe/uec.c
@@ -1189,7 +1189,7 @@ static int uec_startup(uec_private_t *uec)
 	return 0;
 }
 
-static int uec_init(struct eth_device* dev, bd_t *bd)
+static int uec_init(struct eth_device* dev, struct bd_info *bd)
 {
 	uec_private_t		*uec;
 	int			err, i;
@@ -1349,7 +1349,7 @@ static int uec_recv(struct eth_device* dev)
 	return 1;
 }
 
-int uec_initialize(bd_t *bis, uec_info_t *uec_info)
+int uec_initialize(struct bd_info *bis, uec_info_t *uec_info)
 {
 	struct eth_device	*dev;
 	int			i;
@@ -1416,7 +1416,7 @@ int uec_initialize(bd_t *bis, uec_info_t *uec_info)
 	return 1;
 }
 
-int uec_eth_init(bd_t *bis, uec_info_t *uecs, int num)
+int uec_eth_init(struct bd_info *bis, uec_info_t *uecs, int num)
 {
 	int i;
 
@@ -1426,7 +1426,7 @@ int uec_eth_init(bd_t *bis, uec_info_t *uecs, int num)
 	return 0;
 }
 
-int uec_standard_init(bd_t *bis)
+int uec_standard_init(struct bd_info *bis)
 {
 	return uec_eth_init(bis, uec_info, ARRAY_SIZE(uec_info));
 }
diff --git a/drivers/qe/uec.h b/drivers/qe/uec.h
index 5f8baefb10..6de2ac44f8 100644
--- a/drivers/qe/uec.h
+++ b/drivers/qe/uec.h
@@ -735,7 +735,7 @@ typedef struct uec_private {
 	int				oldlink;
 } uec_private_t;
 
-int uec_initialize(bd_t *bis, uec_info_t *uec_info);
-int uec_eth_init(bd_t *bis, uec_info_t *uecs, int num);
-int uec_standard_init(bd_t *bis);
+int uec_initialize(struct bd_info *bis, uec_info_t *uec_info);
+int uec_eth_init(struct bd_info *bis, uec_info_t *uecs, int num);
+int uec_standard_init(struct bd_info *bis);
 #endif /* __UEC_H__ */
diff --git a/drivers/usb/common/fsl-dt-fixup.c b/drivers/usb/common/fsl-dt-fixup.c
index 0759ec774a..4d7a2acd8e 100644
--- a/drivers/usb/common/fsl-dt-fixup.c
+++ b/drivers/usb/common/fsl-dt-fixup.c
@@ -132,7 +132,7 @@ static int fsl_fdt_fixup_erratum(int *usb_erratum_off, void *blob,
 	return 0;
 }
 
-void fsl_fdt_fixup_dr_usb(void *blob, bd_t *bd)
+void fsl_fdt_fixup_dr_usb(void *blob, struct bd_info *bd)
 {
 	static const char * const modes[] = { "host", "peripheral", "otg" };
 	static const char * const phys[] = { "ulpi", "utmi", "utmi_dual" };
diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c
index db75ae2498..ac4a27fff2 100644
--- a/drivers/usb/eth/asix.c
+++ b/drivers/usb/eth/asix.c
@@ -498,7 +498,7 @@ static int asix_send_common(struct ueth_data *dev, void *packet, int length)
 /*
  * Asix callbacks
  */
-static int asix_init(struct eth_device *eth, bd_t *bd)
+static int asix_init(struct eth_device *eth, struct bd_info *bd)
 {
 	struct ueth_data *dev = (struct ueth_data *)eth->priv;
 
diff --git a/drivers/usb/eth/asix88179.c b/drivers/usb/eth/asix88179.c
index 381bef2bed..c142b8b19b 100644
--- a/drivers/usb/eth/asix88179.c
+++ b/drivers/usb/eth/asix88179.c
@@ -509,7 +509,7 @@ static int asix_send_common(struct ueth_data *dev,
 /*
  * Asix callbacks
  */
-static int asix_init(struct eth_device *eth, bd_t *bd)
+static int asix_init(struct eth_device *eth, struct bd_info *bd)
 {
 	struct ueth_data *dev = (struct ueth_data *)eth->priv;
 	struct asix_private *dev_priv = (struct asix_private *)dev->dev_priv;
diff --git a/drivers/usb/eth/mcs7830.c b/drivers/usb/eth/mcs7830.c
index 0cb7dbc8fb..c829a436a3 100644
--- a/drivers/usb/eth/mcs7830.c
+++ b/drivers/usb/eth/mcs7830.c
@@ -586,7 +586,7 @@ static int mcs7830_recv_common(struct ueth_data *ueth, uint8_t *buf)
  * ensures that the link is up and subsequent send() and recv() calls can
  * exchange ethernet frames
  */
-static int mcs7830_init(struct eth_device *eth, bd_t *bd)
+static int mcs7830_init(struct eth_device *eth, struct bd_info *bd)
 {
 	struct ueth_data *dev = eth->priv;
 
diff --git a/drivers/usb/eth/r8152.c b/drivers/usb/eth/r8152.c
index f201a1789b..1845d957f9 100644
--- a/drivers/usb/eth/r8152.c
+++ b/drivers/usb/eth/r8152.c
@@ -1249,7 +1249,7 @@ static int r8152_send_common(struct ueth_data *ueth, void *packet, int length)
 }
 
 #ifndef CONFIG_DM_ETH
-static int r8152_init(struct eth_device *eth, bd_t *bd)
+static int r8152_init(struct eth_device *eth, struct bd_info *bd)
 {
 	struct ueth_data *dev = (struct ueth_data *)eth->priv;
 	struct r8152 *tp = (struct r8152 *)dev->dev_priv;
diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c
index d3532df141..b293a808a3 100644
--- a/drivers/usb/eth/smsc95xx.c
+++ b/drivers/usb/eth/smsc95xx.c
@@ -716,7 +716,7 @@ static int smsc95xx_send_common(struct ueth_data *dev, void *packet, int length)
 /*
  * Smsc95xx callbacks
  */
-static int smsc95xx_init(struct eth_device *eth, bd_t *bd)
+static int smsc95xx_init(struct eth_device *eth, struct bd_info *bd)
 {
 	struct ueth_data *dev = (struct ueth_data *)eth->priv;
 	struct usb_device *udev = dev->pusb_dev;
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index 6f04523f15..a939918e97 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -2523,7 +2523,7 @@ static void _usb_eth_halt(struct ether_priv *priv)
 }
 
 #ifndef CONFIG_DM_ETH
-static int usb_eth_init(struct eth_device *netdev, bd_t *bd)
+static int usb_eth_init(struct eth_device *netdev, struct bd_info *bd)
 {
 	struct ether_priv *priv = (struct ether_priv *)netdev->priv;
 
@@ -2571,7 +2571,7 @@ void usb_eth_halt(struct eth_device *netdev)
 	_usb_eth_halt(priv);
 }
 
-int usb_eth_initialize(bd_t *bi)
+int usb_eth_initialize(struct bd_info *bi)
 {
 	struct eth_device *netdev = &l_priv->netdev;
 
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 6495e22b1a..badade353e 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -1982,7 +1982,7 @@ static void *video_logo(void)
 
 static int cfb_fb_is_in_dram(void)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) || \
 defined(CONFIG_SANDBOX) || defined(CONFIG_X86)
 	ulong start, end;
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 2eff311fa4..b1543b534f 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -22,9 +22,9 @@
  */
 int arch_fixup_fdt(void *blob);
 
-void ft_cpu_setup(void *blob, bd_t *bd);
+void ft_cpu_setup(void *blob, struct bd_info *bd);
 
-void ft_pci_setup(void *blob, bd_t *bd);
+void ft_pci_setup(void *blob, struct bd_info *bd);
 
 u32 fdt_getprop_u32_default_node(const void *fdt, int off, int cell,
 				const char *prop, const u32 dflt);
@@ -137,9 +137,9 @@ void fdt_fixup_qe_firmware(void *fdt);
 int fdt_fixup_display(void *blob, const char *path, const char *display);
 
 #if defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL)
-void fsl_fdt_fixup_dr_usb(void *blob, bd_t *bd);
+void fsl_fdt_fixup_dr_usb(void *blob, struct bd_info *bd);
 #else
-static inline void fsl_fdt_fixup_dr_usb(void *blob, bd_t *bd) {}
+static inline void fsl_fdt_fixup_dr_usb(void *blob, struct bd_info *bd) {}
 #endif /* defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL) */
 
 #if defined(CONFIG_SYS_FSL_SEC_COMPAT)
@@ -183,7 +183,7 @@ int fdt_find_or_add_subnode(void *fdt, int parentoffset, const char *name);
  * @param bd_t		Pointer to board data
  * @return 0 if ok, or -FDT_ERR_... on error
  */
-int ft_board_setup(void *blob, bd_t *bd);
+int ft_board_setup(void *blob, struct bd_info *bd);
 
 /*
  * The keystone2 SOC requires all 32 bit aliased addresses to be converted
@@ -191,9 +191,9 @@ int ft_board_setup(void *blob, bd_t *bd);
  * are added or modified by the image_setup_libfdt(). The ft_board_setup_ex()
  * called at the end of the image_setup_libfdt() is to do that convertion.
  */
-void ft_board_setup_ex(void *blob, bd_t *bd);
-void ft_cpu_setup(void *blob, bd_t *bd);
-void ft_pci_setup(void *blob, bd_t *bd);
+void ft_board_setup_ex(void *blob, struct bd_info *bd);
+void ft_cpu_setup(void *blob, struct bd_info *bd);
+void ft_pci_setup(void *blob, struct bd_info *bd);
 
 /**
  * Add system-specific data to the FDT before booting the OS.
@@ -205,7 +205,7 @@ void ft_pci_setup(void *blob, bd_t *bd);
  * @param bd_t		Pointer to board data
  * @return 0 if ok, or -FDT_ERR_... on error
  */
-int ft_system_setup(void *blob, bd_t *bd);
+int ft_system_setup(void *blob, struct bd_info *bd);
 
 void set_working_fdt_addr(ulong addr);
 
diff --git a/include/fm_eth.h b/include/fm_eth.h
index 729ad63cd5..44da014c66 100644
--- a/include/fm_eth.h
+++ b/include/fm_eth.h
@@ -199,10 +199,10 @@ struct memac_mdio_info {
 	char *name;
 };
 
-int fm_tgec_mdio_init(bd_t *bis, struct tgec_mdio_info *info);
-int fm_memac_mdio_init(bd_t *bis, struct memac_mdio_info *info);
+int fm_tgec_mdio_init(struct bd_info *bis, struct tgec_mdio_info *info);
+int fm_memac_mdio_init(struct bd_info *bis, struct memac_mdio_info *info);
 
-int fm_standard_init(bd_t *bis);
+int fm_standard_init(struct bd_info *bis);
 void fman_enet_init(void);
 void fdt_fixup_fman_ethernet(void *fdt);
 phy_interface_t fm_info_get_enet_if(enum fm_port port);
diff --git a/include/fsl-mc/fsl_mc.h b/include/fsl-mc/fsl_mc.h
index 6cbcd39f12..a8b072ad7c 100644
--- a/include/fsl-mc/fsl_mc.h
+++ b/include/fsl-mc/fsl_mc.h
@@ -62,7 +62,7 @@ int get_aiop_apply_status(void);
 #endif
 u64 mc_get_dram_addr(void);
 unsigned long mc_get_dram_block_size(void);
-int fsl_mc_ldpaa_init(bd_t *bis);
-int fsl_mc_ldpaa_exit(bd_t *bd);
+int fsl_mc_ldpaa_init(struct bd_info *bis);
+int fsl_mc_ldpaa_exit(struct bd_info *bd);
 void mc_env_boot(void);
 #endif
diff --git a/include/fsl_esdhc.h b/include/fsl_esdhc.h
index e148eaa880..2615d1ad2f 100644
--- a/include/fsl_esdhc.h
+++ b/include/fsl_esdhc.h
@@ -204,16 +204,16 @@ struct fsl_esdhc_cfg {
 #endif
 
 #ifdef CONFIG_FSL_ESDHC
-int fsl_esdhc_mmc_init(bd_t *bis);
-int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg);
-void fdt_fixup_esdhc(void *blob, bd_t *bd);
+int fsl_esdhc_mmc_init(struct bd_info *bis);
+int fsl_esdhc_initialize(struct bd_info *bis, struct fsl_esdhc_cfg *cfg);
+void fdt_fixup_esdhc(void *blob, struct bd_info *bd);
 #ifdef MMC_SUPPORTS_TUNING
 static inline int fsl_esdhc_execute_tuning(struct udevice *dev,
 					   uint32_t opcode) {return 0; }
 #endif
 #else
-static inline int fsl_esdhc_mmc_init(bd_t *bis) { return -ENOSYS; }
-static inline void fdt_fixup_esdhc(void *blob, bd_t *bd) {}
+static inline int fsl_esdhc_mmc_init(struct bd_info *bis) { return -ENOSYS; }
+static inline void fdt_fixup_esdhc(void *blob, struct bd_info *bd) {}
 #endif /* CONFIG_FSL_ESDHC */
 void __noreturn mmc_boot(void);
 void mmc_spl_load_image(uint32_t offs, unsigned int size, void *vdst);
diff --git a/include/fsl_esdhc_imx.h b/include/fsl_esdhc_imx.h
index 279a66d9bf..45ed635a77 100644
--- a/include/fsl_esdhc_imx.h
+++ b/include/fsl_esdhc_imx.h
@@ -259,12 +259,12 @@ struct fsl_esdhc_cfg {
 #endif
 
 #ifdef CONFIG_FSL_ESDHC_IMX
-int fsl_esdhc_mmc_init(bd_t *bis);
-int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg);
-void fdt_fixup_esdhc(void *blob, bd_t *bd);
+int fsl_esdhc_mmc_init(struct bd_info *bis);
+int fsl_esdhc_initialize(struct bd_info *bis, struct fsl_esdhc_cfg *cfg);
+void fdt_fixup_esdhc(void *blob, struct bd_info *bd);
 #else
-static inline int fsl_esdhc_mmc_init(bd_t *bis) { return -ENOSYS; }
-static inline void fdt_fixup_esdhc(void *blob, bd_t *bd) {}
+static inline int fsl_esdhc_mmc_init(struct bd_info *bis) { return -ENOSYS; }
+static inline void fdt_fixup_esdhc(void *blob, struct bd_info *bd) {}
 #endif /* CONFIG_FSL_ESDHC_IMX */
 void __noreturn mmc_boot(void);
 void mmc_spl_load_image(uint32_t offs, unsigned int size, void *vdst);
diff --git a/include/fsl_mdio.h b/include/fsl_mdio.h
index 8857d50910..41cb73717b 100644
--- a/include/fsl_mdio.h
+++ b/include/fsl_mdio.h
@@ -59,6 +59,6 @@ struct fsl_pq_mdio_info {
 	struct tsec_mii_mng __iomem *regs;
 	char *name;
 };
-int fsl_pq_mdio_init(bd_t *bis, struct fsl_pq_mdio_info *info);
+int fsl_pq_mdio_init(struct bd_info *bis, struct fsl_pq_mdio_info *info);
 
 #endif /* __FSL_PHY_H__ */
diff --git a/include/image.h b/include/image.h
index ad81dad444..428421e9c1 100644
--- a/include/image.h
+++ b/include/image.h
@@ -393,7 +393,7 @@ typedef struct bootm_headers {
 	ulong		initrd_end;
 	ulong		cmdline_start;
 	ulong		cmdline_end;
-	bd_t		*kbd;
+	struct bd_info		*kbd;
 #endif
 
 	int		verify;		/* env_get("verify")[0] != 'n' */
@@ -736,7 +736,7 @@ int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len,
 		  ulong *initrd_start, ulong *initrd_end);
 int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end);
 #ifdef CONFIG_SYS_BOOT_GET_KBD
-int boot_get_kbd(struct lmb *lmb, bd_t **kbd);
+int boot_get_kbd(struct lmb *lmb, struct bd_info **kbd);
 #endif /* CONFIG_SYS_BOOT_GET_KBD */
 #endif /* !USE_HOSTCC */
 
diff --git a/include/lmb.h b/include/lmb.h
index 3b338dfee0..73b7a5cbe3 100644
--- a/include/lmb.h
+++ b/include/lmb.h
@@ -31,7 +31,8 @@ struct lmb {
 };
 
 extern void lmb_init(struct lmb *lmb);
-extern void lmb_init_and_reserve(struct lmb *lmb, bd_t *bd, void *fdt_blob);
+extern void lmb_init_and_reserve(struct lmb *lmb, struct bd_info *bd,
+				 void *fdt_blob);
 extern void lmb_init_and_reserve_range(struct lmb *lmb, phys_addr_t base,
 				       phys_size_t size, void *fdt_blob);
 extern long lmb_add(struct lmb *lmb, phys_addr_t base, phys_size_t size);
diff --git a/include/mvebu_mmc.h b/include/mvebu_mmc.h
index 7397165f67..a35e5a12ce 100644
--- a/include/mvebu_mmc.h
+++ b/include/mvebu_mmc.h
@@ -269,6 +269,6 @@ struct mvebu_mmc_cfg {
  * Functions prototypes
  */
 
-int mvebu_mmc_init(bd_t *bis);
+int mvebu_mmc_init(struct bd_info *bis);
 
 #endif /* __MVEBU_MMC_H__ */
diff --git a/include/net/pfe_eth/pfe_eth.h b/include/net/pfe_eth/pfe_eth.h
index 116a2b2c1d..92dc46ee9a 100644
--- a/include/net/pfe_eth/pfe_eth.h
+++ b/include/net/pfe_eth/pfe_eth.h
@@ -97,7 +97,7 @@ int pfe_remove(struct pfe_ddr_address *pfe_addr);
 struct mii_dev *pfe_mdio_init(struct pfe_mdio_info *mdio_info);
 void pfe_set_mdio(int dev_id, struct mii_dev *bus);
 void pfe_set_phy_address_mode(int dev_id, int phy_id, int phy_mode);
-int gemac_initialize(bd_t *bis, int dev_id, char *devname);
+int gemac_initialize(struct bd_info *bis, int dev_id, char *devname);
 int pfe_init(struct pfe_ddr_address *pfe_addr);
 int pfe_eth_board_init(struct udevice *dev);
 
diff --git a/include/netdev.h b/include/netdev.h
index f2d21c45d0..b1eb5fc104 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -21,63 +21,65 @@
  *     -1: failure
  */
 
-int board_eth_init(bd_t *bis);
+int board_eth_init(struct bd_info *bis);
 int board_interface_eth_init(struct udevice *dev,
 			     phy_interface_t interface_type);
-int cpu_eth_init(bd_t *bis);
+int cpu_eth_init(struct bd_info *bis);
 
 /* Driver initialization prototypes */
-int at91emac_register(bd_t *bis, unsigned long iobase);
-int ax88180_initialize(bd_t *bis);
-int bcm_sf2_eth_register(bd_t *bis, u8 dev_num);
-int bfin_EMAC_initialize(bd_t *bis);
+int at91emac_register(struct bd_info *bis, unsigned long iobase);
+int ax88180_initialize(struct bd_info *bis);
+int bcm_sf2_eth_register(struct bd_info *bis, u8 dev_num);
+int bfin_EMAC_initialize(struct bd_info *bis);
 int calxedaxgmac_initialize(u32 id, ulong base_addr);
 int cs8900_initialize(u8 dev_num, int base_addr);
-int dc21x4x_initialize(bd_t *bis);
+int dc21x4x_initialize(struct bd_info *bis);
 int designware_initialize(ulong base_addr, u32 interface);
-int dm9000_initialize(bd_t *bis);
+int dm9000_initialize(struct bd_info *bis);
 int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr);
-int e1000_initialize(bd_t *bis);
-int eepro100_initialize(bd_t *bis);
+int e1000_initialize(struct bd_info *bis);
+int eepro100_initialize(struct bd_info *bis);
 int ep93xx_eth_initialize(u8 dev_num, int base_addr);
-int eth_3com_initialize (bd_t * bis);
+int eth_3com_initialize (struct bd_info * bis);
 int ethoc_initialize(u8 dev_num, int base_addr);
-int fec_initialize (bd_t *bis);
-int fecmxc_initialize(bd_t *bis);
-int fecmxc_initialize_multi(bd_t *bis, int dev_id, int phy_id, uint32_t addr);
-int ftmac100_initialize(bd_t *bits);
-int ftmac110_initialize(bd_t *bits);
-void gt6426x_eth_initialize(bd_t *bis);
+int fec_initialize (struct bd_info *bis);
+int fecmxc_initialize(struct bd_info *bis);
+int fecmxc_initialize_multi(struct bd_info *bis, int dev_id, int phy_id,
+			    uint32_t addr);
+int ftmac100_initialize(struct bd_info *bits);
+int ftmac110_initialize(struct bd_info *bits);
+void gt6426x_eth_initialize(struct bd_info *bis);
 int ks8851_mll_initialize(u8 dev_num, int base_addr);
 int lan91c96_initialize(u8 dev_num, int base_addr);
-int lpc32xx_eth_initialize(bd_t *bis);
+int lpc32xx_eth_initialize(struct bd_info *bis);
 int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
-int mcdmafec_initialize(bd_t *bis);
-int mcffec_initialize(bd_t *bis);
-int mvgbe_initialize(bd_t *bis);
-int mvneta_initialize(bd_t *bis, int base_addr, int devnum, int phy_addr);
-int natsemi_initialize(bd_t *bis);
+int mcdmafec_initialize(struct bd_info *bis);
+int mcffec_initialize(struct bd_info *bis);
+int mvgbe_initialize(struct bd_info *bis);
+int mvneta_initialize(struct bd_info *bis, int base_addr, int devnum,
+		      int phy_addr);
+int natsemi_initialize(struct bd_info *bis);
 int ne2k_register(void);
-int npe_initialize(bd_t *bis);
-int ns8382x_initialize(bd_t *bis);
-int pcnet_initialize(bd_t *bis);
-int ppc_4xx_eth_initialize (bd_t *bis);
-int rtl8139_initialize(bd_t *bis);
-int rtl8169_initialize(bd_t *bis);
-int scc_initialize(bd_t *bis);
-int sh_eth_initialize(bd_t *bis);
-int skge_initialize(bd_t *bis);
+int npe_initialize(struct bd_info *bis);
+int ns8382x_initialize(struct bd_info *bis);
+int pcnet_initialize(struct bd_info *bis);
+int ppc_4xx_eth_initialize (struct bd_info *bis);
+int rtl8139_initialize(struct bd_info *bis);
+int rtl8169_initialize(struct bd_info *bis);
+int scc_initialize(struct bd_info *bis);
+int sh_eth_initialize(struct bd_info *bis);
+int skge_initialize(struct bd_info *bis);
 int smc91111_initialize(u8 dev_num, int base_addr);
 int smc911x_initialize(u8 dev_num, int base_addr);
-int uec_standard_init(bd_t *bis);
-int uli526x_initialize(bd_t *bis);
+int uec_standard_init(struct bd_info *bis);
+int uli526x_initialize(struct bd_info *bis);
 int armada100_fec_register(unsigned long base_addr);
 
 /* Boards with PCI network controllers can call this from their board_eth_init()
  * function to initialize whatever's on board.
  * Return value is total # of devices found */
 
-static inline int pci_eth_init(bd_t *bis)
+static inline int pci_eth_init(struct bd_info *bis)
 {
 	int num = 0;
 
@@ -119,7 +121,7 @@ struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id);
 
 #ifdef CONFIG_PHYLIB
 struct phy_device;
-int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr,
+int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
 		struct mii_dev *bus, struct phy_device *phydev);
 #else
 /*
diff --git a/include/tsec.h b/include/tsec.h
index b17fa957df..43255e538f 100644
--- a/include/tsec.h
+++ b/include/tsec.h
@@ -426,8 +426,9 @@ struct tsec_info_struct {
 };
 
 #ifndef CONFIG_DM_ETH
-int tsec_standard_init(bd_t *bis);
-int tsec_eth_init(bd_t *bis, struct tsec_info_struct *tsec_info, int num);
+int tsec_standard_init(struct bd_info *bis);
+int tsec_eth_init(struct bd_info *bis, struct tsec_info_struct *tsec_info,
+		  int num);
 #endif
 
 #endif /* __TSEC_H */
diff --git a/include/vsc9953.h b/include/vsc9953.h
index 5d6fc7716c..a9c84b4b50 100644
--- a/include/vsc9953.h
+++ b/include/vsc9953.h
@@ -712,7 +712,7 @@ struct vsc9953_info {
 	struct vsc9953_port_info	port[VSC9953_MAX_PORTS];
 };
 
-void vsc9953_init(bd_t *bis);
+void vsc9953_init(struct bd_info *bis);
 
 void vsc9953_port_info_set_mdio(int port_no, struct mii_dev *bus);
 void vsc9953_port_info_set_phy_address(int port_no, int address);
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 1f2b763acc..262cb3ad66 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -1580,7 +1580,8 @@ int fdtdec_resetup(int *rescan)
 
 #ifdef CONFIG_NR_DRAM_BANKS
 int fdtdec_decode_ram_size(const void *blob, const char *area, int board_id,
-			   phys_addr_t *basep, phys_size_t *sizep, bd_t *bd)
+			   phys_addr_t *basep, phys_size_t *sizep,
+			   struct bd_info *bd)
 {
 	int addr_cells, size_cells;
 	const u32 *cell, *end;
diff --git a/lib/lmb.c b/lib/lmb.c
index 008bcc7930..2d680d8d02 100644
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -111,7 +111,7 @@ static void lmb_reserve_common(struct lmb *lmb, void *fdt_blob)
 }
 
 /* Initialize the struct, add memory and call arch/board reserve functions */
-void lmb_init_and_reserve(struct lmb *lmb, bd_t *bd, void *fdt_blob)
+void lmb_init_and_reserve(struct lmb *lmb, struct bd_info *bd, void *fdt_blob)
 {
 #ifdef CONFIG_NR_DRAM_BANKS
 	int i;
diff --git a/net/eth_legacy.c b/net/eth_legacy.c
index 35f8d398a6..340469ba3a 100644
--- a/net/eth_legacy.c
+++ b/net/eth_legacy.c
@@ -23,12 +23,12 @@ DECLARE_GLOBAL_DATA_PTR;
  * CPU and board-specific Ethernet initializations.  Aliased function
  * signals caller to move on
  */
-static int __def_eth_init(bd_t *bis)
+static int __def_eth_init(struct bd_info *bis)
 {
 	return -1;
 }
-int cpu_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));
-int board_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));
+int cpu_eth_init(struct bd_info *bis) __attribute__((weak, alias("__def_eth_init")));
+int board_eth_init(struct bd_info *bis) __attribute__((weak, alias("__def_eth_init")));
 
 #ifdef CONFIG_API
 static struct {
diff --git a/post/drivers/memory.c b/post/drivers/memory.c
index 9cc48b1ccc..e90ada3ce8 100644
--- a/post/drivers/memory.c
+++ b/post/drivers/memory.c
@@ -470,7 +470,7 @@ static int memory_post_tests(unsigned long start, unsigned long size)
 __attribute__((weak))
 int arch_memory_test_prepare(u32 *vstart, u32 *size, phys_addr_t *phys_offset)
 {
-	bd_t *bd = gd->bd;
+	struct bd_info *bd = gd->bd;
 
 	*vstart = CONFIG_SYS_SDRAM_BASE;
 	*size = (gd->ram_size >= 256 << 20 ?
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] treewide: convert bd_t to struct bd_info manually
  2020-06-26  6:13 [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle Masahiro Yamada
@ 2020-06-26  6:13 ` Masahiro Yamada
  2020-07-17 20:58   ` Tom Rini
  2020-06-26  6:13 ` [PATCH 3/3] asm/u-boot.h: remove bd_t definitions Masahiro Yamada
  2020-07-17 20:58 ` [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle Tom Rini
  2 siblings, 1 reply; 6+ messages in thread
From: Masahiro Yamada @ 2020-06-26  6:13 UTC (permalink / raw)
  To: u-boot

Some code was not converted by coccinelle, somehow.

I manually fixed up the remaining, and comments, README docs.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 arch/m68k/cpu/mcf523x/cpu.c       | 2 +-
 arch/m68k/cpu/mcf52x2/cpu.c       | 2 +-
 arch/m68k/cpu/mcf532x/cpu.c       | 2 +-
 arch/m68k/cpu/mcf5445x/cpu.c      | 2 +-
 arch/m68k/cpu/mcf547x_8x/cpu.c    | 2 +-
 cmd/bootm.c                       | 2 +-
 doc/README.POST                   | 6 +++---
 doc/README.arm-relocation         | 4 ++--
 doc/README.atmel_mci              | 2 +-
 doc/README.console                | 2 +-
 doc/README.generic-board          | 2 +-
 doc/driver-model/ethernet.rst     | 2 +-
 drivers/net/fec_mxc.c             | 4 ++--
 drivers/net/ldpaa_eth/ldpaa_eth.c | 2 +-
 drivers/net/smc911x.c             | 2 +-
 15 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/arch/m68k/cpu/mcf523x/cpu.c b/arch/m68k/cpu/mcf523x/cpu.c
index a3a79fb4d2..8664231b5a 100644
--- a/arch/m68k/cpu/mcf523x/cpu.c
+++ b/arch/m68k/cpu/mcf523x/cpu.c
@@ -105,7 +105,7 @@ int watchdog_init(void)
 #if defined(CONFIG_MCFFEC)
 /* Default initializations for MCFFEC controllers.  To override,
  * create a board-specific function called:
- * 	int board_eth_init(bd_t *bis)
+ * 	int board_eth_init(struct bd_info *bis)
  */
 
 int cpu_eth_init(struct bd_info *bis)
diff --git a/arch/m68k/cpu/mcf52x2/cpu.c b/arch/m68k/cpu/mcf52x2/cpu.c
index 1ca28e46ce..8898a7562a 100644
--- a/arch/m68k/cpu/mcf52x2/cpu.c
+++ b/arch/m68k/cpu/mcf52x2/cpu.c
@@ -420,7 +420,7 @@ int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 #if defined(CONFIG_MCFFEC)
 /* Default initializations for MCFFEC controllers.  To override,
  * create a board-specific function called:
- * 	int board_eth_init(bd_t *bis)
+ * 	int board_eth_init(struct bd_info *bis)
  */
 
 int cpu_eth_init(struct bd_info *bis)
diff --git a/arch/m68k/cpu/mcf532x/cpu.c b/arch/m68k/cpu/mcf532x/cpu.c
index 805108f7ac..f1e6f734eb 100644
--- a/arch/m68k/cpu/mcf532x/cpu.c
+++ b/arch/m68k/cpu/mcf532x/cpu.c
@@ -147,7 +147,7 @@ int watchdog_init(void)
 #if defined(CONFIG_MCFFEC)
 /* Default initializations for MCFFEC controllers.  To override,
  * create a board-specific function called:
- * 	int board_eth_init(bd_t *bis)
+ * 	int board_eth_init(struct bd_info *bis)
  */
 int cpu_eth_init(struct bd_info *bis)
 {
diff --git a/arch/m68k/cpu/mcf5445x/cpu.c b/arch/m68k/cpu/mcf5445x/cpu.c
index f5c1947b22..ebe15ca518 100644
--- a/arch/m68k/cpu/mcf5445x/cpu.c
+++ b/arch/m68k/cpu/mcf5445x/cpu.c
@@ -109,7 +109,7 @@ int print_cpuinfo(void)
 #if defined(CONFIG_MCFFEC)
 /* Default initializations for MCFFEC controllers.  To override,
  * create a board-specific function called:
- * 	int board_eth_init(bd_t *bis)
+ * 	int board_eth_init(struct bd_info *bis)
  */
 
 int cpu_eth_init(struct bd_info *bis)
diff --git a/arch/m68k/cpu/mcf547x_8x/cpu.c b/arch/m68k/cpu/mcf547x_8x/cpu.c
index 76d2e77fc0..e53adeb46b 100644
--- a/arch/m68k/cpu/mcf547x_8x/cpu.c
+++ b/arch/m68k/cpu/mcf547x_8x/cpu.c
@@ -136,7 +136,7 @@ int watchdog_init(void)
 #if defined(CONFIG_FSLDMAFEC) || defined(CONFIG_MCFFEC)
 /* Default initializations for MCFFEC controllers.  To override,
  * create a board-specific function called:
- * 	int board_eth_init(bd_t *bis)
+ * 	int board_eth_init(struct bd_info *bis)
  */
 
 int cpu_eth_init(struct bd_info *bis)
diff --git a/cmd/bootm.c b/cmd/bootm.c
index d5f877cb54..e6b0e04413 100644
--- a/cmd/bootm.c
+++ b/cmd/bootm.c
@@ -185,7 +185,7 @@ static char bootm_help_text[] =
 	"\tfdt     - relocate flat device tree\n"
 #endif
 	"\tcmdline - OS specific command line processing/setup\n"
-	"\tbdt     - OS specific bd_t processing\n"
+	"\tbdt     - OS specific bd_info processing\n"
 	"\tprep    - OS specific prep before relocation or go\n"
 #if defined(CONFIG_TRACE)
 	"\tfake    - OS specific fake start without go\n"
diff --git a/doc/README.POST b/doc/README.POST
index 43f424f60f..1d1c25bdf9 100644
--- a/doc/README.POST
+++ b/doc/README.POST
@@ -126,7 +126,7 @@ The following flags will be defined:
 
 The POST layer will export the following interface routines:
 
-  o) int post_run(bd_t *bd, char *name, int flags);
+  o) int post_run(struct bd_info *bd, char *name, int flags);
 
      This routine will run the test (or the group of tests) specified
      by the name and flag arguments. More specifically, if the name
@@ -175,7 +175,7 @@ struct post_test {
     char *cmd;
     char *desc;
     int flags;
-    int (*test)(bd_t *bd, int flags);
+    int (*test)(struct bd_info *bd, int flags);
 };
 
   o) name
@@ -364,7 +364,7 @@ declaration/body:
 ...
 
 ...
-int watchdog_post_test(bd_t *bd, int flags)
+int watchdog_post_test(struct bd_info *bd, int flags)
 {
 	unsigned long start_time;
 
diff --git a/doc/README.arm-relocation b/doc/README.arm-relocation
index d2a7e8122e..bc6644911b 100644
--- a/doc/README.arm-relocation
+++ b/doc/README.arm-relocation
@@ -27,7 +27,7 @@ At board level:
 
 TODO:	move also dram initialization there on boards where it is possible.
 
-	Setup of the the bd_t dram bank info is done in the new function
+	Setup of the bd_info dram bank info is done in the new function
 	dram_init_banksize() called after bd is accessible.
 
 At lib level:
@@ -65,7 +65,7 @@ in f) could be saved.
 
 TODO
 
-- fill in bd_t infos (check)
+- fill in struct bd_info infos (check)
 - adapt all boards
 
 - maybe adapt CONFIG_SYS_TEXT_BASE (this must be checked from board maintainers)
diff --git a/doc/README.atmel_mci b/doc/README.atmel_mci
index 6c027b089f..00e64ba0c7 100644
--- a/doc/README.atmel_mci
+++ b/doc/README.atmel_mci
@@ -47,7 +47,7 @@ the board specific file need added:
 ...
 #ifdef CONFIG_GENERIC_ATMEL_MCI
 /* this is a weak define that we are overriding */
-int board_mmc_init(bd_t *bd)
+int board_mmc_init(struct bd_info *bd)
 {
 	/* Enable clock */
 	at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_MCI);
diff --git a/doc/README.console b/doc/README.console
index 02428fb396..9f5812c89d 100644
--- a/doc/README.console
+++ b/doc/README.console
@@ -62,7 +62,7 @@ U-Boot relocation (done in 'board_init_r' in arch/*/lib/board.c).
 HOW CAN I USE STANDARD FILE INTO APPLICATIONS?
 ----------------------------------------------
 
-Use the 'bd_mon_fnc' field of the bd_t structure passed to the
+Use the 'bd_mon_fnc' field of the bd_info structure passed to the
 application to do everything you want with the console.
 
 But REMEMBER that that will work only if you have not overwritten any
diff --git a/doc/README.generic-board b/doc/README.generic-board
index 32ddb1d19a..bc35179fbf 100644
--- a/doc/README.generic-board
+++ b/doc/README.generic-board
@@ -22,7 +22,7 @@ The main change is that the arch/<arch>/lib/board.c file is removed in
 favour of common/board_f.c (for pre-relocation init) and common/board_r.c
 (for post-relocation init).
 
-Related to this, the global_data and bd_t structures now have a core set of
+Related to this, the global_data and bd_info structures now have a core set of
 fields which are common to all architectures. Architecture-specific fields
 have been moved to separate structures.
 
diff --git a/doc/driver-model/ethernet.rst b/doc/driver-model/ethernet.rst
index 359a0523cf..1f5310daaa 100644
--- a/doc/driver-model/ethernet.rst
+++ b/doc/driver-model/ethernet.rst
@@ -250,7 +250,7 @@ register function.  The pseudo code would look something like:
 
 .. code-block:: c
 
-	int ape_register(bd_t *bis, int iobase)
+	int ape_register(struct bd_info *bis, int iobase)
 	{
 		struct ape_priv *priv;
 		struct eth_device *dev;
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 469c7b7cef..b3d4acb106 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -588,7 +588,7 @@ static int fec_open(struct eth_device *edev)
 #ifdef CONFIG_DM_ETH
 static int fecmxc_init(struct udevice *dev)
 #else
-static int fec_init(struct eth_device *dev, bd_t *bd)
+static int fec_init(struct eth_device *dev, struct bd_info *bd)
 #endif
 {
 #ifdef CONFIG_DM_ETH
@@ -1105,7 +1105,7 @@ struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id)
 int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
 		struct mii_dev *bus, struct phy_device *phydev)
 #else
-static int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr,
+static int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
 		struct mii_dev *bus, int phy_id)
 #endif
 {
diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c b/drivers/net/ldpaa_eth/ldpaa_eth.c
index 116b307b67..67da549fdb 100644
--- a/drivers/net/ldpaa_eth/ldpaa_eth.c
+++ b/drivers/net/ldpaa_eth/ldpaa_eth.c
@@ -514,7 +514,7 @@ static int ldpaa_eth_open(struct udevice *dev)
 	struct eth_pdata *plat = dev_get_platdata(dev);
 	struct ldpaa_eth_priv *priv = dev_get_priv(dev);
 #else
-static int ldpaa_eth_open(struct eth_device *net_dev, bd_t *bd)
+static int ldpaa_eth_open(struct eth_device *net_dev, struct bd_info *bd)
 {
 	struct ldpaa_eth_priv *priv = (struct ldpaa_eth_priv *)net_dev->priv;
 #endif
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 9d2790e561..0f5bb51a68 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -435,7 +435,7 @@ static int smc911x_initialize_mii(struct smc911x_priv *priv)
 }
 #endif
 
-static int smc911x_init(struct eth_device *dev, bd_t *bd)
+static int smc911x_init(struct eth_device *dev, struct bd_info *bd)
 {
 	struct smc911x_priv *priv = container_of(dev, struct smc911x_priv, dev);
 
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] asm/u-boot.h: remove bd_t definitions
  2020-06-26  6:13 [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle Masahiro Yamada
  2020-06-26  6:13 ` [PATCH 2/3] treewide: convert bd_t to struct bd_info manually Masahiro Yamada
@ 2020-06-26  6:13 ` Masahiro Yamada
  2020-07-17 20:58   ` Tom Rini
  2020-07-17 20:58 ` [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle Tom Rini
  2 siblings, 1 reply; 6+ messages in thread
From: Masahiro Yamada @ 2020-06-26  6:13 UTC (permalink / raw)
  To: u-boot

All the users of bd_t were converted to struct bd_info.

Remove the definitions.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 arch/nds32/include/asm/u-boot.h | 5 ++---
 arch/riscv/include/asm/u-boot.h | 5 ++---
 include/asm-generic/u-boot.h    | 4 ++--
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/arch/nds32/include/asm/u-boot.h b/arch/nds32/include/asm/u-boot.h
index 8c949e7fb7..815cb93030 100644
--- a/arch/nds32/include/asm/u-boot.h
+++ b/arch/nds32/include/asm/u-boot.h
@@ -21,8 +21,7 @@
 
 #include <asm/u-boot-nds32.h>
 
-
-typedef struct bd_info {
+struct bd_info {
 	unsigned long	bi_arch_number;	/* unique id for this board */
 	unsigned long	bi_boot_params;	/* where this board expects params */
 	unsigned long	bi_memstart;	/* start of DRAM memory */
@@ -37,7 +36,7 @@ typedef struct bd_info {
 		unsigned long start;
 		unsigned long size;
 	} bi_dram[CONFIG_NR_DRAM_BANKS];
-} bd_t;
+};
 
 /* For image.h:image_check_target_arch() */
 #define IH_ARCH_DEFAULT IH_ARCH_NDS32
diff --git a/arch/riscv/include/asm/u-boot.h b/arch/riscv/include/asm/u-boot.h
index 5ba8e77812..dac20bffda 100644
--- a/arch/riscv/include/asm/u-boot.h
+++ b/arch/riscv/include/asm/u-boot.h
@@ -20,8 +20,7 @@
 
 #include <asm/u-boot-riscv.h>
 
-
-typedef struct bd_info {
+struct bd_info {
 	unsigned long	bi_boot_params;	/* where this board expects params */
 	unsigned long	bi_memstart;	/* start of DRAM memory */
 	unsigned long	bi_memsize;	/* size	 of DRAM memory in bytes */
@@ -35,7 +34,7 @@ typedef struct bd_info {
 		unsigned long start;
 		unsigned long size;
 	} bi_dram[CONFIG_NR_DRAM_BANKS];
-} bd_t;
+};
 
 /* For image.h:image_check_target_arch() */
 #define IH_ARCH_DEFAULT IH_ARCH_RISCV
diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h
index 6f749736f1..4bf06fb379 100644
--- a/include/asm-generic/u-boot.h
+++ b/include/asm-generic/u-boot.h
@@ -26,7 +26,7 @@
 #include <asm/types.h>
 #include <linux/types.h>
 
-typedef struct bd_info {
+struct bd_info {
 	unsigned long	bi_memstart;	/* start of DRAM memory */
 	phys_size_t	bi_memsize;	/* size	 of DRAM memory in bytes */
 	unsigned long	bi_flashstart;	/* start of FLASH memory */
@@ -94,7 +94,7 @@ typedef struct bd_info {
 		phys_size_t size;
 	} bi_dram[CONFIG_NR_DRAM_BANKS];
 #endif /* CONFIG_NR_DRAM_BANKS */
-} bd_t;
+};
 
 #endif /* __ASSEMBLY__ */
 
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle
  2020-06-26  6:13 [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle Masahiro Yamada
  2020-06-26  6:13 ` [PATCH 2/3] treewide: convert bd_t to struct bd_info manually Masahiro Yamada
  2020-06-26  6:13 ` [PATCH 3/3] asm/u-boot.h: remove bd_t definitions Masahiro Yamada
@ 2020-07-17 20:58 ` Tom Rini
  2 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2020-07-17 20:58 UTC (permalink / raw)
  To: u-boot

On Fri, Jun 26, 2020 at 03:13:33PM +0900, Masahiro Yamada wrote:

> The Linux coding style guide (Documentation/process/coding-style.rst)
> clearly says:
> 
>   It's a **mistake** to use typedef for structures and pointers.
> 
> Besides, using typedef for structures is annoying when you try to make
> headers self-contained.
> 
> Let's say you have the following function declaration in a header:
> 
>   void foo(bd_t *bd);
> 
> This is not self-contained since bd_t is not defined.
> 
> To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h>
> 
>   #include <asm/u-boot.h>
>   void foo(bd_t *bd);
> 
> Then, the include direcective pulls in more bloat needlessly.
> 
> If you use 'struct bd_info' instead, it is enough to put a forward
> declaration as follows:
> 
>   struct bd_info;
>   void foo(struct bd_info *bd);
> 
> Right, typedef'ing bd_t is a mistake.
> 
> I used coccinelle to generate this commit.
> 
> The semantic patch that makes this change is as follows:
> 
>   <smpl>
>   @@
>   typedef bd_t;
>   @@
>   -bd_t
>   +struct bd_info
>   </smpl>
> 
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200717/968ee277/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/3] treewide: convert bd_t to struct bd_info manually
  2020-06-26  6:13 ` [PATCH 2/3] treewide: convert bd_t to struct bd_info manually Masahiro Yamada
@ 2020-07-17 20:58   ` Tom Rini
  0 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2020-07-17 20:58 UTC (permalink / raw)
  To: u-boot

On Fri, Jun 26, 2020 at 03:13:34PM +0900, Masahiro Yamada wrote:

> Some code was not converted by coccinelle, somehow.
> 
> I manually fixed up the remaining, and comments, README docs.
> 
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200717/3c93d552/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/3] asm/u-boot.h: remove bd_t definitions
  2020-06-26  6:13 ` [PATCH 3/3] asm/u-boot.h: remove bd_t definitions Masahiro Yamada
@ 2020-07-17 20:58   ` Tom Rini
  0 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2020-07-17 20:58 UTC (permalink / raw)
  To: u-boot

On Fri, Jun 26, 2020 at 03:13:35PM +0900, Masahiro Yamada wrote:

> All the users of bd_t were converted to struct bd_info.
> 
> Remove the definitions.
> 
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200717/c949ad8b/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-07-17 20:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-26  6:13 [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle Masahiro Yamada
2020-06-26  6:13 ` [PATCH 2/3] treewide: convert bd_t to struct bd_info manually Masahiro Yamada
2020-07-17 20:58   ` Tom Rini
2020-06-26  6:13 ` [PATCH 3/3] asm/u-boot.h: remove bd_t definitions Masahiro Yamada
2020-07-17 20:58   ` Tom Rini
2020-07-17 20:58 ` [PATCH 1/3] treewide: convert bd_t to struct bd_info by coccinelle Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.