diff mbox

[U-Boot,19/42] Convert CONFIG_SPL_GPIO_SUPPORT to Kconfig

Message ID 1472057546-10360-20-git-send-email-sjg@chromium.org
State Superseded
Delegated to: Tom Rini
Headers show

Commit Message

Simon Glass Aug. 24, 2016, 4:52 p.m. UTC
Move this option to Kconfig and tidy up existing uses.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 configs/A10-OLinuXino-Lime_defconfig         |  3 ++-
 configs/A10s-OLinuXino-M_defconfig           |  3 ++-
 configs/A13-OLinuXinoM_defconfig             |  3 ++-
 configs/A13-OLinuXino_defconfig              |  3 ++-
 configs/A20-OLinuXino-Lime2_defconfig        |  3 ++-
 configs/A20-OLinuXino-Lime_defconfig         |  3 ++-
 configs/A20-OLinuXino_MICRO_defconfig        |  5 +++--
 configs/A20-Olimex-SOM-EVB_defconfig         |  5 +++--
 configs/Ainol_AW1_defconfig                  |  1 +
 configs/Ampe_A76_defconfig                   |  3 ++-
 configs/Auxtek-T003_defconfig                |  1 +
 configs/Auxtek-T004_defconfig                |  1 +
 configs/Bananapi_defconfig                   |  3 ++-
 configs/Bananapro_defconfig                  |  3 ++-
 configs/CHIP_defconfig                       |  5 +++--
 configs/CSQ_CS908_defconfig                  |  3 ++-
 configs/Chuwi_V7_CW0825_defconfig            |  1 +
 configs/Colombus_defconfig                   |  3 ++-
 configs/Cubieboard2_defconfig                |  3 ++-
 configs/Cubieboard_defconfig                 |  3 ++-
 configs/Cubietruck_defconfig                 |  3 ++-
 configs/Cubietruck_plus_defconfig            |  2 +-
 configs/Empire_electronix_d709_defconfig     |  3 ++-
 configs/Hummingbird_A31_defconfig            |  3 ++-
 configs/Hyundai_A7HD_defconfig               |  1 +
 configs/Itead_Ibox_A20_defconfig             |  3 ++-
 configs/Lamobo_R1_defconfig                  |  3 ++-
 configs/Linksprite_pcDuino3_Nano_defconfig   |  3 ++-
 configs/Linksprite_pcDuino3_defconfig        |  3 ++-
 configs/Linksprite_pcDuino_defconfig         |  3 ++-
 configs/MK808C_defconfig                     |  1 +
 configs/MSI_Primo73_defconfig                |  1 +
 configs/MSI_Primo81_defconfig                |  1 +
 configs/Marsboard_A10_defconfig              |  3 ++-
 configs/Mele_A1000G_quad_defconfig           |  3 ++-
 configs/Mele_A1000_defconfig                 |  3 ++-
 configs/Mele_I7_defconfig                    |  3 ++-
 configs/Mele_M3_defconfig                    |  3 ++-
 configs/Mele_M5_defconfig                    |  3 ++-
 configs/Mele_M9_defconfig                    |  3 ++-
 configs/Mini-X_defconfig                     |  1 +
 configs/Orangepi_defconfig                   |  3 ++-
 configs/Orangepi_mini_defconfig              |  3 ++-
 configs/Sinlinx_SinA31s_defconfig            |  3 ++-
 configs/Sinlinx_SinA33_defconfig             |  1 +
 configs/Sinovoip_BPI_M2_defconfig            |  3 ++-
 configs/Sinovoip_BPI_M3_defconfig            |  3 ++-
 configs/UTOO_P66_defconfig                   |  1 +
 configs/Wexler_TAB7200_defconfig             |  1 +
 configs/Wits_Pro_A20_DKT_defconfig           |  3 ++-
 configs/Wobo_i5_defconfig                    |  3 ++-
 configs/Yones_Toptech_BD1078_defconfig       |  1 +
 configs/Yones_Toptech_BS1078_V2_defconfig    |  1 +
 configs/am335x_baltos_defconfig              |  1 +
 configs/am335x_boneblack_defconfig           |  1 +
 configs/am335x_boneblack_vboot_defconfig     |  1 +
 configs/am335x_evm_defconfig                 |  1 +
 configs/am335x_evm_nor_defconfig             |  1 +
 configs/am335x_evm_spiboot_defconfig         |  1 +
 configs/am335x_evm_usbspl_defconfig          |  1 +
 configs/am335x_igep0033_defconfig            |  1 +
 configs/am335x_shc_defconfig                 |  1 +
 configs/am335x_shc_ict_defconfig             |  1 +
 configs/am335x_shc_netboot_defconfig         |  1 +
 configs/am335x_shc_prompt_defconfig          |  1 +
 configs/am335x_shc_sdboot_defconfig          |  1 +
 configs/am335x_shc_sdboot_prompt_defconfig   |  1 +
 configs/am335x_sl50_defconfig                |  1 +
 configs/am43xx_evm_defconfig                 |  1 +
 configs/am43xx_evm_ethboot_defconfig         |  1 +
 configs/am43xx_evm_usbhost_boot_defconfig    |  1 +
 configs/am43xx_hs_evm_defconfig              |  1 +
 configs/am57xx_evm_defconfig                 |  1 +
 configs/am57xx_evm_nodt_defconfig            |  1 +
 configs/am57xx_hs_evm_defconfig              |  1 +
 configs/apalis_t30_defconfig                 |  4 ++--
 configs/apx4devkit_defconfig                 |  3 ++-
 configs/arndale_defconfig                    |  5 +++--
 configs/at91sam9m10g45ek_mmc_defconfig       |  1 +
 configs/at91sam9m10g45ek_nandflash_defconfig |  3 ++-
 configs/at91sam9n12ek_nandflash_defconfig    |  3 ++-
 configs/at91sam9n12ek_spiflash_defconfig     |  3 ++-
 configs/at91sam9x5ek_nandflash_defconfig     |  3 ++-
 configs/at91sam9x5ek_spiflash_defconfig      |  3 ++-
 configs/axm_defconfig                        |  5 +++--
 configs/ba10_tv_box_defconfig                |  3 ++-
 configs/beaver_defconfig                     |  4 ++--
 configs/bg0900_defconfig                     |  3 ++-
 configs/birdland_bav335a_defconfig           |  1 +
 configs/birdland_bav335b_defconfig           |  1 +
 configs/brppt1_mmc_defconfig                 |  3 ++-
 configs/brppt1_nand_defconfig                |  3 ++-
 configs/brppt1_spi_defconfig                 |  3 ++-
 configs/brxre1_defconfig                     |  3 ++-
 configs/cairo_defconfig                      |  1 +
 configs/cardhu_defconfig                     |  4 ++--
 configs/cgtqmx6eval_defconfig                |  1 +
 configs/cm_fx6_defconfig                     |  3 ++-
 configs/cm_t335_defconfig                    |  1 +
 configs/cm_t35_defconfig                     |  1 +
 configs/cm_t54_defconfig                     |  1 +
 configs/colibri_t20_defconfig                |  4 ++--
 configs/colibri_t30_defconfig                |  4 ++--
 configs/colorfly_e708_q1_defconfig           |  1 +
 configs/corvus_defconfig                     | 10 ++++-----
 configs/dalmore_defconfig                    |  4 ++--
 configs/devkit8000_defconfig                 |  1 +
 configs/difrnce_dit4350_defconfig            |  3 ++-
 configs/dra7xx_evm_defconfig                 |  1 +
 configs/dra7xx_hs_evm_defconfig              |  1 +
 configs/draco_defconfig                      |  1 +
 configs/dserve_dsrv9703c_defconfig           |  1 +
 configs/duovero_defconfig                    |  1 +
 configs/eco5pk_defconfig                     |  1 +
 configs/etamin_defconfig                     |  1 +
 configs/ga10h_v1_1_defconfig                 |  3 ++-
 configs/gt90h_v4_defconfig                   |  3 ++-
 configs/gwventana_defconfig                  |  1 +
 configs/h8_homlet_v2_defconfig               |  2 +-
 configs/harmony_defconfig                    |  4 ++--
 configs/i12-tvbox_defconfig                  |  3 ++-
 configs/iNet_3F_defconfig                    |  1 +
 configs/iNet_3W_defconfig                    |  1 +
 configs/iNet_86VS_defconfig                  |  1 +
 configs/icnova-a20-swac_defconfig            |  3 ++-
 configs/igep0020_defconfig                   |  1 +
 configs/igep0030_defconfig                   |  1 +
 configs/igep0030_nand_defconfig              |  1 +
 configs/igep0032_defconfig                   |  1 +
 configs/inet1_defconfig                      |  1 +
 configs/inet86dz_defconfig                   |  3 ++-
 configs/inet97fv2_defconfig                  |  1 +
 configs/inet98v_rev2_defconfig               |  3 ++-
 configs/inet9f_rev03_defconfig               |  1 +
 configs/ipam390_defconfig                    |  1 +
 configs/jesurun_q5_defconfig                 |  3 ++-
 configs/jetson-tk1_defconfig                 |  4 ++--
 configs/kc1_defconfig                        |  1 +
 configs/m28evk_defconfig                     |  3 ++-
 configs/m53evk_defconfig                     |  3 ++-
 configs/ma5d4evk_defconfig                   |  3 ++-
 configs/medcom-wide_defconfig                |  4 ++--
 configs/mixtile_loftq_defconfig              |  3 ++-
 configs/mk802_a10s_defconfig                 |  1 +
 configs/mk802_defconfig                      |  3 ++-
 configs/mk802ii_defconfig                    |  1 +
 configs/mt_ventoux_defconfig                 |  1 +
 configs/mx23_olinuxino_defconfig             |  3 ++-
 configs/mx23evk_defconfig                    |  3 ++-
 configs/mx28evk_auart_console_defconfig      |  3 ++-
 configs/mx28evk_defconfig                    |  3 ++-
 configs/mx28evk_nand_defconfig               |  3 ++-
 configs/mx28evk_spi_defconfig                |  3 ++-
 configs/mx6cuboxi_defconfig                  |  1 +
 configs/mx6sabresd_spl_defconfig             |  1 +
 configs/mx6slevk_spl_defconfig               |  1 +
 configs/mx6sxsabresd_spl_defconfig           |  1 +
 configs/mx6ul_14x14_evk_defconfig            |  1 +
 configs/mx6ul_9x9_evk_defconfig              |  1 +
 configs/novena_defconfig                     |  1 +
 configs/nyan-big_defconfig                   |  4 ++--
 configs/omap3_beagle_defconfig               |  1 +
 configs/omap3_ha_defconfig                   |  1 +
 configs/omap3_logic_defconfig                |  1 +
 configs/omap3_overo_defconfig                |  1 +
 configs/omap4_panda_defconfig                |  1 +
 configs/omap4_sdp4430_defconfig              |  1 +
 configs/omap5_uevm_defconfig                 |  1 +
 configs/orangepi_2_defconfig                 |  3 +--
 configs/orangepi_lite_defconfig              |  3 +--
 configs/orangepi_one_defconfig               |  5 ++---
 configs/orangepi_pc_defconfig                |  5 ++---
 configs/orangepi_pc_plus_defconfig           |  5 ++---
 configs/orangepi_plus_defconfig              |  5 ++---
 configs/ot1200_spl_defconfig                 |  3 ++-
 configs/parrot_r16_defconfig                 | 31 ++++++++--------------------
 configs/paz00_defconfig                      |  4 ++--
 configs/pcm051_rev1_defconfig                |  1 +
 configs/pcm051_rev3_defconfig                |  1 +
 configs/pcm058_defconfig                     |  1 +
 configs/peach-pi_defconfig                   |  5 +++--
 configs/peach-pit_defconfig                  |  5 +++--
 configs/pengwyn_defconfig                    |  1 +
 configs/pepper_defconfig                     |  1 +
 configs/picosam9g45_defconfig                |  1 +
 configs/platinum_picon_defconfig             |  1 +
 configs/platinum_titanium_defconfig          |  1 +
 configs/plutux_defconfig                     |  4 ++--
 configs/polaroid_mid2407pxe03_defconfig      |  3 ++-
 configs/polaroid_mid2809pxe04_defconfig      |  3 ++-
 configs/pov_protab2_ips9_defconfig           |  1 +
 configs/pxm2_defconfig                       |  1 +
 configs/q8_a13_tablet_defconfig              |  3 ++-
 configs/q8_a23_tablet_800x480_defconfig      |  3 ++-
 configs/q8_a33_tablet_1024x600_defconfig     |  3 ++-
 configs/q8_a33_tablet_800x480_defconfig      |  3 ++-
 configs/r7-tv-dongle_defconfig               |  1 +
 configs/rastaban_defconfig                   |  1 +
 configs/rut_defconfig                        |  1 +
 configs/sama5d2_ptc_nandflash_defconfig      |  3 ++-
 configs/sama5d2_ptc_spiflash_defconfig       |  3 ++-
 configs/sama5d2_xplained_mmc_defconfig       |  1 +
 configs/sama5d2_xplained_spiflash_defconfig  |  3 ++-
 configs/sama5d3_xplained_mmc_defconfig       |  1 +
 configs/sama5d3_xplained_nandflash_defconfig |  3 ++-
 configs/sama5d3xek_mmc_defconfig             |  1 +
 configs/sama5d3xek_nandflash_defconfig       |  3 ++-
 configs/sama5d3xek_spiflash_defconfig        |  3 ++-
 configs/sama5d4_xplained_mmc_defconfig       |  1 +
 configs/sama5d4_xplained_nandflash_defconfig |  3 ++-
 configs/sama5d4_xplained_spiflash_defconfig  |  3 ++-
 configs/sama5d4ek_mmc_defconfig              |  1 +
 configs/sama5d4ek_nandflash_defconfig        |  3 ++-
 configs/sama5d4ek_spiflash_defconfig         |  3 ++-
 configs/sansa_fuze_plus_defconfig            |  3 ++-
 configs/sc_sps_1_defconfig                   |  3 ++-
 configs/seaboard_defconfig                   |  4 ++--
 configs/smartweb_defconfig                   |  3 ++-
 configs/smdk5250_defconfig                   |  5 +++--
 configs/smdk5420_defconfig                   |  5 +++--
 configs/sniper_defconfig                     |  1 +
 configs/snow_defconfig                       |  5 +++--
 configs/spring_defconfig                     |  5 +++--
 configs/sunxi_Gemei_G9_defconfig             |  1 +
 configs/tao3530_defconfig                    |  1 +
 configs/taurus_defconfig                     |  5 +++--
 configs/tec-ng_defconfig                     |  4 ++--
 configs/tec_defconfig                        |  4 ++--
 configs/thuban_defconfig                     |  1 +
 configs/ti814x_evm_defconfig                 |  1 +
 configs/ti816x_evm_defconfig                 |  1 +
 configs/tricorder_defconfig                  |  1 +
 configs/tricorder_flash_defconfig            |  1 +
 configs/trimslice_defconfig                  |  4 ++--
 configs/twister_defconfig                    |  1 +
 configs/udoo_defconfig                       |  1 +
 configs/venice2_defconfig                    |  4 ++--
 configs/ventana_defconfig                    |  4 ++--
 configs/wandboard_defconfig                  |  1 +
 configs/whistler_defconfig                   |  4 ++--
 configs/woodburn_sd_defconfig                |  3 ++-
 configs/xfi3_defconfig                       |  3 ++-
 configs/xpress_spl_defconfig                 |  1 +
 configs/zc5202_defconfig                     |  1 +
 configs/zc5601_defconfig                     |  1 +
 include/configs/at91sam9m10g45ek.h           |  1 -
 include/configs/at91sam9n12ek.h              |  1 -
 include/configs/at91sam9x5ek.h               |  1 -
 include/configs/brppt1.h                     |  1 -
 include/configs/brxre1.h                     |  1 -
 include/configs/chromebook_jerry.h           |  2 --
 include/configs/cm_t35.h                     |  1 -
 include/configs/cm_t43.h                     |  1 -
 include/configs/corvus.h                     |  1 -
 include/configs/exynos5-common.h             |  1 -
 include/configs/imx6_spl.h                   |  1 -
 include/configs/ipam390.h                    |  1 -
 include/configs/kc1.h                        |  1 -
 include/configs/m53evk.h                     |  1 -
 include/configs/ma5d4evk.h                   |  1 -
 include/configs/mxs.h                        |  1 -
 include/configs/picosam9g45.h                |  1 -
 include/configs/sama5d2_ptc.h                |  1 -
 include/configs/sama5d2_xplained.h           |  1 -
 include/configs/sama5d3_xplained.h           |  1 -
 include/configs/sama5d3xek.h                 |  1 -
 include/configs/sama5d4_xplained.h           |  1 -
 include/configs/sama5d4ek.h                  |  1 -
 include/configs/siemens-am33x-common.h       |  1 -
 include/configs/smartweb.h                   |  1 -
 include/configs/sniper.h                     |  1 -
 include/configs/sunxi-common.h               |  1 -
 include/configs/tam3517-common.h             |  1 -
 include/configs/tao3530.h                    |  1 -
 include/configs/taurus.h                     |  1 -
 include/configs/tegra-common.h               |  1 -
 include/configs/ti814x_evm.h                 |  1 -
 include/configs/ti816x_evm.h                 |  1 -
 include/configs/ti_armv7_common.h            |  1 -
 include/configs/ti_armv7_keystone2.h         |  1 -
 include/configs/tricorder.h                  |  1 -
 include/configs/woodburn_sd.h                |  1 -
 282 files changed, 392 insertions(+), 235 deletions(-)

Comments

Maxime Ripard Aug. 24, 2016, 6:01 p.m. UTC | #1
Hi Simon,

On Wed, Aug 24, 2016 at 10:52:03AM -0600, Simon Glass wrote:
> Move this option to Kconfig and tidy up existing uses.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  configs/A10-OLinuXino-Lime_defconfig         |  3 ++-
>  configs/A10s-OLinuXino-M_defconfig           |  3 ++-
>  configs/A13-OLinuXinoM_defconfig             |  3 ++-
>  configs/A13-OLinuXino_defconfig              |  3 ++-
>  configs/A20-OLinuXino-Lime2_defconfig        |  3 ++-
>  configs/A20-OLinuXino-Lime_defconfig         |  3 ++-
>  configs/A20-OLinuXino_MICRO_defconfig        |  5 +++--
>  configs/A20-Olimex-SOM-EVB_defconfig         |  5 +++--
>  configs/Ainol_AW1_defconfig                  |  1 +
>  configs/Ampe_A76_defconfig                   |  3 ++-
>  configs/Auxtek-T003_defconfig                |  1 +
>  configs/Auxtek-T004_defconfig                |  1 +
>  configs/Bananapi_defconfig                   |  3 ++-
>  configs/Bananapro_defconfig                  |  3 ++-
>  configs/CHIP_defconfig                       |  5 +++--
>  configs/CSQ_CS908_defconfig                  |  3 ++-
>  configs/Chuwi_V7_CW0825_defconfig            |  1 +
>  configs/Colombus_defconfig                   |  3 ++-
>  configs/Cubieboard2_defconfig                |  3 ++-
>  configs/Cubieboard_defconfig                 |  3 ++-
>  configs/Cubietruck_defconfig                 |  3 ++-
>  configs/Cubietruck_plus_defconfig            |  2 +-
>  configs/Empire_electronix_d709_defconfig     |  3 ++-
>  configs/Hummingbird_A31_defconfig            |  3 ++-
>  configs/Hyundai_A7HD_defconfig               |  1 +
>  configs/Itead_Ibox_A20_defconfig             |  3 ++-
>  configs/Lamobo_R1_defconfig                  |  3 ++-
>  configs/Linksprite_pcDuino3_Nano_defconfig   |  3 ++-
>  configs/Linksprite_pcDuino3_defconfig        |  3 ++-
>  configs/Linksprite_pcDuino_defconfig         |  3 ++-
>  configs/MK808C_defconfig                     |  1 +
>  configs/MSI_Primo73_defconfig                |  1 +
>  configs/MSI_Primo81_defconfig                |  1 +
>  configs/Marsboard_A10_defconfig              |  3 ++-
>  configs/Mele_A1000G_quad_defconfig           |  3 ++-
>  configs/Mele_A1000_defconfig                 |  3 ++-
>  configs/Mele_I7_defconfig                    |  3 ++-
>  configs/Mele_M3_defconfig                    |  3 ++-
>  configs/Mele_M5_defconfig                    |  3 ++-
>  configs/Mele_M9_defconfig                    |  3 ++-
>  configs/Mini-X_defconfig                     |  1 +
>  configs/Orangepi_defconfig                   |  3 ++-
>  configs/Orangepi_mini_defconfig              |  3 ++-
>  configs/Sinlinx_SinA31s_defconfig            |  3 ++-
>  configs/Sinlinx_SinA33_defconfig             |  1 +
>  configs/Sinovoip_BPI_M2_defconfig            |  3 ++-
>  configs/Sinovoip_BPI_M3_defconfig            |  3 ++-
>  configs/UTOO_P66_defconfig                   |  1 +
>  configs/Wexler_TAB7200_defconfig             |  1 +
>  configs/Wits_Pro_A20_DKT_defconfig           |  3 ++-
>  configs/Wobo_i5_defconfig                    |  3 ++-
>  configs/Yones_Toptech_BD1078_defconfig       |  1 +
>  configs/Yones_Toptech_BS1078_V2_defconfig    |  1 +
>  configs/am335x_baltos_defconfig              |  1 +
>  configs/am335x_boneblack_defconfig           |  1 +
>  configs/am335x_boneblack_vboot_defconfig     |  1 +
>  configs/am335x_evm_defconfig                 |  1 +
>  configs/am335x_evm_nor_defconfig             |  1 +
>  configs/am335x_evm_spiboot_defconfig         |  1 +
>  configs/am335x_evm_usbspl_defconfig          |  1 +
>  configs/am335x_igep0033_defconfig            |  1 +
>  configs/am335x_shc_defconfig                 |  1 +
>  configs/am335x_shc_ict_defconfig             |  1 +
>  configs/am335x_shc_netboot_defconfig         |  1 +
>  configs/am335x_shc_prompt_defconfig          |  1 +
>  configs/am335x_shc_sdboot_defconfig          |  1 +
>  configs/am335x_shc_sdboot_prompt_defconfig   |  1 +
>  configs/am335x_sl50_defconfig                |  1 +
>  configs/am43xx_evm_defconfig                 |  1 +
>  configs/am43xx_evm_ethboot_defconfig         |  1 +
>  configs/am43xx_evm_usbhost_boot_defconfig    |  1 +
>  configs/am43xx_hs_evm_defconfig              |  1 +
>  configs/am57xx_evm_defconfig                 |  1 +
>  configs/am57xx_evm_nodt_defconfig            |  1 +
>  configs/am57xx_hs_evm_defconfig              |  1 +
>  configs/apalis_t30_defconfig                 |  4 ++--
>  configs/apx4devkit_defconfig                 |  3 ++-
>  configs/arndale_defconfig                    |  5 +++--
>  configs/at91sam9m10g45ek_mmc_defconfig       |  1 +
>  configs/at91sam9m10g45ek_nandflash_defconfig |  3 ++-
>  configs/at91sam9n12ek_nandflash_defconfig    |  3 ++-
>  configs/at91sam9n12ek_spiflash_defconfig     |  3 ++-
>  configs/at91sam9x5ek_nandflash_defconfig     |  3 ++-
>  configs/at91sam9x5ek_spiflash_defconfig      |  3 ++-
>  configs/axm_defconfig                        |  5 +++--
>  configs/ba10_tv_box_defconfig                |  3 ++-
>  configs/beaver_defconfig                     |  4 ++--
>  configs/bg0900_defconfig                     |  3 ++-
>  configs/birdland_bav335a_defconfig           |  1 +
>  configs/birdland_bav335b_defconfig           |  1 +
>  configs/brppt1_mmc_defconfig                 |  3 ++-
>  configs/brppt1_nand_defconfig                |  3 ++-
>  configs/brppt1_spi_defconfig                 |  3 ++-
>  configs/brxre1_defconfig                     |  3 ++-
>  configs/cairo_defconfig                      |  1 +
>  configs/cardhu_defconfig                     |  4 ++--
>  configs/cgtqmx6eval_defconfig                |  1 +
>  configs/cm_fx6_defconfig                     |  3 ++-
>  configs/cm_t335_defconfig                    |  1 +
>  configs/cm_t35_defconfig                     |  1 +
>  configs/cm_t54_defconfig                     |  1 +
>  configs/colibri_t20_defconfig                |  4 ++--
>  configs/colibri_t30_defconfig                |  4 ++--
>  configs/colorfly_e708_q1_defconfig           |  1 +
>  configs/corvus_defconfig                     | 10 ++++-----
>  configs/dalmore_defconfig                    |  4 ++--
>  configs/devkit8000_defconfig                 |  1 +
>  configs/difrnce_dit4350_defconfig            |  3 ++-
>  configs/dra7xx_evm_defconfig                 |  1 +
>  configs/dra7xx_hs_evm_defconfig              |  1 +
>  configs/draco_defconfig                      |  1 +
>  configs/dserve_dsrv9703c_defconfig           |  1 +
>  configs/duovero_defconfig                    |  1 +
>  configs/eco5pk_defconfig                     |  1 +
>  configs/etamin_defconfig                     |  1 +
>  configs/ga10h_v1_1_defconfig                 |  3 ++-
>  configs/gt90h_v4_defconfig                   |  3 ++-
>  configs/gwventana_defconfig                  |  1 +
>  configs/h8_homlet_v2_defconfig               |  2 +-
>  configs/harmony_defconfig                    |  4 ++--
>  configs/i12-tvbox_defconfig                  |  3 ++-
>  configs/iNet_3F_defconfig                    |  1 +
>  configs/iNet_3W_defconfig                    |  1 +
>  configs/iNet_86VS_defconfig                  |  1 +
>  configs/icnova-a20-swac_defconfig            |  3 ++-
>  configs/igep0020_defconfig                   |  1 +
>  configs/igep0030_defconfig                   |  1 +
>  configs/igep0030_nand_defconfig              |  1 +
>  configs/igep0032_defconfig                   |  1 +
>  configs/inet1_defconfig                      |  1 +
>  configs/inet86dz_defconfig                   |  3 ++-
>  configs/inet97fv2_defconfig                  |  1 +
>  configs/inet98v_rev2_defconfig               |  3 ++-
>  configs/inet9f_rev03_defconfig               |  1 +
>  configs/ipam390_defconfig                    |  1 +
>  configs/jesurun_q5_defconfig                 |  3 ++-
>  configs/jetson-tk1_defconfig                 |  4 ++--
>  configs/kc1_defconfig                        |  1 +
>  configs/m28evk_defconfig                     |  3 ++-
>  configs/m53evk_defconfig                     |  3 ++-
>  configs/ma5d4evk_defconfig                   |  3 ++-
>  configs/medcom-wide_defconfig                |  4 ++--
>  configs/mixtile_loftq_defconfig              |  3 ++-
>  configs/mk802_a10s_defconfig                 |  1 +
>  configs/mk802_defconfig                      |  3 ++-
>  configs/mk802ii_defconfig                    |  1 +
>  configs/mt_ventoux_defconfig                 |  1 +
>  configs/mx23_olinuxino_defconfig             |  3 ++-
>  configs/mx23evk_defconfig                    |  3 ++-
>  configs/mx28evk_auart_console_defconfig      |  3 ++-
>  configs/mx28evk_defconfig                    |  3 ++-
>  configs/mx28evk_nand_defconfig               |  3 ++-
>  configs/mx28evk_spi_defconfig                |  3 ++-
>  configs/mx6cuboxi_defconfig                  |  1 +
>  configs/mx6sabresd_spl_defconfig             |  1 +
>  configs/mx6slevk_spl_defconfig               |  1 +
>  configs/mx6sxsabresd_spl_defconfig           |  1 +
>  configs/mx6ul_14x14_evk_defconfig            |  1 +
>  configs/mx6ul_9x9_evk_defconfig              |  1 +
>  configs/novena_defconfig                     |  1 +
>  configs/nyan-big_defconfig                   |  4 ++--
>  configs/omap3_beagle_defconfig               |  1 +
>  configs/omap3_ha_defconfig                   |  1 +
>  configs/omap3_logic_defconfig                |  1 +
>  configs/omap3_overo_defconfig                |  1 +
>  configs/omap4_panda_defconfig                |  1 +
>  configs/omap4_sdp4430_defconfig              |  1 +
>  configs/omap5_uevm_defconfig                 |  1 +
>  configs/orangepi_2_defconfig                 |  3 +--
>  configs/orangepi_lite_defconfig              |  3 +--
>  configs/orangepi_one_defconfig               |  5 ++---
>  configs/orangepi_pc_defconfig                |  5 ++---
>  configs/orangepi_pc_plus_defconfig           |  5 ++---
>  configs/orangepi_plus_defconfig              |  5 ++---
>  configs/ot1200_spl_defconfig                 |  3 ++-
>  configs/parrot_r16_defconfig                 | 31 ++++++++--------------------
>  configs/paz00_defconfig                      |  4 ++--
>  configs/pcm051_rev1_defconfig                |  1 +
>  configs/pcm051_rev3_defconfig                |  1 +
>  configs/pcm058_defconfig                     |  1 +
>  configs/peach-pi_defconfig                   |  5 +++--
>  configs/peach-pit_defconfig                  |  5 +++--
>  configs/pengwyn_defconfig                    |  1 +
>  configs/pepper_defconfig                     |  1 +
>  configs/picosam9g45_defconfig                |  1 +
>  configs/platinum_picon_defconfig             |  1 +
>  configs/platinum_titanium_defconfig          |  1 +
>  configs/plutux_defconfig                     |  4 ++--
>  configs/polaroid_mid2407pxe03_defconfig      |  3 ++-
>  configs/polaroid_mid2809pxe04_defconfig      |  3 ++-
>  configs/pov_protab2_ips9_defconfig           |  1 +
>  configs/pxm2_defconfig                       |  1 +
>  configs/q8_a13_tablet_defconfig              |  3 ++-
>  configs/q8_a23_tablet_800x480_defconfig      |  3 ++-
>  configs/q8_a33_tablet_1024x600_defconfig     |  3 ++-
>  configs/q8_a33_tablet_800x480_defconfig      |  3 ++-
>  configs/r7-tv-dongle_defconfig               |  1 +
>  configs/rastaban_defconfig                   |  1 +
>  configs/rut_defconfig                        |  1 +
>  configs/sama5d2_ptc_nandflash_defconfig      |  3 ++-
>  configs/sama5d2_ptc_spiflash_defconfig       |  3 ++-
>  configs/sama5d2_xplained_mmc_defconfig       |  1 +
>  configs/sama5d2_xplained_spiflash_defconfig  |  3 ++-
>  configs/sama5d3_xplained_mmc_defconfig       |  1 +
>  configs/sama5d3_xplained_nandflash_defconfig |  3 ++-
>  configs/sama5d3xek_mmc_defconfig             |  1 +
>  configs/sama5d3xek_nandflash_defconfig       |  3 ++-
>  configs/sama5d3xek_spiflash_defconfig        |  3 ++-
>  configs/sama5d4_xplained_mmc_defconfig       |  1 +
>  configs/sama5d4_xplained_nandflash_defconfig |  3 ++-
>  configs/sama5d4_xplained_spiflash_defconfig  |  3 ++-
>  configs/sama5d4ek_mmc_defconfig              |  1 +
>  configs/sama5d4ek_nandflash_defconfig        |  3 ++-
>  configs/sama5d4ek_spiflash_defconfig         |  3 ++-
>  configs/sansa_fuze_plus_defconfig            |  3 ++-
>  configs/sc_sps_1_defconfig                   |  3 ++-
>  configs/seaboard_defconfig                   |  4 ++--
>  configs/smartweb_defconfig                   |  3 ++-
>  configs/smdk5250_defconfig                   |  5 +++--
>  configs/smdk5420_defconfig                   |  5 +++--
>  configs/sniper_defconfig                     |  1 +
>  configs/snow_defconfig                       |  5 +++--
>  configs/spring_defconfig                     |  5 +++--
>  configs/sunxi_Gemei_G9_defconfig             |  1 +
>  configs/tao3530_defconfig                    |  1 +
>  configs/taurus_defconfig                     |  5 +++--
>  configs/tec-ng_defconfig                     |  4 ++--
>  configs/tec_defconfig                        |  4 ++--
>  configs/thuban_defconfig                     |  1 +
>  configs/ti814x_evm_defconfig                 |  1 +
>  configs/ti816x_evm_defconfig                 |  1 +
>  configs/tricorder_defconfig                  |  1 +
>  configs/tricorder_flash_defconfig            |  1 +
>  configs/trimslice_defconfig                  |  4 ++--
>  configs/twister_defconfig                    |  1 +
>  configs/udoo_defconfig                       |  1 +
>  configs/venice2_defconfig                    |  4 ++--
>  configs/ventana_defconfig                    |  4 ++--
>  configs/wandboard_defconfig                  |  1 +
>  configs/whistler_defconfig                   |  4 ++--
>  configs/woodburn_sd_defconfig                |  3 ++-
>  configs/xfi3_defconfig                       |  3 ++-
>  configs/xpress_spl_defconfig                 |  1 +
>  configs/zc5202_defconfig                     |  1 +
>  configs/zc5601_defconfig                     |  1 +
>  include/configs/at91sam9m10g45ek.h           |  1 -
>  include/configs/at91sam9n12ek.h              |  1 -
>  include/configs/at91sam9x5ek.h               |  1 -
>  include/configs/brppt1.h                     |  1 -
>  include/configs/brxre1.h                     |  1 -
>  include/configs/chromebook_jerry.h           |  2 --
>  include/configs/cm_t35.h                     |  1 -
>  include/configs/cm_t43.h                     |  1 -
>  include/configs/corvus.h                     |  1 -
>  include/configs/exynos5-common.h             |  1 -
>  include/configs/imx6_spl.h                   |  1 -
>  include/configs/ipam390.h                    |  1 -
>  include/configs/kc1.h                        |  1 -
>  include/configs/m53evk.h                     |  1 -
>  include/configs/ma5d4evk.h                   |  1 -
>  include/configs/mxs.h                        |  1 -
>  include/configs/picosam9g45.h                |  1 -
>  include/configs/sama5d2_ptc.h                |  1 -
>  include/configs/sama5d2_xplained.h           |  1 -
>  include/configs/sama5d3_xplained.h           |  1 -
>  include/configs/sama5d3xek.h                 |  1 -
>  include/configs/sama5d4_xplained.h           |  1 -
>  include/configs/sama5d4ek.h                  |  1 -
>  include/configs/siemens-am33x-common.h       |  1 -
>  include/configs/smartweb.h                   |  1 -
>  include/configs/sniper.h                     |  1 -
>  include/configs/sunxi-common.h               |  1 -
>  include/configs/tam3517-common.h             |  1 -
>  include/configs/tao3530.h                    |  1 -
>  include/configs/taurus.h                     |  1 -
>  include/configs/tegra-common.h               |  1 -
>  include/configs/ti814x_evm.h                 |  1 -
>  include/configs/ti816x_evm.h                 |  1 -
>  include/configs/ti_armv7_common.h            |  1 -
>  include/configs/ti_armv7_keystone2.h         |  1 -
>  include/configs/tricorder.h                  |  1 -
>  include/configs/woodburn_sd.h                |  1 -
>  282 files changed, 392 insertions(+), 235 deletions(-)

Wouldn't it be better to have a default y in the relevant
architectures?

That would reduce the duplication of all those symbols, and would be
less error-prone.

Maxime
Tom Rini Aug. 24, 2016, 7:30 p.m. UTC | #2
On Wed, Aug 24, 2016 at 08:01:54PM +0200, Maxime Ripard wrote:
> Hi Simon,
> 
> On Wed, Aug 24, 2016 at 10:52:03AM -0600, Simon Glass wrote:
> > Move this option to Kconfig and tidy up existing uses.
> > 
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > ---
> > 
> >  configs/A10-OLinuXino-Lime_defconfig         |  3 ++-
> >  configs/A10s-OLinuXino-M_defconfig           |  3 ++-
> >  configs/A13-OLinuXinoM_defconfig             |  3 ++-
> >  configs/A13-OLinuXino_defconfig              |  3 ++-
> >  configs/A20-OLinuXino-Lime2_defconfig        |  3 ++-
> >  configs/A20-OLinuXino-Lime_defconfig         |  3 ++-
> >  configs/A20-OLinuXino_MICRO_defconfig        |  5 +++--
> >  configs/A20-Olimex-SOM-EVB_defconfig         |  5 +++--
> >  configs/Ainol_AW1_defconfig                  |  1 +
> >  configs/Ampe_A76_defconfig                   |  3 ++-
> >  configs/Auxtek-T003_defconfig                |  1 +
> >  configs/Auxtek-T004_defconfig                |  1 +
> >  configs/Bananapi_defconfig                   |  3 ++-
> >  configs/Bananapro_defconfig                  |  3 ++-
> >  configs/CHIP_defconfig                       |  5 +++--
> >  configs/CSQ_CS908_defconfig                  |  3 ++-
> >  configs/Chuwi_V7_CW0825_defconfig            |  1 +
> >  configs/Colombus_defconfig                   |  3 ++-
> >  configs/Cubieboard2_defconfig                |  3 ++-
> >  configs/Cubieboard_defconfig                 |  3 ++-
> >  configs/Cubietruck_defconfig                 |  3 ++-
> >  configs/Cubietruck_plus_defconfig            |  2 +-
> >  configs/Empire_electronix_d709_defconfig     |  3 ++-
> >  configs/Hummingbird_A31_defconfig            |  3 ++-
> >  configs/Hyundai_A7HD_defconfig               |  1 +
> >  configs/Itead_Ibox_A20_defconfig             |  3 ++-
> >  configs/Lamobo_R1_defconfig                  |  3 ++-
> >  configs/Linksprite_pcDuino3_Nano_defconfig   |  3 ++-
> >  configs/Linksprite_pcDuino3_defconfig        |  3 ++-
> >  configs/Linksprite_pcDuino_defconfig         |  3 ++-
> >  configs/MK808C_defconfig                     |  1 +
> >  configs/MSI_Primo73_defconfig                |  1 +
> >  configs/MSI_Primo81_defconfig                |  1 +
> >  configs/Marsboard_A10_defconfig              |  3 ++-
> >  configs/Mele_A1000G_quad_defconfig           |  3 ++-
> >  configs/Mele_A1000_defconfig                 |  3 ++-
> >  configs/Mele_I7_defconfig                    |  3 ++-
> >  configs/Mele_M3_defconfig                    |  3 ++-
> >  configs/Mele_M5_defconfig                    |  3 ++-
> >  configs/Mele_M9_defconfig                    |  3 ++-
> >  configs/Mini-X_defconfig                     |  1 +
> >  configs/Orangepi_defconfig                   |  3 ++-
> >  configs/Orangepi_mini_defconfig              |  3 ++-
> >  configs/Sinlinx_SinA31s_defconfig            |  3 ++-
> >  configs/Sinlinx_SinA33_defconfig             |  1 +
> >  configs/Sinovoip_BPI_M2_defconfig            |  3 ++-
> >  configs/Sinovoip_BPI_M3_defconfig            |  3 ++-
> >  configs/UTOO_P66_defconfig                   |  1 +
> >  configs/Wexler_TAB7200_defconfig             |  1 +
> >  configs/Wits_Pro_A20_DKT_defconfig           |  3 ++-
> >  configs/Wobo_i5_defconfig                    |  3 ++-
> >  configs/Yones_Toptech_BD1078_defconfig       |  1 +
> >  configs/Yones_Toptech_BS1078_V2_defconfig    |  1 +
> >  configs/am335x_baltos_defconfig              |  1 +
> >  configs/am335x_boneblack_defconfig           |  1 +
> >  configs/am335x_boneblack_vboot_defconfig     |  1 +
> >  configs/am335x_evm_defconfig                 |  1 +
> >  configs/am335x_evm_nor_defconfig             |  1 +
> >  configs/am335x_evm_spiboot_defconfig         |  1 +
> >  configs/am335x_evm_usbspl_defconfig          |  1 +
> >  configs/am335x_igep0033_defconfig            |  1 +
> >  configs/am335x_shc_defconfig                 |  1 +
> >  configs/am335x_shc_ict_defconfig             |  1 +
> >  configs/am335x_shc_netboot_defconfig         |  1 +
> >  configs/am335x_shc_prompt_defconfig          |  1 +
> >  configs/am335x_shc_sdboot_defconfig          |  1 +
> >  configs/am335x_shc_sdboot_prompt_defconfig   |  1 +
> >  configs/am335x_sl50_defconfig                |  1 +
> >  configs/am43xx_evm_defconfig                 |  1 +
> >  configs/am43xx_evm_ethboot_defconfig         |  1 +
> >  configs/am43xx_evm_usbhost_boot_defconfig    |  1 +
> >  configs/am43xx_hs_evm_defconfig              |  1 +
> >  configs/am57xx_evm_defconfig                 |  1 +
> >  configs/am57xx_evm_nodt_defconfig            |  1 +
> >  configs/am57xx_hs_evm_defconfig              |  1 +
> >  configs/apalis_t30_defconfig                 |  4 ++--
> >  configs/apx4devkit_defconfig                 |  3 ++-
> >  configs/arndale_defconfig                    |  5 +++--
> >  configs/at91sam9m10g45ek_mmc_defconfig       |  1 +
> >  configs/at91sam9m10g45ek_nandflash_defconfig |  3 ++-
> >  configs/at91sam9n12ek_nandflash_defconfig    |  3 ++-
> >  configs/at91sam9n12ek_spiflash_defconfig     |  3 ++-
> >  configs/at91sam9x5ek_nandflash_defconfig     |  3 ++-
> >  configs/at91sam9x5ek_spiflash_defconfig      |  3 ++-
> >  configs/axm_defconfig                        |  5 +++--
> >  configs/ba10_tv_box_defconfig                |  3 ++-
> >  configs/beaver_defconfig                     |  4 ++--
> >  configs/bg0900_defconfig                     |  3 ++-
> >  configs/birdland_bav335a_defconfig           |  1 +
> >  configs/birdland_bav335b_defconfig           |  1 +
> >  configs/brppt1_mmc_defconfig                 |  3 ++-
> >  configs/brppt1_nand_defconfig                |  3 ++-
> >  configs/brppt1_spi_defconfig                 |  3 ++-
> >  configs/brxre1_defconfig                     |  3 ++-
> >  configs/cairo_defconfig                      |  1 +
> >  configs/cardhu_defconfig                     |  4 ++--
> >  configs/cgtqmx6eval_defconfig                |  1 +
> >  configs/cm_fx6_defconfig                     |  3 ++-
> >  configs/cm_t335_defconfig                    |  1 +
> >  configs/cm_t35_defconfig                     |  1 +
> >  configs/cm_t54_defconfig                     |  1 +
> >  configs/colibri_t20_defconfig                |  4 ++--
> >  configs/colibri_t30_defconfig                |  4 ++--
> >  configs/colorfly_e708_q1_defconfig           |  1 +
> >  configs/corvus_defconfig                     | 10 ++++-----
> >  configs/dalmore_defconfig                    |  4 ++--
> >  configs/devkit8000_defconfig                 |  1 +
> >  configs/difrnce_dit4350_defconfig            |  3 ++-
> >  configs/dra7xx_evm_defconfig                 |  1 +
> >  configs/dra7xx_hs_evm_defconfig              |  1 +
> >  configs/draco_defconfig                      |  1 +
> >  configs/dserve_dsrv9703c_defconfig           |  1 +
> >  configs/duovero_defconfig                    |  1 +
> >  configs/eco5pk_defconfig                     |  1 +
> >  configs/etamin_defconfig                     |  1 +
> >  configs/ga10h_v1_1_defconfig                 |  3 ++-
> >  configs/gt90h_v4_defconfig                   |  3 ++-
> >  configs/gwventana_defconfig                  |  1 +
> >  configs/h8_homlet_v2_defconfig               |  2 +-
> >  configs/harmony_defconfig                    |  4 ++--
> >  configs/i12-tvbox_defconfig                  |  3 ++-
> >  configs/iNet_3F_defconfig                    |  1 +
> >  configs/iNet_3W_defconfig                    |  1 +
> >  configs/iNet_86VS_defconfig                  |  1 +
> >  configs/icnova-a20-swac_defconfig            |  3 ++-
> >  configs/igep0020_defconfig                   |  1 +
> >  configs/igep0030_defconfig                   |  1 +
> >  configs/igep0030_nand_defconfig              |  1 +
> >  configs/igep0032_defconfig                   |  1 +
> >  configs/inet1_defconfig                      |  1 +
> >  configs/inet86dz_defconfig                   |  3 ++-
> >  configs/inet97fv2_defconfig                  |  1 +
> >  configs/inet98v_rev2_defconfig               |  3 ++-
> >  configs/inet9f_rev03_defconfig               |  1 +
> >  configs/ipam390_defconfig                    |  1 +
> >  configs/jesurun_q5_defconfig                 |  3 ++-
> >  configs/jetson-tk1_defconfig                 |  4 ++--
> >  configs/kc1_defconfig                        |  1 +
> >  configs/m28evk_defconfig                     |  3 ++-
> >  configs/m53evk_defconfig                     |  3 ++-
> >  configs/ma5d4evk_defconfig                   |  3 ++-
> >  configs/medcom-wide_defconfig                |  4 ++--
> >  configs/mixtile_loftq_defconfig              |  3 ++-
> >  configs/mk802_a10s_defconfig                 |  1 +
> >  configs/mk802_defconfig                      |  3 ++-
> >  configs/mk802ii_defconfig                    |  1 +
> >  configs/mt_ventoux_defconfig                 |  1 +
> >  configs/mx23_olinuxino_defconfig             |  3 ++-
> >  configs/mx23evk_defconfig                    |  3 ++-
> >  configs/mx28evk_auart_console_defconfig      |  3 ++-
> >  configs/mx28evk_defconfig                    |  3 ++-
> >  configs/mx28evk_nand_defconfig               |  3 ++-
> >  configs/mx28evk_spi_defconfig                |  3 ++-
> >  configs/mx6cuboxi_defconfig                  |  1 +
> >  configs/mx6sabresd_spl_defconfig             |  1 +
> >  configs/mx6slevk_spl_defconfig               |  1 +
> >  configs/mx6sxsabresd_spl_defconfig           |  1 +
> >  configs/mx6ul_14x14_evk_defconfig            |  1 +
> >  configs/mx6ul_9x9_evk_defconfig              |  1 +
> >  configs/novena_defconfig                     |  1 +
> >  configs/nyan-big_defconfig                   |  4 ++--
> >  configs/omap3_beagle_defconfig               |  1 +
> >  configs/omap3_ha_defconfig                   |  1 +
> >  configs/omap3_logic_defconfig                |  1 +
> >  configs/omap3_overo_defconfig                |  1 +
> >  configs/omap4_panda_defconfig                |  1 +
> >  configs/omap4_sdp4430_defconfig              |  1 +
> >  configs/omap5_uevm_defconfig                 |  1 +
> >  configs/orangepi_2_defconfig                 |  3 +--
> >  configs/orangepi_lite_defconfig              |  3 +--
> >  configs/orangepi_one_defconfig               |  5 ++---
> >  configs/orangepi_pc_defconfig                |  5 ++---
> >  configs/orangepi_pc_plus_defconfig           |  5 ++---
> >  configs/orangepi_plus_defconfig              |  5 ++---
> >  configs/ot1200_spl_defconfig                 |  3 ++-
> >  configs/parrot_r16_defconfig                 | 31 ++++++++--------------------
> >  configs/paz00_defconfig                      |  4 ++--
> >  configs/pcm051_rev1_defconfig                |  1 +
> >  configs/pcm051_rev3_defconfig                |  1 +
> >  configs/pcm058_defconfig                     |  1 +
> >  configs/peach-pi_defconfig                   |  5 +++--
> >  configs/peach-pit_defconfig                  |  5 +++--
> >  configs/pengwyn_defconfig                    |  1 +
> >  configs/pepper_defconfig                     |  1 +
> >  configs/picosam9g45_defconfig                |  1 +
> >  configs/platinum_picon_defconfig             |  1 +
> >  configs/platinum_titanium_defconfig          |  1 +
> >  configs/plutux_defconfig                     |  4 ++--
> >  configs/polaroid_mid2407pxe03_defconfig      |  3 ++-
> >  configs/polaroid_mid2809pxe04_defconfig      |  3 ++-
> >  configs/pov_protab2_ips9_defconfig           |  1 +
> >  configs/pxm2_defconfig                       |  1 +
> >  configs/q8_a13_tablet_defconfig              |  3 ++-
> >  configs/q8_a23_tablet_800x480_defconfig      |  3 ++-
> >  configs/q8_a33_tablet_1024x600_defconfig     |  3 ++-
> >  configs/q8_a33_tablet_800x480_defconfig      |  3 ++-
> >  configs/r7-tv-dongle_defconfig               |  1 +
> >  configs/rastaban_defconfig                   |  1 +
> >  configs/rut_defconfig                        |  1 +
> >  configs/sama5d2_ptc_nandflash_defconfig      |  3 ++-
> >  configs/sama5d2_ptc_spiflash_defconfig       |  3 ++-
> >  configs/sama5d2_xplained_mmc_defconfig       |  1 +
> >  configs/sama5d2_xplained_spiflash_defconfig  |  3 ++-
> >  configs/sama5d3_xplained_mmc_defconfig       |  1 +
> >  configs/sama5d3_xplained_nandflash_defconfig |  3 ++-
> >  configs/sama5d3xek_mmc_defconfig             |  1 +
> >  configs/sama5d3xek_nandflash_defconfig       |  3 ++-
> >  configs/sama5d3xek_spiflash_defconfig        |  3 ++-
> >  configs/sama5d4_xplained_mmc_defconfig       |  1 +
> >  configs/sama5d4_xplained_nandflash_defconfig |  3 ++-
> >  configs/sama5d4_xplained_spiflash_defconfig  |  3 ++-
> >  configs/sama5d4ek_mmc_defconfig              |  1 +
> >  configs/sama5d4ek_nandflash_defconfig        |  3 ++-
> >  configs/sama5d4ek_spiflash_defconfig         |  3 ++-
> >  configs/sansa_fuze_plus_defconfig            |  3 ++-
> >  configs/sc_sps_1_defconfig                   |  3 ++-
> >  configs/seaboard_defconfig                   |  4 ++--
> >  configs/smartweb_defconfig                   |  3 ++-
> >  configs/smdk5250_defconfig                   |  5 +++--
> >  configs/smdk5420_defconfig                   |  5 +++--
> >  configs/sniper_defconfig                     |  1 +
> >  configs/snow_defconfig                       |  5 +++--
> >  configs/spring_defconfig                     |  5 +++--
> >  configs/sunxi_Gemei_G9_defconfig             |  1 +
> >  configs/tao3530_defconfig                    |  1 +
> >  configs/taurus_defconfig                     |  5 +++--
> >  configs/tec-ng_defconfig                     |  4 ++--
> >  configs/tec_defconfig                        |  4 ++--
> >  configs/thuban_defconfig                     |  1 +
> >  configs/ti814x_evm_defconfig                 |  1 +
> >  configs/ti816x_evm_defconfig                 |  1 +
> >  configs/tricorder_defconfig                  |  1 +
> >  configs/tricorder_flash_defconfig            |  1 +
> >  configs/trimslice_defconfig                  |  4 ++--
> >  configs/twister_defconfig                    |  1 +
> >  configs/udoo_defconfig                       |  1 +
> >  configs/venice2_defconfig                    |  4 ++--
> >  configs/ventana_defconfig                    |  4 ++--
> >  configs/wandboard_defconfig                  |  1 +
> >  configs/whistler_defconfig                   |  4 ++--
> >  configs/woodburn_sd_defconfig                |  3 ++-
> >  configs/xfi3_defconfig                       |  3 ++-
> >  configs/xpress_spl_defconfig                 |  1 +
> >  configs/zc5202_defconfig                     |  1 +
> >  configs/zc5601_defconfig                     |  1 +
> >  include/configs/at91sam9m10g45ek.h           |  1 -
> >  include/configs/at91sam9n12ek.h              |  1 -
> >  include/configs/at91sam9x5ek.h               |  1 -
> >  include/configs/brppt1.h                     |  1 -
> >  include/configs/brxre1.h                     |  1 -
> >  include/configs/chromebook_jerry.h           |  2 --
> >  include/configs/cm_t35.h                     |  1 -
> >  include/configs/cm_t43.h                     |  1 -
> >  include/configs/corvus.h                     |  1 -
> >  include/configs/exynos5-common.h             |  1 -
> >  include/configs/imx6_spl.h                   |  1 -
> >  include/configs/ipam390.h                    |  1 -
> >  include/configs/kc1.h                        |  1 -
> >  include/configs/m53evk.h                     |  1 -
> >  include/configs/ma5d4evk.h                   |  1 -
> >  include/configs/mxs.h                        |  1 -
> >  include/configs/picosam9g45.h                |  1 -
> >  include/configs/sama5d2_ptc.h                |  1 -
> >  include/configs/sama5d2_xplained.h           |  1 -
> >  include/configs/sama5d3_xplained.h           |  1 -
> >  include/configs/sama5d3xek.h                 |  1 -
> >  include/configs/sama5d4_xplained.h           |  1 -
> >  include/configs/sama5d4ek.h                  |  1 -
> >  include/configs/siemens-am33x-common.h       |  1 -
> >  include/configs/smartweb.h                   |  1 -
> >  include/configs/sniper.h                     |  1 -
> >  include/configs/sunxi-common.h               |  1 -
> >  include/configs/tam3517-common.h             |  1 -
> >  include/configs/tao3530.h                    |  1 -
> >  include/configs/taurus.h                     |  1 -
> >  include/configs/tegra-common.h               |  1 -
> >  include/configs/ti814x_evm.h                 |  1 -
> >  include/configs/ti816x_evm.h                 |  1 -
> >  include/configs/ti_armv7_common.h            |  1 -
> >  include/configs/ti_armv7_keystone2.h         |  1 -
> >  include/configs/tricorder.h                  |  1 -
> >  include/configs/woodburn_sd.h                |  1 -
> >  282 files changed, 392 insertions(+), 235 deletions(-)
> 
> Wouldn't it be better to have a default y in the relevant
> architectures?
> 
> That would reduce the duplication of all those symbols, and would be
> less error-prone.

Yes.  I think the parts of this series that convert from a define to
Kconfig need to also in some cases either default y or be selected,
depending on what type they are, and we can always come back and move
from select to default y too if we get it wrong.  For example, GPIO
support is probably an "all SoC of type ... need" thing so should be
selected, and that's true (I bet) for sunxi and TI (non-keystone, hence
the way it's done today).  Other things like FAT support should be a
default y at least for (non-keystone) TI parts.
Simon Glass Aug. 25, 2016, 12:04 p.m. UTC | #3
Hi,

On 24 August 2016 at 13:30, Tom Rini <trini@konsulko.com> wrote:
> On Wed, Aug 24, 2016 at 08:01:54PM +0200, Maxime Ripard wrote:
>> Hi Simon,
>>
>> On Wed, Aug 24, 2016 at 10:52:03AM -0600, Simon Glass wrote:
>> > Move this option to Kconfig and tidy up existing uses.
>> >
>> > Signed-off-by: Simon Glass <sjg@chromium.org>
>> > ---
>> >
>> >  configs/A10-OLinuXino-Lime_defconfig         |  3 ++-
>> >  configs/A10s-OLinuXino-M_defconfig           |  3 ++-
>> >  configs/A13-OLinuXinoM_defconfig             |  3 ++-
>> >  configs/A13-OLinuXino_defconfig              |  3 ++-
>> >  configs/A20-OLinuXino-Lime2_defconfig        |  3 ++-
>> >  configs/A20-OLinuXino-Lime_defconfig         |  3 ++-
>> >  configs/A20-OLinuXino_MICRO_defconfig        |  5 +++--
>> >  configs/A20-Olimex-SOM-EVB_defconfig         |  5 +++--
>> >  configs/Ainol_AW1_defconfig                  |  1 +
>> >  configs/Ampe_A76_defconfig                   |  3 ++-
>> >  configs/Auxtek-T003_defconfig                |  1 +
>> >  configs/Auxtek-T004_defconfig                |  1 +
>> >  configs/Bananapi_defconfig                   |  3 ++-
>> >  configs/Bananapro_defconfig                  |  3 ++-
>> >  configs/CHIP_defconfig                       |  5 +++--
>> >  configs/CSQ_CS908_defconfig                  |  3 ++-
>> >  configs/Chuwi_V7_CW0825_defconfig            |  1 +
>> >  configs/Colombus_defconfig                   |  3 ++-
>> >  configs/Cubieboard2_defconfig                |  3 ++-
>> >  configs/Cubieboard_defconfig                 |  3 ++-
>> >  configs/Cubietruck_defconfig                 |  3 ++-
>> >  configs/Cubietruck_plus_defconfig            |  2 +-
>> >  configs/Empire_electronix_d709_defconfig     |  3 ++-
>> >  configs/Hummingbird_A31_defconfig            |  3 ++-
>> >  configs/Hyundai_A7HD_defconfig               |  1 +
>> >  configs/Itead_Ibox_A20_defconfig             |  3 ++-
>> >  configs/Lamobo_R1_defconfig                  |  3 ++-
>> >  configs/Linksprite_pcDuino3_Nano_defconfig   |  3 ++-
>> >  configs/Linksprite_pcDuino3_defconfig        |  3 ++-
>> >  configs/Linksprite_pcDuino_defconfig         |  3 ++-
>> >  configs/MK808C_defconfig                     |  1 +
>> >  configs/MSI_Primo73_defconfig                |  1 +
>> >  configs/MSI_Primo81_defconfig                |  1 +
>> >  configs/Marsboard_A10_defconfig              |  3 ++-
>> >  configs/Mele_A1000G_quad_defconfig           |  3 ++-
>> >  configs/Mele_A1000_defconfig                 |  3 ++-
>> >  configs/Mele_I7_defconfig                    |  3 ++-
>> >  configs/Mele_M3_defconfig                    |  3 ++-
>> >  configs/Mele_M5_defconfig                    |  3 ++-
>> >  configs/Mele_M9_defconfig                    |  3 ++-
>> >  configs/Mini-X_defconfig                     |  1 +
>> >  configs/Orangepi_defconfig                   |  3 ++-
>> >  configs/Orangepi_mini_defconfig              |  3 ++-
>> >  configs/Sinlinx_SinA31s_defconfig            |  3 ++-
>> >  configs/Sinlinx_SinA33_defconfig             |  1 +
>> >  configs/Sinovoip_BPI_M2_defconfig            |  3 ++-
>> >  configs/Sinovoip_BPI_M3_defconfig            |  3 ++-
>> >  configs/UTOO_P66_defconfig                   |  1 +
>> >  configs/Wexler_TAB7200_defconfig             |  1 +
>> >  configs/Wits_Pro_A20_DKT_defconfig           |  3 ++-
>> >  configs/Wobo_i5_defconfig                    |  3 ++-
>> >  configs/Yones_Toptech_BD1078_defconfig       |  1 +
>> >  configs/Yones_Toptech_BS1078_V2_defconfig    |  1 +
>> >  configs/am335x_baltos_defconfig              |  1 +
>> >  configs/am335x_boneblack_defconfig           |  1 +
>> >  configs/am335x_boneblack_vboot_defconfig     |  1 +
>> >  configs/am335x_evm_defconfig                 |  1 +
>> >  configs/am335x_evm_nor_defconfig             |  1 +
>> >  configs/am335x_evm_spiboot_defconfig         |  1 +
>> >  configs/am335x_evm_usbspl_defconfig          |  1 +
>> >  configs/am335x_igep0033_defconfig            |  1 +
>> >  configs/am335x_shc_defconfig                 |  1 +
>> >  configs/am335x_shc_ict_defconfig             |  1 +
>> >  configs/am335x_shc_netboot_defconfig         |  1 +
>> >  configs/am335x_shc_prompt_defconfig          |  1 +
>> >  configs/am335x_shc_sdboot_defconfig          |  1 +
>> >  configs/am335x_shc_sdboot_prompt_defconfig   |  1 +
>> >  configs/am335x_sl50_defconfig                |  1 +
>> >  configs/am43xx_evm_defconfig                 |  1 +
>> >  configs/am43xx_evm_ethboot_defconfig         |  1 +
>> >  configs/am43xx_evm_usbhost_boot_defconfig    |  1 +
>> >  configs/am43xx_hs_evm_defconfig              |  1 +
>> >  configs/am57xx_evm_defconfig                 |  1 +
>> >  configs/am57xx_evm_nodt_defconfig            |  1 +
>> >  configs/am57xx_hs_evm_defconfig              |  1 +
>> >  configs/apalis_t30_defconfig                 |  4 ++--
>> >  configs/apx4devkit_defconfig                 |  3 ++-
>> >  configs/arndale_defconfig                    |  5 +++--
>> >  configs/at91sam9m10g45ek_mmc_defconfig       |  1 +
>> >  configs/at91sam9m10g45ek_nandflash_defconfig |  3 ++-
>> >  configs/at91sam9n12ek_nandflash_defconfig    |  3 ++-
>> >  configs/at91sam9n12ek_spiflash_defconfig     |  3 ++-
>> >  configs/at91sam9x5ek_nandflash_defconfig     |  3 ++-
>> >  configs/at91sam9x5ek_spiflash_defconfig      |  3 ++-
>> >  configs/axm_defconfig                        |  5 +++--
>> >  configs/ba10_tv_box_defconfig                |  3 ++-
>> >  configs/beaver_defconfig                     |  4 ++--
>> >  configs/bg0900_defconfig                     |  3 ++-
>> >  configs/birdland_bav335a_defconfig           |  1 +
>> >  configs/birdland_bav335b_defconfig           |  1 +
>> >  configs/brppt1_mmc_defconfig                 |  3 ++-
>> >  configs/brppt1_nand_defconfig                |  3 ++-
>> >  configs/brppt1_spi_defconfig                 |  3 ++-
>> >  configs/brxre1_defconfig                     |  3 ++-
>> >  configs/cairo_defconfig                      |  1 +
>> >  configs/cardhu_defconfig                     |  4 ++--
>> >  configs/cgtqmx6eval_defconfig                |  1 +
>> >  configs/cm_fx6_defconfig                     |  3 ++-
>> >  configs/cm_t335_defconfig                    |  1 +
>> >  configs/cm_t35_defconfig                     |  1 +
>> >  configs/cm_t54_defconfig                     |  1 +
>> >  configs/colibri_t20_defconfig                |  4 ++--
>> >  configs/colibri_t30_defconfig                |  4 ++--
>> >  configs/colorfly_e708_q1_defconfig           |  1 +
>> >  configs/corvus_defconfig                     | 10 ++++-----
>> >  configs/dalmore_defconfig                    |  4 ++--
>> >  configs/devkit8000_defconfig                 |  1 +
>> >  configs/difrnce_dit4350_defconfig            |  3 ++-
>> >  configs/dra7xx_evm_defconfig                 |  1 +
>> >  configs/dra7xx_hs_evm_defconfig              |  1 +
>> >  configs/draco_defconfig                      |  1 +
>> >  configs/dserve_dsrv9703c_defconfig           |  1 +
>> >  configs/duovero_defconfig                    |  1 +
>> >  configs/eco5pk_defconfig                     |  1 +
>> >  configs/etamin_defconfig                     |  1 +
>> >  configs/ga10h_v1_1_defconfig                 |  3 ++-
>> >  configs/gt90h_v4_defconfig                   |  3 ++-
>> >  configs/gwventana_defconfig                  |  1 +
>> >  configs/h8_homlet_v2_defconfig               |  2 +-
>> >  configs/harmony_defconfig                    |  4 ++--
>> >  configs/i12-tvbox_defconfig                  |  3 ++-
>> >  configs/iNet_3F_defconfig                    |  1 +
>> >  configs/iNet_3W_defconfig                    |  1 +
>> >  configs/iNet_86VS_defconfig                  |  1 +
>> >  configs/icnova-a20-swac_defconfig            |  3 ++-
>> >  configs/igep0020_defconfig                   |  1 +
>> >  configs/igep0030_defconfig                   |  1 +
>> >  configs/igep0030_nand_defconfig              |  1 +
>> >  configs/igep0032_defconfig                   |  1 +
>> >  configs/inet1_defconfig                      |  1 +
>> >  configs/inet86dz_defconfig                   |  3 ++-
>> >  configs/inet97fv2_defconfig                  |  1 +
>> >  configs/inet98v_rev2_defconfig               |  3 ++-
>> >  configs/inet9f_rev03_defconfig               |  1 +
>> >  configs/ipam390_defconfig                    |  1 +
>> >  configs/jesurun_q5_defconfig                 |  3 ++-
>> >  configs/jetson-tk1_defconfig                 |  4 ++--
>> >  configs/kc1_defconfig                        |  1 +
>> >  configs/m28evk_defconfig                     |  3 ++-
>> >  configs/m53evk_defconfig                     |  3 ++-
>> >  configs/ma5d4evk_defconfig                   |  3 ++-
>> >  configs/medcom-wide_defconfig                |  4 ++--
>> >  configs/mixtile_loftq_defconfig              |  3 ++-
>> >  configs/mk802_a10s_defconfig                 |  1 +
>> >  configs/mk802_defconfig                      |  3 ++-
>> >  configs/mk802ii_defconfig                    |  1 +
>> >  configs/mt_ventoux_defconfig                 |  1 +
>> >  configs/mx23_olinuxino_defconfig             |  3 ++-
>> >  configs/mx23evk_defconfig                    |  3 ++-
>> >  configs/mx28evk_auart_console_defconfig      |  3 ++-
>> >  configs/mx28evk_defconfig                    |  3 ++-
>> >  configs/mx28evk_nand_defconfig               |  3 ++-
>> >  configs/mx28evk_spi_defconfig                |  3 ++-
>> >  configs/mx6cuboxi_defconfig                  |  1 +
>> >  configs/mx6sabresd_spl_defconfig             |  1 +
>> >  configs/mx6slevk_spl_defconfig               |  1 +
>> >  configs/mx6sxsabresd_spl_defconfig           |  1 +
>> >  configs/mx6ul_14x14_evk_defconfig            |  1 +
>> >  configs/mx6ul_9x9_evk_defconfig              |  1 +
>> >  configs/novena_defconfig                     |  1 +
>> >  configs/nyan-big_defconfig                   |  4 ++--
>> >  configs/omap3_beagle_defconfig               |  1 +
>> >  configs/omap3_ha_defconfig                   |  1 +
>> >  configs/omap3_logic_defconfig                |  1 +
>> >  configs/omap3_overo_defconfig                |  1 +
>> >  configs/omap4_panda_defconfig                |  1 +
>> >  configs/omap4_sdp4430_defconfig              |  1 +
>> >  configs/omap5_uevm_defconfig                 |  1 +
>> >  configs/orangepi_2_defconfig                 |  3 +--
>> >  configs/orangepi_lite_defconfig              |  3 +--
>> >  configs/orangepi_one_defconfig               |  5 ++---
>> >  configs/orangepi_pc_defconfig                |  5 ++---
>> >  configs/orangepi_pc_plus_defconfig           |  5 ++---
>> >  configs/orangepi_plus_defconfig              |  5 ++---
>> >  configs/ot1200_spl_defconfig                 |  3 ++-
>> >  configs/parrot_r16_defconfig                 | 31 ++++++++--------------------
>> >  configs/paz00_defconfig                      |  4 ++--
>> >  configs/pcm051_rev1_defconfig                |  1 +
>> >  configs/pcm051_rev3_defconfig                |  1 +
>> >  configs/pcm058_defconfig                     |  1 +
>> >  configs/peach-pi_defconfig                   |  5 +++--
>> >  configs/peach-pit_defconfig                  |  5 +++--
>> >  configs/pengwyn_defconfig                    |  1 +
>> >  configs/pepper_defconfig                     |  1 +
>> >  configs/picosam9g45_defconfig                |  1 +
>> >  configs/platinum_picon_defconfig             |  1 +
>> >  configs/platinum_titanium_defconfig          |  1 +
>> >  configs/plutux_defconfig                     |  4 ++--
>> >  configs/polaroid_mid2407pxe03_defconfig      |  3 ++-
>> >  configs/polaroid_mid2809pxe04_defconfig      |  3 ++-
>> >  configs/pov_protab2_ips9_defconfig           |  1 +
>> >  configs/pxm2_defconfig                       |  1 +
>> >  configs/q8_a13_tablet_defconfig              |  3 ++-
>> >  configs/q8_a23_tablet_800x480_defconfig      |  3 ++-
>> >  configs/q8_a33_tablet_1024x600_defconfig     |  3 ++-
>> >  configs/q8_a33_tablet_800x480_defconfig      |  3 ++-
>> >  configs/r7-tv-dongle_defconfig               |  1 +
>> >  configs/rastaban_defconfig                   |  1 +
>> >  configs/rut_defconfig                        |  1 +
>> >  configs/sama5d2_ptc_nandflash_defconfig      |  3 ++-
>> >  configs/sama5d2_ptc_spiflash_defconfig       |  3 ++-
>> >  configs/sama5d2_xplained_mmc_defconfig       |  1 +
>> >  configs/sama5d2_xplained_spiflash_defconfig  |  3 ++-
>> >  configs/sama5d3_xplained_mmc_defconfig       |  1 +
>> >  configs/sama5d3_xplained_nandflash_defconfig |  3 ++-
>> >  configs/sama5d3xek_mmc_defconfig             |  1 +
>> >  configs/sama5d3xek_nandflash_defconfig       |  3 ++-
>> >  configs/sama5d3xek_spiflash_defconfig        |  3 ++-
>> >  configs/sama5d4_xplained_mmc_defconfig       |  1 +
>> >  configs/sama5d4_xplained_nandflash_defconfig |  3 ++-
>> >  configs/sama5d4_xplained_spiflash_defconfig  |  3 ++-
>> >  configs/sama5d4ek_mmc_defconfig              |  1 +
>> >  configs/sama5d4ek_nandflash_defconfig        |  3 ++-
>> >  configs/sama5d4ek_spiflash_defconfig         |  3 ++-
>> >  configs/sansa_fuze_plus_defconfig            |  3 ++-
>> >  configs/sc_sps_1_defconfig                   |  3 ++-
>> >  configs/seaboard_defconfig                   |  4 ++--
>> >  configs/smartweb_defconfig                   |  3 ++-
>> >  configs/smdk5250_defconfig                   |  5 +++--
>> >  configs/smdk5420_defconfig                   |  5 +++--
>> >  configs/sniper_defconfig                     |  1 +
>> >  configs/snow_defconfig                       |  5 +++--
>> >  configs/spring_defconfig                     |  5 +++--
>> >  configs/sunxi_Gemei_G9_defconfig             |  1 +
>> >  configs/tao3530_defconfig                    |  1 +
>> >  configs/taurus_defconfig                     |  5 +++--
>> >  configs/tec-ng_defconfig                     |  4 ++--
>> >  configs/tec_defconfig                        |  4 ++--
>> >  configs/thuban_defconfig                     |  1 +
>> >  configs/ti814x_evm_defconfig                 |  1 +
>> >  configs/ti816x_evm_defconfig                 |  1 +
>> >  configs/tricorder_defconfig                  |  1 +
>> >  configs/tricorder_flash_defconfig            |  1 +
>> >  configs/trimslice_defconfig                  |  4 ++--
>> >  configs/twister_defconfig                    |  1 +
>> >  configs/udoo_defconfig                       |  1 +
>> >  configs/venice2_defconfig                    |  4 ++--
>> >  configs/ventana_defconfig                    |  4 ++--
>> >  configs/wandboard_defconfig                  |  1 +
>> >  configs/whistler_defconfig                   |  4 ++--
>> >  configs/woodburn_sd_defconfig                |  3 ++-
>> >  configs/xfi3_defconfig                       |  3 ++-
>> >  configs/xpress_spl_defconfig                 |  1 +
>> >  configs/zc5202_defconfig                     |  1 +
>> >  configs/zc5601_defconfig                     |  1 +
>> >  include/configs/at91sam9m10g45ek.h           |  1 -
>> >  include/configs/at91sam9n12ek.h              |  1 -
>> >  include/configs/at91sam9x5ek.h               |  1 -
>> >  include/configs/brppt1.h                     |  1 -
>> >  include/configs/brxre1.h                     |  1 -
>> >  include/configs/chromebook_jerry.h           |  2 --
>> >  include/configs/cm_t35.h                     |  1 -
>> >  include/configs/cm_t43.h                     |  1 -
>> >  include/configs/corvus.h                     |  1 -
>> >  include/configs/exynos5-common.h             |  1 -
>> >  include/configs/imx6_spl.h                   |  1 -
>> >  include/configs/ipam390.h                    |  1 -
>> >  include/configs/kc1.h                        |  1 -
>> >  include/configs/m53evk.h                     |  1 -
>> >  include/configs/ma5d4evk.h                   |  1 -
>> >  include/configs/mxs.h                        |  1 -
>> >  include/configs/picosam9g45.h                |  1 -
>> >  include/configs/sama5d2_ptc.h                |  1 -
>> >  include/configs/sama5d2_xplained.h           |  1 -
>> >  include/configs/sama5d3_xplained.h           |  1 -
>> >  include/configs/sama5d3xek.h                 |  1 -
>> >  include/configs/sama5d4_xplained.h           |  1 -
>> >  include/configs/sama5d4ek.h                  |  1 -
>> >  include/configs/siemens-am33x-common.h       |  1 -
>> >  include/configs/smartweb.h                   |  1 -
>> >  include/configs/sniper.h                     |  1 -
>> >  include/configs/sunxi-common.h               |  1 -
>> >  include/configs/tam3517-common.h             |  1 -
>> >  include/configs/tao3530.h                    |  1 -
>> >  include/configs/taurus.h                     |  1 -
>> >  include/configs/tegra-common.h               |  1 -
>> >  include/configs/ti814x_evm.h                 |  1 -
>> >  include/configs/ti816x_evm.h                 |  1 -
>> >  include/configs/ti_armv7_common.h            |  1 -
>> >  include/configs/ti_armv7_keystone2.h         |  1 -
>> >  include/configs/tricorder.h                  |  1 -
>> >  include/configs/woodburn_sd.h                |  1 -
>> >  282 files changed, 392 insertions(+), 235 deletions(-)
>>
>> Wouldn't it be better to have a default y in the relevant
>> architectures?
>>
>> That would reduce the duplication of all those symbols, and would be
>> less error-prone.
>
> Yes.  I think the parts of this series that convert from a define to
> Kconfig need to also in some cases either default y or be selected,
> depending on what type they are, and we can always come back and move
> from select to default y too if we get it wrong.  For example, GPIO
> support is probably an "all SoC of type ... need" thing so should be
> selected, and that's true (I bet) for sunxi and TI (non-keystone, hence
> the way it's done today).  Other things like FAT support should be a
> default y at least for (non-keystone) TI parts.

Yes that makes sense to me. I'd argue for a separate patch though
since its hard enough to get things right without making manual
changes.

We have this problem in general too. I believe there are quite a few
options which could benefit from a little bit of karnaugh mapping. I
wonder if we could have a tool which works out what ARCH... options
determine what other options....

Regards,
Simon
Tom Rini Aug. 25, 2016, 10:01 p.m. UTC | #4
On Thu, Aug 25, 2016 at 06:04:47AM -0600, Simon Glass wrote:
> Hi,
> 
> On 24 August 2016 at 13:30, Tom Rini <trini@konsulko.com> wrote:
> > On Wed, Aug 24, 2016 at 08:01:54PM +0200, Maxime Ripard wrote:
> >> Hi Simon,
> >>
> >> On Wed, Aug 24, 2016 at 10:52:03AM -0600, Simon Glass wrote:
> >> > Move this option to Kconfig and tidy up existing uses.
> >> >
> >> > Signed-off-by: Simon Glass <sjg@chromium.org>
> >> > ---
[snip]
> >> >  282 files changed, 392 insertions(+), 235 deletions(-)
> >>
> >> Wouldn't it be better to have a default y in the relevant
> >> architectures?
> >>
> >> That would reduce the duplication of all those symbols, and would be
> >> less error-prone.
> >
> > Yes.  I think the parts of this series that convert from a define to
> > Kconfig need to also in some cases either default y or be selected,
> > depending on what type they are, and we can always come back and move
> > from select to default y too if we get it wrong.  For example, GPIO
> > support is probably an "all SoC of type ... need" thing so should be
> > selected, and that's true (I bet) for sunxi and TI (non-keystone, hence
> > the way it's done today).  Other things like FAT support should be a
> > default y at least for (non-keystone) TI parts.
> 
> Yes that makes sense to me. I'd argue for a separate patch though
> since its hard enough to get things right without making manual
> changes.
> 
> We have this problem in general too. I believe there are quite a few
> options which could benefit from a little bit of karnaugh mapping. I
> wonder if we could have a tool which works out what ARCH... options
> determine what other options....

I think it may be easier for you to develop it as a second series, given
that you have the commits happening automatically as part of the
conversion.  But for review and testing, and since it would need to be
an immediate follow-up, they need to go hand-in-hand.  So, develop as a
follow up, rebase and squash for the rest of us to review?  A 30 part
series that touches 250+ files each time isn't an easy review.

Oh, and feel free to start the series out (or have it near the front) to
savedefconfig everyone as that's also part of the hard part of the
review, the boards that contain very unrelated corrections.  Thanks!
Simon Glass Aug. 26, 2016, 2:14 a.m. UTC | #5
Hi Tom,

On 25 August 2016 at 16:01, Tom Rini <trini@konsulko.com> wrote:
> On Thu, Aug 25, 2016 at 06:04:47AM -0600, Simon Glass wrote:
>> Hi,
>>
>> On 24 August 2016 at 13:30, Tom Rini <trini@konsulko.com> wrote:
>> > On Wed, Aug 24, 2016 at 08:01:54PM +0200, Maxime Ripard wrote:
>> >> Hi Simon,
>> >>
>> >> On Wed, Aug 24, 2016 at 10:52:03AM -0600, Simon Glass wrote:
>> >> > Move this option to Kconfig and tidy up existing uses.
>> >> >
>> >> > Signed-off-by: Simon Glass <sjg@chromium.org>
>> >> > ---
> [snip]
>> >> >  282 files changed, 392 insertions(+), 235 deletions(-)
>> >>
>> >> Wouldn't it be better to have a default y in the relevant
>> >> architectures?
>> >>
>> >> That would reduce the duplication of all those symbols, and would be
>> >> less error-prone.
>> >
>> > Yes.  I think the parts of this series that convert from a define to
>> > Kconfig need to also in some cases either default y or be selected,
>> > depending on what type they are, and we can always come back and move
>> > from select to default y too if we get it wrong.  For example, GPIO
>> > support is probably an "all SoC of type ... need" thing so should be
>> > selected, and that's true (I bet) for sunxi and TI (non-keystone, hence
>> > the way it's done today).  Other things like FAT support should be a
>> > default y at least for (non-keystone) TI parts.
>>
>> Yes that makes sense to me. I'd argue for a separate patch though
>> since its hard enough to get things right without making manual
>> changes.
>>
>> We have this problem in general too. I believe there are quite a few
>> options which could benefit from a little bit of karnaugh mapping. I
>> wonder if we could have a tool which works out what ARCH... options
>> determine what other options....
>
> I think it may be easier for you to develop it as a second series, given
> that you have the commits happening automatically as part of the
> conversion.  But for review and testing, and since it would need to be
> an immediate follow-up, they need to go hand-in-hand.  So, develop as a
> follow up, rebase and squash for the rest of us to review?  A 30 part
> series that touches 250+ files each time isn't an easy review.

So do you mean squash all 30 patches into one, or just the GPIO updates?

I'm also going to see if I can use buildman -K to make sure there are
no effective config changes.

>
> Oh, and feel free to start the series out (or have it near the front) to
> savedefconfig everyone as that's also part of the hard part of the
> review, the boards that contain very unrelated corrections.  Thanks!

Yes, that seems to be needed a lot these days :-)

Regards,
Simon
diff mbox

Patch

diff --git a/configs/A10-OLinuXino-Lime_defconfig b/configs/A10-OLinuXino-Lime_defconfig
index 8cb7ac7..de10488 100644
--- a/configs/A10-OLinuXino-Lime_defconfig
+++ b/configs/A10-OLinuXino-Lime_defconfig
@@ -7,8 +7,9 @@  CONFIG_SYS_CLK_FREQ=912000000
 CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/A10s-OLinuXino-M_defconfig b/configs/A10s-OLinuXino-M_defconfig
index 6a0d815..6fae105 100644
--- a/configs/A10s-OLinuXino-M_defconfig
+++ b/configs/A10s-OLinuXino-M_defconfig
@@ -8,8 +8,9 @@  CONFIG_MMC_SUNXI_SLOT_EXTRA=1
 CONFIG_USB1_VBUS_PIN="PB10"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/A13-OLinuXinoM_defconfig b/configs/A13-OLinuXinoM_defconfig
index a790856..24b43d0 100644
--- a/configs/A13-OLinuXinoM_defconfig
+++ b/configs/A13-OLinuXinoM_defconfig
@@ -12,8 +12,9 @@  CONFIG_VIDEO_LCD_POWER="PB10"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/A13-OLinuXino_defconfig b/configs/A13-OLinuXino_defconfig
index d12a3cc..e8366fc 100644
--- a/configs/A13-OLinuXino_defconfig
+++ b/configs/A13-OLinuXino_defconfig
@@ -14,8 +14,9 @@  CONFIG_VIDEO_LCD_POWER="AXP0-0"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_DFU=y
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig
index cc5858e..c768901 100644
--- a/configs/A20-OLinuXino-Lime2_defconfig
+++ b/configs/A20-OLinuXino-Lime2_defconfig
@@ -7,8 +7,9 @@  CONFIG_USB0_VBUS_PIN="PC17"
 CONFIG_USB0_VBUS_DET="PH5"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/A20-OLinuXino-Lime_defconfig b/configs/A20-OLinuXino-Lime_defconfig
index 7b0309c..dcea241 100644
--- a/configs/A20-OLinuXino-Lime_defconfig
+++ b/configs/A20-OLinuXino-Lime_defconfig
@@ -5,8 +5,9 @@  CONFIG_DRAM_CLK=480
 CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/A20-OLinuXino_MICRO_defconfig b/configs/A20-OLinuXino_MICRO_defconfig
index e4168fa..4f6e912 100644
--- a/configs/A20-OLinuXino_MICRO_defconfig
+++ b/configs/A20-OLinuXino_MICRO_defconfig
@@ -8,12 +8,13 @@  CONFIG_MMC_SUNXI_SLOT_EXTRA=3
 CONFIG_VIDEO_VGA=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP_ALDO3_VOLT=2800
 CONFIG_AXP_ALDO4_VOLT=2800
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/A20-Olimex-SOM-EVB_defconfig b/configs/A20-Olimex-SOM-EVB_defconfig
index 6430606..5206531 100644
--- a/configs/A20-Olimex-SOM-EVB_defconfig
+++ b/configs/A20-Olimex-SOM-EVB_defconfig
@@ -10,13 +10,14 @@  CONFIG_USB0_VBUS_PIN="PB9"
 CONFIG_USB0_VBUS_DET="PH5"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olimex-som-evb"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 CONFIG_RTL8211X_PHY_FORCE_MASTER=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP_ALDO3_VOLT=2800
 CONFIG_AXP_ALDO4_VOLT=2800
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Ainol_AW1_defconfig b/configs/Ainol_AW1_defconfig
index fc1be7d..c3e2bb9 100644
--- a/configs/Ainol_AW1_defconfig
+++ b/configs/Ainol_AW1_defconfig
@@ -14,6 +14,7 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-ainol-aw1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Ampe_A76_defconfig b/configs/Ampe_A76_defconfig
index 8262be5..e80b1f0 100644
--- a/configs/Ampe_A76_defconfig
+++ b/configs/Ampe_A76_defconfig
@@ -14,8 +14,9 @@  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-ampe-a76"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Auxtek-T003_defconfig b/configs/Auxtek-T003_defconfig
index 44f3982..4e53d26 100644
--- a/configs/Auxtek-T003_defconfig
+++ b/configs/Auxtek-T003_defconfig
@@ -8,6 +8,7 @@  CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t003"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Auxtek-T004_defconfig b/configs/Auxtek-T004_defconfig
index 9d5365d..726e85d 100644
--- a/configs/Auxtek-T004_defconfig
+++ b/configs/Auxtek-T004_defconfig
@@ -6,6 +6,7 @@  CONFIG_USB1_VBUS_PIN="PG13"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t004"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Bananapi_defconfig b/configs/Bananapi_defconfig
index d9b1bd6..7dc09d8 100644
--- a/configs/Bananapi_defconfig
+++ b/configs/Bananapi_defconfig
@@ -6,8 +6,9 @@  CONFIG_VIDEO_COMPOSITE=y
 CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Bananapro_defconfig b/configs/Bananapro_defconfig
index 496c20e..4df3aaf 100644
--- a/configs/Bananapro_defconfig
+++ b/configs/Bananapro_defconfig
@@ -8,8 +8,9 @@  CONFIG_VIDEO_COMPOSITE=y
 CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/CHIP_defconfig b/configs/CHIP_defconfig
index 3e8c0a1..e24b371 100644
--- a/configs/CHIP_defconfig
+++ b/configs/CHIP_defconfig
@@ -6,17 +6,18 @@  CONFIG_DRAM_TIMINGS_DDR3_800E_1066G_1333J=y
 CONFIG_USB0_VBUS_PIN="PB10"
 CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-r8-chip"
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_DFU=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_AXP_ALDO3_VOLT=3300
 CONFIG_AXP_ALDO4_VOLT=3300
+CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_MUSB_GADGET=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="Allwinner Technology"
 CONFIG_G_DNL_VENDOR_NUM=0x1f3a
 CONFIG_G_DNL_PRODUCT_NUM=0x1010
-CONFIG_USB_EHCI_HCD=y
diff --git a/configs/CSQ_CS908_defconfig b/configs/CSQ_CS908_defconfig
index 1cb010d..58a7a52 100644
--- a/configs/CSQ_CS908_defconfig
+++ b/configs/CSQ_CS908_defconfig
@@ -6,8 +6,9 @@  CONFIG_USB1_VBUS_PIN=""
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-cs908"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Chuwi_V7_CW0825_defconfig b/configs/Chuwi_V7_CW0825_defconfig
index 3257aae..6914793 100644
--- a/configs/Chuwi_V7_CW0825_defconfig
+++ b/configs/Chuwi_V7_CW0825_defconfig
@@ -14,6 +14,7 @@  CONFIG_VIDEO_LCD_PANEL_HITACHI_TX18D42VM=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-chuwi-v7-cw0825"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Colombus_defconfig b/configs/Colombus_defconfig
index 2ce8cb1..3c50445 100644
--- a/configs/Colombus_defconfig
+++ b/configs/Colombus_defconfig
@@ -16,8 +16,9 @@  CONFIG_VIDEO_LCD_PANEL_I2C_SCL="PA24"
 CONFIG_VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804=y
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-colombus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Cubieboard2_defconfig b/configs/Cubieboard2_defconfig
index 4b9d722..f493996 100644
--- a/configs/Cubieboard2_defconfig
+++ b/configs/Cubieboard2_defconfig
@@ -5,8 +5,9 @@  CONFIG_DRAM_CLK=480
 CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubieboard2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Cubieboard_defconfig b/configs/Cubieboard_defconfig
index c884115..1a44591 100644
--- a/configs/Cubieboard_defconfig
+++ b/configs/Cubieboard_defconfig
@@ -5,8 +5,9 @@  CONFIG_DRAM_CLK=480
 CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-cubieboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Cubietruck_defconfig b/configs/Cubietruck_defconfig
index 4e25392..88074fa 100644
--- a/configs/Cubietruck_defconfig
+++ b/configs/Cubietruck_defconfig
@@ -10,8 +10,9 @@  CONFIG_VIDEO_VGA=y
 CONFIG_GMAC_TX_DELAY=1
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_DFU=y
diff --git a/configs/Cubietruck_plus_defconfig b/configs/Cubietruck_plus_defconfig
index 725652d..7946569 100644
--- a/configs/Cubietruck_plus_defconfig
+++ b/configs/Cubietruck_plus_defconfig
@@ -4,7 +4,6 @@  CONFIG_MACH_SUN8I_A83T=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=15355
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
 CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
 CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
 CONFIG_USB0_ID_DET="PH11"
@@ -15,6 +14,7 @@  CONFIG_AXP_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a83t-cubietruck-plus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Empire_electronix_d709_defconfig b/configs/Empire_electronix_d709_defconfig
index 5f01760..39d8912 100644
--- a/configs/Empire_electronix_d709_defconfig
+++ b/configs/Empire_electronix_d709_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-empire-electronix-d709"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Hummingbird_A31_defconfig b/configs/Hummingbird_A31_defconfig
index 3b0c439..20aeefe 100644
--- a/configs/Hummingbird_A31_defconfig
+++ b/configs/Hummingbird_A31_defconfig
@@ -8,8 +8,9 @@  CONFIG_VIDEO_VGA_VIA_LCD=y
 CONFIG_VIDEO_VGA_EXTERNAL_DAC_EN="PH25"
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-hummingbird"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Hyundai_A7HD_defconfig b/configs/Hyundai_A7HD_defconfig
index fef3685..82aa998 100644
--- a/configs/Hyundai_A7HD_defconfig
+++ b/configs/Hyundai_A7HD_defconfig
@@ -15,6 +15,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-hyundai-a7hd"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Itead_Ibox_A20_defconfig b/configs/Itead_Ibox_A20_defconfig
index cb6dfe4..d4edbca 100644
--- a/configs/Itead_Ibox_A20_defconfig
+++ b/configs/Itead_Ibox_A20_defconfig
@@ -5,8 +5,9 @@  CONFIG_DRAM_CLK=480
 CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-itead-ibox"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Lamobo_R1_defconfig b/configs/Lamobo_R1_defconfig
index d2111c6..55fd5d5 100644
--- a/configs/Lamobo_R1_defconfig
+++ b/configs/Lamobo_R1_defconfig
@@ -6,8 +6,9 @@  CONFIG_MMC0_CD_PIN="PH10"
 CONFIG_GMAC_TX_DELAY=4
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-lamobo-r1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,SATAPWR=SUNXI_GPB(3)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Linksprite_pcDuino3_Nano_defconfig b/configs/Linksprite_pcDuino3_Nano_defconfig
index 378abce..58418b9 100644
--- a/configs/Linksprite_pcDuino3_Nano_defconfig
+++ b/configs/Linksprite_pcDuino3_Nano_defconfig
@@ -7,8 +7,9 @@  CONFIG_USB1_VBUS_PIN="PH11"
 CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3-nano"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Linksprite_pcDuino3_defconfig b/configs/Linksprite_pcDuino3_defconfig
index c3f0421..71cc2e3 100644
--- a/configs/Linksprite_pcDuino3_defconfig
+++ b/configs/Linksprite_pcDuino3_defconfig
@@ -5,8 +5,9 @@  CONFIG_DRAM_CLK=480
 CONFIG_DRAM_ZQ=122
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Linksprite_pcDuino_defconfig b/configs/Linksprite_pcDuino_defconfig
index 9d8d325..04c76c2 100644
--- a/configs/Linksprite_pcDuino_defconfig
+++ b/configs/Linksprite_pcDuino_defconfig
@@ -5,8 +5,9 @@  CONFIG_USB1_VBUS_PIN=""
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pcduino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/MK808C_defconfig b/configs/MK808C_defconfig
index 49bb26a..b0a66a2 100644
--- a/configs/MK808C_defconfig
+++ b/configs/MK808C_defconfig
@@ -5,6 +5,7 @@  CONFIG_DRAM_CLK=384
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-mk808c"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/MSI_Primo73_defconfig b/configs/MSI_Primo73_defconfig
index 5559444..788fe36 100644
--- a/configs/MSI_Primo73_defconfig
+++ b/configs/MSI_Primo73_defconfig
@@ -10,6 +10,7 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-primo73"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/MSI_Primo81_defconfig b/configs/MSI_Primo81_defconfig
index 3d71bf5..949d6b5 100644
--- a/configs/MSI_Primo81_defconfig
+++ b/configs/MSI_Primo81_defconfig
@@ -13,6 +13,7 @@  CONFIG_VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828=y
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-primo81"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Marsboard_A10_defconfig b/configs/Marsboard_A10_defconfig
index cef9794..d0174af 100644
--- a/configs/Marsboard_A10_defconfig
+++ b/configs/Marsboard_A10_defconfig
@@ -3,8 +3,9 @@  CONFIG_ARCH_SUNXI=y
 CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-marsboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Mele_A1000G_quad_defconfig b/configs/Mele_A1000G_quad_defconfig
index 2ac2596..22f1fb8 100644
--- a/configs/Mele_A1000G_quad_defconfig
+++ b/configs/Mele_A1000G_quad_defconfig
@@ -7,8 +7,9 @@  CONFIG_USB1_VBUS_PIN="PC27"
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig
index f076e30..cd94e3f 100644
--- a/configs/Mele_A1000_defconfig
+++ b/configs/Mele_A1000_defconfig
@@ -5,8 +5,9 @@  CONFIG_VIDEO_VGA=y
 CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-a1000"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Mele_I7_defconfig b/configs/Mele_I7_defconfig
index eccf372..0d1a05f 100644
--- a/configs/Mele_I7_defconfig
+++ b/configs/Mele_I7_defconfig
@@ -6,8 +6,9 @@  CONFIG_USB1_VBUS_PIN="PC27"
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Mele_M3_defconfig b/configs/Mele_M3_defconfig
index d72dcc0..76db389 100644
--- a/configs/Mele_M3_defconfig
+++ b/configs/Mele_M3_defconfig
@@ -8,8 +8,9 @@  CONFIG_VIDEO_VGA=y
 CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Mele_M5_defconfig b/configs/Mele_M5_defconfig
index 0d1ba15..ea515f0 100644
--- a/configs/Mele_M5_defconfig
+++ b/configs/Mele_M5_defconfig
@@ -7,8 +7,9 @@  CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Mele_M9_defconfig b/configs/Mele_M9_defconfig
index f0b4384..e44e0da 100644
--- a/configs/Mele_M9_defconfig
+++ b/configs/Mele_M9_defconfig
@@ -6,8 +6,9 @@  CONFIG_USB1_VBUS_PIN="PC27"
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Mini-X_defconfig b/configs/Mini-X_defconfig
index 53f9bfe..efe375f 100644
--- a/configs/Mini-X_defconfig
+++ b/configs/Mini-X_defconfig
@@ -6,6 +6,7 @@  CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mini-xplus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Orangepi_defconfig b/configs/Orangepi_defconfig
index 00c671b..e0240f4 100644
--- a/configs/Orangepi_defconfig
+++ b/configs/Orangepi_defconfig
@@ -9,8 +9,9 @@  CONFIG_VIDEO_COMPOSITE=y
 CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig
index a865255..daded0a 100644
--- a/configs/Orangepi_mini_defconfig
+++ b/configs/Orangepi_mini_defconfig
@@ -11,8 +11,9 @@  CONFIG_VIDEO_COMPOSITE=y
 CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Sinlinx_SinA31s_defconfig b/configs/Sinlinx_SinA31s_defconfig
index ae1f1e8..03e27cb 100644
--- a/configs/Sinlinx_SinA31s_defconfig
+++ b/configs/Sinlinx_SinA31s_defconfig
@@ -10,8 +10,9 @@  CONFIG_USB1_VBUS_PIN=""
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-sina31s"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Sinlinx_SinA33_defconfig b/configs/Sinlinx_SinA33_defconfig
index 013c35e..257d5fd 100644
--- a/configs/Sinlinx_SinA33_defconfig
+++ b/configs/Sinlinx_SinA33_defconfig
@@ -6,6 +6,7 @@  CONFIG_DRAM_ZQ=15291
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-sinlinx-sina33"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Sinovoip_BPI_M2_defconfig b/configs/Sinovoip_BPI_M2_defconfig
index 181e1e2..c4547f3 100644
--- a/configs/Sinovoip_BPI_M2_defconfig
+++ b/configs/Sinovoip_BPI_M2_defconfig
@@ -6,8 +6,9 @@  CONFIG_USB1_VBUS_PIN=""
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-sinovoip-bpi-m2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Sinovoip_BPI_M3_defconfig b/configs/Sinovoip_BPI_M3_defconfig
index 77b0525..354a521 100644
--- a/configs/Sinovoip_BPI_M3_defconfig
+++ b/configs/Sinovoip_BPI_M3_defconfig
@@ -13,8 +13,9 @@  CONFIG_USB1_VBUS_PIN="PD24"
 CONFIG_AXP_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a83t-sinovoip-bpi-m3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SATAPWR=SUNXI_GPD(25)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/UTOO_P66_defconfig b/configs/UTOO_P66_defconfig
index d36a5dc..bda314b 100644
--- a/configs/UTOO_P66_defconfig
+++ b/configs/UTOO_P66_defconfig
@@ -20,6 +20,7 @@  CONFIG_VIDEO_LCD_TL059WV5C0=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-utoo-p66"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Wexler_TAB7200_defconfig b/configs/Wexler_TAB7200_defconfig
index 5f3d624..da765f3 100644
--- a/configs/Wexler_TAB7200_defconfig
+++ b/configs/Wexler_TAB7200_defconfig
@@ -13,6 +13,7 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wexler-tab7200"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Wits_Pro_A20_DKT_defconfig b/configs/Wits_Pro_A20_DKT_defconfig
index bfc8cba..94713ef 100644
--- a/configs/Wits_Pro_A20_DKT_defconfig
+++ b/configs/Wits_Pro_A20_DKT_defconfig
@@ -10,8 +10,9 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wits-pro-a20-dkt"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Wobo_i5_defconfig b/configs/Wobo_i5_defconfig
index 17ed968..887ccd6 100644
--- a/configs/Wobo_i5_defconfig
+++ b/configs/Wobo_i5_defconfig
@@ -7,9 +7,10 @@  CONFIG_USB1_VBUS_PIN="PG12"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-wobo-i5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_AXP_ALDO3_VOLT=3300
 CONFIG_AXP_ALDO4_VOLT=3300
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/Yones_Toptech_BD1078_defconfig b/configs/Yones_Toptech_BD1078_defconfig
index 65c1d8e..5f29604 100644
--- a/configs/Yones_Toptech_BD1078_defconfig
+++ b/configs/Yones_Toptech_BD1078_defconfig
@@ -19,6 +19,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-yones-toptech-bd1078"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/Yones_Toptech_BS1078_V2_defconfig b/configs/Yones_Toptech_BS1078_V2_defconfig
index 958104e..cadf54c 100644
--- a/configs/Yones_Toptech_BS1078_V2_defconfig
+++ b/configs/Yones_Toptech_BS1078_V2_defconfig
@@ -16,6 +16,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-yones-toptech-bs1078-v2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/am335x_baltos_defconfig b/configs/am335x_baltos_defconfig
index 9de2205..a908ce0 100644
--- a/configs/am335x_baltos_defconfig
+++ b/configs/am335x_baltos_defconfig
@@ -9,6 +9,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig
index bace533..f44c342 100644
--- a/configs/am335x_boneblack_defconfig
+++ b/configs/am335x_boneblack_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig
index c9bf36d..6516c3e 100644
--- a/configs/am335x_boneblack_vboot_defconfig
+++ b/configs/am335x_boneblack_vboot_defconfig
@@ -11,6 +11,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index 7952808..9fa931d 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -9,6 +9,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am335x_evm_nor_defconfig b/configs/am335x_evm_nor_defconfig
index c671969..27f4209 100644
--- a/configs/am335x_evm_nor_defconfig
+++ b/configs/am335x_evm_nor_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig
index 485a31b..3190d4d 100644
--- a/configs/am335x_evm_spiboot_defconfig
+++ b/configs/am335x_evm_spiboot_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am335x_evm_usbspl_defconfig b/configs/am335x_evm_usbspl_defconfig
index 8f14cce..7bb9c3d 100644
--- a/configs/am335x_evm_usbspl_defconfig
+++ b/configs/am335x_evm_usbspl_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am335x_igep0033_defconfig b/configs/am335x_igep0033_defconfig
index 57c06bc..d71fb29 100644
--- a/configs/am335x_igep0033_defconfig
+++ b/configs/am335x_igep0033_defconfig
@@ -5,6 +5,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am335x_shc_defconfig b/configs/am335x_shc_defconfig
index 97ebe80..31cd716 100644
--- a/configs/am335x_shc_defconfig
+++ b/configs/am335x_shc_defconfig
@@ -7,6 +7,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/am335x_shc_ict_defconfig b/configs/am335x_shc_ict_defconfig
index be208d7..6500952 100644
--- a/configs/am335x_shc_ict_defconfig
+++ b/configs/am335x_shc_ict_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
diff --git a/configs/am335x_shc_netboot_defconfig b/configs/am335x_shc_netboot_defconfig
index 2f4e97d..2e1687b 100644
--- a/configs/am335x_shc_netboot_defconfig
+++ b/configs/am335x_shc_netboot_defconfig
@@ -9,6 +9,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
diff --git a/configs/am335x_shc_prompt_defconfig b/configs/am335x_shc_prompt_defconfig
index ac61a78..c972cf9 100644
--- a/configs/am335x_shc_prompt_defconfig
+++ b/configs/am335x_shc_prompt_defconfig
@@ -7,6 +7,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
 CONFIG_AUTOBOOT_DELAY_STR="shc"
diff --git a/configs/am335x_shc_sdboot_defconfig b/configs/am335x_shc_sdboot_defconfig
index 983bc45..df0b6db 100644
--- a/configs/am335x_shc_sdboot_defconfig
+++ b/configs/am335x_shc_sdboot_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
diff --git a/configs/am335x_shc_sdboot_prompt_defconfig b/configs/am335x_shc_sdboot_prompt_defconfig
index 983bc45..df0b6db 100644
--- a/configs/am335x_shc_sdboot_prompt_defconfig
+++ b/configs/am335x_shc_sdboot_prompt_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Enter 'shc' to enter prompt (times out) %d \nEnter 'noautoboot' to enter prompt without timeout\n"
diff --git a/configs/am335x_sl50_defconfig b/configs/am335x_sl50_defconfig
index 6e41e57..3c7a31e 100644
--- a/configs/am335x_sl50_defconfig
+++ b/configs/am335x_sl50_defconfig
@@ -8,6 +8,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
index a139c78..6e54c94 100644
--- a/configs/am43xx_evm_defconfig
+++ b/configs/am43xx_evm_defconfig
@@ -13,6 +13,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am43xx_evm_ethboot_defconfig b/configs/am43xx_evm_ethboot_defconfig
index 61f62bf..79274e7 100644
--- a/configs/am43xx_evm_ethboot_defconfig
+++ b/configs/am43xx_evm_ethboot_defconfig
@@ -7,6 +7,7 @@  CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig
index 87c0ebe..ca6b89a 100644
--- a/configs/am43xx_evm_usbhost_boot_defconfig
+++ b/configs/am43xx_evm_usbhost_boot_defconfig
@@ -14,6 +14,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am43xx_hs_evm_defconfig b/configs/am43xx_hs_evm_defconfig
index 39a9989..e033bc6 100644
--- a/configs/am43xx_hs_evm_defconfig
+++ b/configs/am43xx_hs_evm_defconfig
@@ -16,6 +16,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index dea10ab..27f54bf 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -13,6 +13,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am57xx_evm_nodt_defconfig b/configs/am57xx_evm_nodt_defconfig
index 994360d..f09e618 100644
--- a/configs/am57xx_evm_nodt_defconfig
+++ b/configs/am57xx_evm_nodt_defconfig
@@ -5,6 +5,7 @@  CONFIG_SPL=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig
index e05ecec..4ef0999 100644
--- a/configs/am57xx_hs_evm_defconfig
+++ b/configs/am57xx_hs_evm_defconfig
@@ -15,6 +15,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/apalis_t30_defconfig b/configs/apalis_t30_defconfig
index 40a65d2..f3eafe9 100644
--- a/configs/apalis_t30_defconfig
+++ b/configs/apalis_t30_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA30=y
 CONFIG_TARGET_APALIS_T30=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra30-apalis"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Apalis T30 # "
 CONFIG_CMD_BOOTZ=y
@@ -27,6 +27,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_E1000=y
 CONFIG_PCI_TEGRA=y
 CONFIG_SYS_NS16550=y
@@ -38,4 +39,3 @@  CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="NVIDIA"
 CONFIG_G_DNL_VENDOR_NUM=0x0955
 CONFIG_G_DNL_PRODUCT_NUM=0x701a
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/apx4devkit_defconfig b/configs/apx4devkit_defconfig
index a6bac0e..4c9ee76 100644
--- a/configs/apx4devkit_defconfig
+++ b/configs/apx4devkit_defconfig
@@ -1,7 +1,8 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_APX4DEVKIT=y
-CONFIG_SPL=y
 CONFIG_BOOTDELAY=1
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
diff --git a/configs/arndale_defconfig b/configs/arndale_defconfig
index a026fd6..6a27169 100644
--- a/configs/arndale_defconfig
+++ b/configs/arndale_defconfig
@@ -2,11 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_EXYNOS5=y
 CONFIG_TARGET_ARNDALE=y
-CONFIG_DM_I2C=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos5250-arndale"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ARNDALE # "
 CONFIG_CMD_BOOTZ=y
@@ -27,6 +27,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_SOUND=y
 CONFIG_I2S=y
diff --git a/configs/at91sam9m10g45ek_mmc_defconfig b/configs/at91sam9m10g45ek_mmc_defconfig
index d47a346..1dd9d68 100644
--- a/configs/at91sam9m10g45ek_mmc_defconfig
+++ b/configs/at91sam9m10g45ek_mmc_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
diff --git a/configs/at91sam9m10g45ek_nandflash_defconfig b/configs/at91sam9m10g45ek_nandflash_defconfig
index 011fdad..51e6a0f 100644
--- a/configs/at91sam9m10g45ek_nandflash_defconfig
+++ b/configs/at91sam9m10g45ek_nandflash_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_AT91SAM9M10G45EK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
diff --git a/configs/at91sam9n12ek_nandflash_defconfig b/configs/at91sam9n12ek_nandflash_defconfig
index 62efd6e..42e64b0 100644
--- a/configs/at91sam9n12ek_nandflash_defconfig
+++ b/configs/at91sam9n12ek_nandflash_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_AT91SAM9N12EK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/at91sam9n12ek_spiflash_defconfig b/configs/at91sam9n12ek_spiflash_defconfig
index 6a54f03..a77818d 100644
--- a/configs/at91sam9n12ek_spiflash_defconfig
+++ b/configs/at91sam9n12ek_spiflash_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_AT91SAM9N12EK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_SPIFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/at91sam9x5ek_nandflash_defconfig b/configs/at91sam9x5ek_nandflash_defconfig
index 002c833..b932dc5 100644
--- a/configs/at91sam9x5ek_nandflash_defconfig
+++ b/configs/at91sam9x5ek_nandflash_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_AT91SAM9X5EK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/at91sam9x5ek_spiflash_defconfig b/configs/at91sam9x5ek_spiflash_defconfig
index cefe859..6433ee4 100644
--- a/configs/at91sam9x5ek_spiflash_defconfig
+++ b/configs/at91sam9x5ek_spiflash_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_AT91SAM9X5EK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_SPIFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/axm_defconfig b/configs/axm_defconfig
index d1f0c75..1cca4f4 100644
--- a/configs/axm_defconfig
+++ b/configs/axm_defconfig
@@ -2,10 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_TAURUS=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g20-taurus"
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2068,BOARD_AXM"
-CONFIG_HUSH_PARSER=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_BDI is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/ba10_tv_box_defconfig b/configs/ba10_tv_box_defconfig
index 1cfb380..0199c8a 100644
--- a/configs/ba10_tv_box_defconfig
+++ b/configs/ba10_tv_box_defconfig
@@ -8,8 +8,9 @@  CONFIG_USB2_VBUS_PIN="PH12"
 CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-ba10-tvbox"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
index b9323c2..3919aab 100644
--- a/configs/beaver_defconfig
+++ b/configs/beaver_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA30=y
 CONFIG_TARGET_BEAVER=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra30-beaver"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra30 (Beaver) # "
 CONFIG_CMD_BOOTZ=y
@@ -30,6 +30,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_RTL8169=y
@@ -44,4 +45,3 @@  CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="NVIDIA"
 CONFIG_G_DNL_VENDOR_NUM=0x0955
 CONFIG_G_DNL_PRODUCT_NUM=0x701a
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/bg0900_defconfig b/configs/bg0900_defconfig
index b3a13c6..7ceb283 100644
--- a/configs/bg0900_defconfig
+++ b/configs/bg0900_defconfig
@@ -1,7 +1,8 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_BG0900=y
-CONFIG_SPL=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/birdland_bav335a_defconfig b/configs/birdland_bav335a_defconfig
index 243ea69..ef7c0e0 100644
--- a/configs/birdland_bav335a_defconfig
+++ b/configs/birdland_bav335a_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/birdland_bav335b_defconfig b/configs/birdland_bav335b_defconfig
index f1be93b..abf2e64 100644
--- a/configs/birdland_bav335b_defconfig
+++ b/configs/birdland_bav335b_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/brppt1_mmc_defconfig b/configs/brppt1_mmc_defconfig
index cf2800b..31c0e15 100644
--- a/configs/brppt1_mmc_defconfig
+++ b/configs/brppt1_mmc_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_BRPPT1=y
-CONFIG_SPL=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,EMMC_BOOT"
 CONFIG_BOOTDELAY=-2
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/brppt1_nand_defconfig b/configs/brppt1_nand_defconfig
index a14a130..afd3870 100644
--- a/configs/brppt1_nand_defconfig
+++ b/configs/brppt1_nand_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_BRPPT1=y
-CONFIG_SPL=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND"
 CONFIG_BOOTDELAY=-2
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/brppt1_spi_defconfig b/configs/brppt1_spi_defconfig
index fee9973..2182b4e 100644
--- a/configs/brppt1_spi_defconfig
+++ b/configs/brppt1_spi_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_BRPPT1=y
-CONFIG_SPL=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,SPI_BOOT,EMMC_BOOT"
 CONFIG_SPI_BOOT=y
 CONFIG_BOOTDELAY=-2
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/brxre1_defconfig b/configs/brxre1_defconfig
index 2567a40..0dacf1f 100644
--- a/configs/brxre1_defconfig
+++ b/configs/brxre1_defconfig
@@ -1,8 +1,9 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_BRXRE1=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 CONFIG_BOOTDELAY=-2
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_BOOTM is not set
diff --git a/configs/cairo_defconfig b/configs/cairo_defconfig
index 7de1005..c02c083 100644
--- a/configs/cairo_defconfig
+++ b/configs/cairo_defconfig
@@ -5,6 +5,7 @@  CONFIG_BOOTDELAY=-2
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Cairo # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/cardhu_defconfig b/configs/cardhu_defconfig
index 979b693..7798e0c 100644
--- a/configs/cardhu_defconfig
+++ b/configs/cardhu_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA30=y
 CONFIG_TARGET_CARDHU=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra30-cardhu"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra30 (Cardhu) # "
 CONFIG_CMD_BOOTZ=y
@@ -28,6 +28,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_RTL8169=y
@@ -36,4 +37,3 @@  CONFIG_SYS_NS16550=y
 CONFIG_TEGRA20_SLINK=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/cgtqmx6eval_defconfig b/configs/cgtqmx6eval_defconfig
index ea1eb47..4d14e7a 100644
--- a/configs/cgtqmx6eval_defconfig
+++ b/configs/cgtqmx6eval_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,SPL,MX6QDL"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="CGT-QMX6-Quad U-Boot > "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig
index f01a6dd..ca4b2a2 100644
--- a/configs/cm_fx6_defconfig
+++ b/configs/cm_fx6_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_MX6=y
 CONFIG_TARGET_CM_FX6=y
-CONFIG_SPL=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL,SPL"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="CM-FX6 # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/cm_t335_defconfig b/configs/cm_t335_defconfig
index a1ee6d7..057b3ad 100644
--- a/configs/cm_t335_defconfig
+++ b/configs/cm_t335_defconfig
@@ -3,6 +3,7 @@  CONFIG_TARGET_CM_T335=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="CM-T335 # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/cm_t35_defconfig b/configs/cm_t35_defconfig
index a21f2da..4f303e1 100644
--- a/configs/cm_t35_defconfig
+++ b/configs/cm_t35_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_CM_T35=y
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="CM-T3x # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/cm_t54_defconfig b/configs/cm_t54_defconfig
index cba616d..fa6e346 100644
--- a/configs/cm_t54_defconfig
+++ b/configs/cm_t54_defconfig
@@ -6,6 +6,7 @@  CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="CM-T54 # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/colibri_t20_defconfig b/configs/colibri_t20_defconfig
index 5907a33..d0a9078 100644
--- a/configs/colibri_t20_defconfig
+++ b/configs/colibri_t20_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_COLIBRI_T20=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-colibri"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Colibri T20 # "
 CONFIG_CMD_BOOTZ=y
@@ -30,6 +30,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
@@ -47,4 +48,3 @@  CONFIG_G_DNL_VENDOR_NUM=0x0955
 CONFIG_G_DNL_PRODUCT_NUM=0x701a
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_TEGRA20=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/colibri_t30_defconfig b/configs/colibri_t30_defconfig
index c920b39..12c3d59 100644
--- a/configs/colibri_t30_defconfig
+++ b/configs/colibri_t30_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA30=y
 CONFIG_TARGET_COLIBRI_T30=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra30-colibri"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Colibri T30 # "
 CONFIG_CMD_BOOTZ=y
@@ -27,6 +27,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
@@ -36,4 +37,3 @@  CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="NVIDIA"
 CONFIG_G_DNL_VENDOR_NUM=0x0955
 CONFIG_G_DNL_PRODUCT_NUM=0x701a
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/colorfly_e708_q1_defconfig b/configs/colorfly_e708_q1_defconfig
index ae67c37..ed60ff2 100644
--- a/configs/colorfly_e708_q1_defconfig
+++ b/configs/colorfly_e708_q1_defconfig
@@ -16,6 +16,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-colorfly-e708-q1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/corvus_defconfig b/configs/corvus_defconfig
index 51d1516..7a145c8 100644
--- a/configs/corvus_defconfig
+++ b/configs/corvus_defconfig
@@ -2,9 +2,10 @@  CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_CORVUS=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g45-corvus"
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,MACH_TYPE=2066,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
@@ -20,6 +21,8 @@  CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_OF_CONTROL=y
+CONFIG_OF_EMBED=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
@@ -27,9 +30,4 @@  CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="Siemens AG"
 CONFIG_G_DNL_VENDOR_NUM=0x0908
 CONFIG_G_DNL_PRODUCT_NUM=0x02d2
-CONFIG_OF_LIBFDT=y
-CONFIG_OF_CONTROL=y
-CONFIG_OF_EMBED=y
-CONFIG_USB=y
-CONFIG_USB_GADGET=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
index 75eaad8..1340378 100644
--- a/configs/dalmore_defconfig
+++ b/configs/dalmore_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA114=y
 CONFIG_TARGET_DALMORE=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra114-dalmore"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra114 (Dalmore) # "
 CONFIG_CMD_BOOTZ=y
@@ -30,6 +30,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_SYS_NS16550=y
@@ -42,4 +43,3 @@  CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="NVIDIA"
 CONFIG_G_DNL_VENDOR_NUM=0x0955
 CONFIG_G_DNL_PRODUCT_NUM=0x701a
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/devkit8000_defconfig b/configs/devkit8000_defconfig
index 0b4431b..b5fa077 100644
--- a/configs/devkit8000_defconfig
+++ b/configs/devkit8000_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_DEVKIT8000=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMI is not set
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/difrnce_dit4350_defconfig b/configs/difrnce_dit4350_defconfig
index c76af0e..0eb068a 100644
--- a/configs/difrnce_dit4350_defconfig
+++ b/configs/difrnce_dit4350_defconfig
@@ -14,8 +14,9 @@  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-difrnce-dit4350"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
index 4694a3f..975e5ce 100644
--- a/configs/dra7xx_evm_defconfig
+++ b/configs/dra7xx_evm_defconfig
@@ -13,6 +13,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig
index c3ecdca..3a4613d 100644
--- a/configs/dra7xx_hs_evm_defconfig
+++ b/configs/dra7xx_hs_evm_defconfig
@@ -16,6 +16,7 @@  CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/draco_defconfig b/configs/draco_defconfig
index 5afe46c..02f2cbc 100644
--- a/configs/draco_defconfig
+++ b/configs/draco_defconfig
@@ -5,6 +5,7 @@  CONFIG_DEFAULT_DEVICE_TREE="am335x-draco"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/dserve_dsrv9703c_defconfig b/configs/dserve_dsrv9703c_defconfig
index f8155b2..b401d95 100644
--- a/configs/dserve_dsrv9703c_defconfig
+++ b/configs/dserve_dsrv9703c_defconfig
@@ -14,6 +14,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-dserve-dsrv9703c"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/duovero_defconfig b/configs/duovero_defconfig
index 39e9318..a218ec2 100644
--- a/configs/duovero_defconfig
+++ b/configs/duovero_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_DUOVERO=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="duovero # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/eco5pk_defconfig b/configs/eco5pk_defconfig
index cd5f26c..26b134b 100644
--- a/configs/eco5pk_defconfig
+++ b/configs/eco5pk_defconfig
@@ -5,6 +5,7 @@  CONFIG_FIT=y
 CONFIG_BOOTDELAY=10
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ECO5-PK # "
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/etamin_defconfig b/configs/etamin_defconfig
index 215ad57..baeaeed 100644
--- a/configs/etamin_defconfig
+++ b/configs/etamin_defconfig
@@ -5,6 +5,7 @@  CONFIG_DEFAULT_DEVICE_TREE="am335x-draco"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/ga10h_v1_1_defconfig b/configs/ga10h_v1_1_defconfig
index 34e74af..1e7ce59 100644
--- a/configs/ga10h_v1_1_defconfig
+++ b/configs/ga10h_v1_1_defconfig
@@ -16,8 +16,9 @@  CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-ga10h-v1.1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/gt90h_v4_defconfig b/configs/gt90h_v4_defconfig
index a14de0d..a8baac1 100644
--- a/configs/gt90h_v4_defconfig
+++ b/configs/gt90h_v4_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-gt90h-v4"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/gwventana_defconfig b/configs/gwventana_defconfig
index 02a4600..3616be3 100644
--- a/configs/gwventana_defconfig
+++ b/configs/gwventana_defconfig
@@ -11,6 +11,7 @@  CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_DMA_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Ventana > "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/h8_homlet_v2_defconfig b/configs/h8_homlet_v2_defconfig
index e04d96b..60c2dbb 100644
--- a/configs/h8_homlet_v2_defconfig
+++ b/configs/h8_homlet_v2_defconfig
@@ -4,13 +4,13 @@  CONFIG_MACH_SUN8I_A83T=y
 CONFIG_DRAM_CLK=480
 CONFIG_DRAM_ZQ=15355
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
 CONFIG_USB0_VBUS_PIN="PL5"
 CONFIG_USB1_VBUS_PIN="PL6"
 CONFIG_AXP_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a83t-allwinner-h8homlet-v2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig
index e0b9559..ebd56e5 100644
--- a/configs/harmony_defconfig
+++ b/configs/harmony_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_HARMONY=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-harmony"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (Harmony) # "
 CONFIG_CMD_BOOTZ=y
@@ -27,6 +27,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
@@ -38,4 +39,3 @@  CONFIG_USB_ULPI_VIEWPORT=y
 CONFIG_USB_ULPI=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_TEGRA20=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/i12-tvbox_defconfig b/configs/i12-tvbox_defconfig
index 54fa819..ebbbff2 100644
--- a/configs/i12-tvbox_defconfig
+++ b/configs/i12-tvbox_defconfig
@@ -5,8 +5,9 @@  CONFIG_DRAM_CLK=384
 CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-i12-tvbox"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/iNet_3F_defconfig b/configs/iNet_3F_defconfig
index 7ec54a7..9699698 100644
--- a/configs/iNet_3F_defconfig
+++ b/configs/iNet_3F_defconfig
@@ -14,6 +14,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3f"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/iNet_3W_defconfig b/configs/iNet_3W_defconfig
index 5e68769..acf1eec 100644
--- a/configs/iNet_3W_defconfig
+++ b/configs/iNet_3W_defconfig
@@ -14,6 +14,7 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3w"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/iNet_86VS_defconfig b/configs/iNet_86VS_defconfig
index 3dea793..e6e8fce 100644
--- a/configs/iNet_86VS_defconfig
+++ b/configs/iNet_86VS_defconfig
@@ -13,6 +13,7 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-inet-86vs"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/icnova-a20-swac_defconfig b/configs/icnova-a20-swac_defconfig
index 548a07e..e42675d 100644
--- a/configs/icnova-a20-swac_defconfig
+++ b/configs/icnova-a20-swac_defconfig
@@ -12,8 +12,9 @@  CONFIG_VIDEO_LCD_POWER="PH22"
 CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-icnova-swac"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,CMD_BMP,CMD_UNZIP"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/igep0020_defconfig b/configs/igep0020_defconfig
index e8f971a..660a0f5 100644
--- a/configs/igep0020_defconfig
+++ b/configs/igep0020_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/igep0030_defconfig b/configs/igep0030_defconfig
index b47468f..aa06550 100644
--- a/configs/igep0030_defconfig
+++ b/configs/igep0030_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_OMAP3_IGEP00X0=y
 CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND"
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/igep0030_nand_defconfig b/configs/igep0030_nand_defconfig
index 40888d9..3f06c25 100644
--- a/configs/igep0030_nand_defconfig
+++ b/configs/igep0030_nand_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_OMAP3_IGEP00X0=y
 CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND"
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/igep0032_defconfig b/configs/igep0032_defconfig
index eddd0b9..16cdc92 100644
--- a/configs/igep0032_defconfig
+++ b/configs/igep0032_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_OMAP3_IGEP00X0=y
 CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND"
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/inet1_defconfig b/configs/inet1_defconfig
index a8b32cb..bb657fd 100644
--- a/configs/inet1_defconfig
+++ b/configs/inet1_defconfig
@@ -14,6 +14,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/inet86dz_defconfig b/configs/inet86dz_defconfig
index 55768ba..393a4e6 100644
--- a/configs/inet86dz_defconfig
+++ b/configs/inet86dz_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-inet86dz"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/inet97fv2_defconfig b/configs/inet97fv2_defconfig
index 0b03e16..9c3f025 100644
--- a/configs/inet97fv2_defconfig
+++ b/configs/inet97fv2_defconfig
@@ -13,6 +13,7 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet97fv2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/inet98v_rev2_defconfig b/configs/inet98v_rev2_defconfig
index 27b5019..e2c143f 100644
--- a/configs/inet98v_rev2_defconfig
+++ b/configs/inet98v_rev2_defconfig
@@ -14,8 +14,9 @@  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-inet-98v-rev2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/inet9f_rev03_defconfig b/configs/inet9f_rev03_defconfig
index 153450f..84b7214 100644
--- a/configs/inet9f_rev03_defconfig
+++ b/configs/inet9f_rev03_defconfig
@@ -13,6 +13,7 @@  CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet9f-rev03"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/ipam390_defconfig b/configs/ipam390_defconfig
index cee6988..38cd2d0 100644
--- a/configs/ipam390_defconfig
+++ b/configs/ipam390_defconfig
@@ -2,6 +2,7 @@  CONFIG_ARM=y
 CONFIG_ARCH_DAVINCI=y
 CONFIG_TARGET_IPAM390=y
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/jesurun_q5_defconfig b/configs/jesurun_q5_defconfig
index 9cb8b1d..bb0ef46 100644
--- a/configs/jesurun_q5_defconfig
+++ b/configs/jesurun_q5_defconfig
@@ -6,8 +6,9 @@  CONFIG_USB0_VBUS_PIN="PB9"
 CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-jesurun-q5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
index 7b04a0c..8729ed3 100644
--- a/configs/jetson-tk1_defconfig
+++ b/configs/jetson-tk1_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA124=y
 CONFIG_TARGET_JETSON_TK1=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra124-jetson-tk1"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra124 (Jetson TK1) # "
 CONFIG_CMD_BOOTZ=y
@@ -30,6 +30,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_RTL8169=y
@@ -44,4 +45,3 @@  CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="NVIDIA"
 CONFIG_G_DNL_VENDOR_NUM=0x0955
 CONFIG_G_DNL_PRODUCT_NUM=0x701a
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/kc1_defconfig b/configs/kc1_defconfig
index add96a8..4950c3a 100644
--- a/configs/kc1_defconfig
+++ b/configs/kc1_defconfig
@@ -2,6 +2,7 @@  CONFIG_ARM=y
 CONFIG_OMAP44XX=y
 CONFIG_TARGET_KC1=y
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="kc1 # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/m28evk_defconfig b/configs/m28evk_defconfig
index b505d29..e090b0f 100644
--- a/configs/m28evk_defconfig
+++ b/configs/m28evk_defconfig
@@ -1,8 +1,9 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_M28EVK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/m53evk_defconfig b/configs/m53evk_defconfig
index 962e036..51eac35 100644
--- a/configs/m53evk_defconfig
+++ b/configs/m53evk_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_M53EVK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/denx/m53evk/imximage.cfg"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/ma5d4evk_defconfig b/configs/ma5d4evk_defconfig
index 75affaa..110a610 100644
--- a/configs/ma5d4evk_defconfig
+++ b/configs/ma5d4evk_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_MA5D4EVK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D4"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/medcom-wide_defconfig b/configs/medcom-wide_defconfig
index 14cb53a..2123917 100644
--- a/configs/medcom-wide_defconfig
+++ b/configs/medcom-wide_defconfig
@@ -1,11 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_MEDCOM_WIDE=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-medcom-wide"
 CONFIG_FIT=y
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (Medcom-Wide) # "
 CONFIG_CMD_BOOTZ=y
@@ -28,6 +28,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
@@ -37,4 +38,3 @@  CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_TEGRA20=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/mixtile_loftq_defconfig b/configs/mixtile_loftq_defconfig
index ce81309..e95b41a 100644
--- a/configs/mixtile_loftq_defconfig
+++ b/configs/mixtile_loftq_defconfig
@@ -7,8 +7,9 @@  CONFIG_USB1_VBUS_PIN="PH24"
 CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mixtile-loftq"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/mk802_a10s_defconfig b/configs/mk802_a10s_defconfig
index 720aefa..47a0d7b 100644
--- a/configs/mk802_a10s_defconfig
+++ b/configs/mk802_a10s_defconfig
@@ -7,6 +7,7 @@  CONFIG_USB1_VBUS_PIN="PB10"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-mk802"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/mk802_defconfig b/configs/mk802_defconfig
index d38bc7f..5857da6 100644
--- a/configs/mk802_defconfig
+++ b/configs/mk802_defconfig
@@ -4,8 +4,9 @@  CONFIG_MACH_SUN4I=y
 CONFIG_USB2_VBUS_PIN="PH12"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mk802"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/mk802ii_defconfig b/configs/mk802ii_defconfig
index de1b73f..4545c63 100644
--- a/configs/mk802ii_defconfig
+++ b/configs/mk802ii_defconfig
@@ -4,6 +4,7 @@  CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mk802ii"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/mt_ventoux_defconfig b/configs/mt_ventoux_defconfig
index 0b28857..aa4f048 100644
--- a/configs/mt_ventoux_defconfig
+++ b/configs/mt_ventoux_defconfig
@@ -5,6 +5,7 @@  CONFIG_FIT=y
 CONFIG_BOOTDELAY=10
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="mt_ventoux => "
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx23_olinuxino_defconfig b/configs/mx23_olinuxino_defconfig
index a028482..228f795 100644
--- a/configs/mx23_olinuxino_defconfig
+++ b/configs/mx23_olinuxino_defconfig
@@ -1,7 +1,8 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_MX23_OLINUXINO=y
-CONFIG_SPL=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
diff --git a/configs/mx23evk_defconfig b/configs/mx23evk_defconfig
index 5638c52..a3366ee 100644
--- a/configs/mx23evk_defconfig
+++ b/configs/mx23evk_defconfig
@@ -1,7 +1,8 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_MX23EVK=y
-CONFIG_SPL=y
 CONFIG_BOOTDELAY=1
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx28evk_auart_console_defconfig b/configs/mx28evk_auart_console_defconfig
index d43bb53..9e9a223 100644
--- a/configs/mx28evk_auart_console_defconfig
+++ b/configs/mx28evk_auart_console_defconfig
@@ -1,8 +1,9 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_MX28EVK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC"
 CONFIG_BOOTDELAY=1
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx28evk_defconfig b/configs/mx28evk_defconfig
index 0a7564a..9daa8f5 100644
--- a/configs/mx28evk_defconfig
+++ b/configs/mx28evk_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_MX28EVK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="ENV_IS_IN_MMC"
 CONFIG_BOOTDELAY=1
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx28evk_nand_defconfig b/configs/mx28evk_nand_defconfig
index 65d4a6b..79a64cf 100644
--- a/configs/mx28evk_nand_defconfig
+++ b/configs/mx28evk_nand_defconfig
@@ -1,8 +1,9 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_MX28EVK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="ENV_IS_IN_NAND"
 CONFIG_BOOTDELAY=1
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx28evk_spi_defconfig b/configs/mx28evk_spi_defconfig
index d5b001c..66d38bb 100644
--- a/configs/mx28evk_spi_defconfig
+++ b/configs/mx28evk_spi_defconfig
@@ -1,8 +1,9 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_MX28EVK=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="ENV_IS_IN_SPI_FLASH"
 CONFIG_BOOTDELAY=1
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig
index cc20f6a..ca171e5 100644
--- a/configs/mx6cuboxi_defconfig
+++ b/configs/mx6cuboxi_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_MX6CUBOXI=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL"
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx6sabresd_spl_defconfig b/configs/mx6sabresd_spl_defconfig
index 834b6c6..ef0bd82 100644
--- a/configs/mx6sabresd_spl_defconfig
+++ b/configs/mx6sabresd_spl_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,SPL,MX6Q"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx6slevk_spl_defconfig b/configs/mx6slevk_spl_defconfig
index ea13602..2870d5c 100644
--- a/configs/mx6slevk_spl_defconfig
+++ b/configs/mx6slevk_spl_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,SPL,MX6SL"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx6sxsabresd_spl_defconfig b/configs/mx6sxsabresd_spl_defconfig
index d5375df..da08dbb 100644
--- a/configs/mx6sxsabresd_spl_defconfig
+++ b/configs/mx6sxsabresd_spl_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig
index e745d77..606842e 100644
--- a/configs/mx6ul_14x14_evk_defconfig
+++ b/configs/mx6ul_14x14_evk_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/mx6ul_9x9_evk_defconfig b/configs/mx6ul_9x9_evk_defconfig
index 41cc9c5..98a2151 100644
--- a/configs/mx6ul_9x9_evk_defconfig
+++ b/configs/mx6ul_9x9_evk_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/novena_defconfig b/configs/novena_defconfig
index fdeed07..ff31826 100644
--- a/configs/novena_defconfig
+++ b/configs/novena_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6Q"
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
index 262042d..d99d7a7 100644
--- a/configs/nyan-big_defconfig
+++ b/configs/nyan-big_defconfig
@@ -1,12 +1,12 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA124=y
 CONFIG_TARGET_NYAN_BIG=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra124-nyan-big"
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra124 (Nyan-big) # "
 CONFIG_CMD_BOOTZ=y
@@ -36,6 +36,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_CROS_EC_KEYB=y
 CONFIG_CMD_CROS_EC=y
 CONFIG_CROS_EC=y
@@ -61,6 +62,5 @@  CONFIG_DM_VIDEO=y
 CONFIG_DISPLAY=y
 CONFIG_VIDEO_TEGRA124=y
 CONFIG_VIDEO_BRIDGE=y
-CONFIG_USE_PRIVATE_LIBGCC=y
 CONFIG_TPM=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
index cfa25d9..96840fc 100644
--- a/configs/omap3_beagle_defconfig
+++ b/configs/omap3_beagle_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/omap3_ha_defconfig b/configs/omap3_ha_defconfig
index c6048b5..ba5ce55 100644
--- a/configs/omap3_ha_defconfig
+++ b/configs/omap3_ha_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SYS_BOARD_OMAP3_HA"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMI is not set
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig
index d43c876..0c4749d 100644
--- a/configs/omap3_logic_defconfig
+++ b/configs/omap3_logic_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="OMAP Logic # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/omap3_overo_defconfig b/configs/omap3_overo_defconfig
index 7693e8a..4a5e7a1 100644
--- a/configs/omap3_overo_defconfig
+++ b/configs/omap3_overo_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_OMAP3_OVERO=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Overo # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/omap4_panda_defconfig b/configs/omap4_panda_defconfig
index 5bc77dc..de5525b 100644
--- a/configs/omap4_panda_defconfig
+++ b/configs/omap4_panda_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_OMAP4_PANDA=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/omap4_sdp4430_defconfig b/configs/omap4_sdp4430_defconfig
index d60bb95..98e167f 100644
--- a/configs/omap4_sdp4430_defconfig
+++ b/configs/omap4_sdp4430_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_OMAP4_SDP4430=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/omap5_uevm_defconfig b/configs/omap5_uevm_defconfig
index 3f398ee..56f0607 100644
--- a/configs/omap5_uevm_defconfig
+++ b/configs/omap5_uevm_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_OMAP5_UEVM=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/orangepi_2_defconfig b/configs/orangepi_2_defconfig
index 8b1082c..8b3e12d 100644
--- a/configs/orangepi_2_defconfig
+++ b/configs/orangepi_2_defconfig
@@ -4,12 +4,11 @@  CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
 CONFIG_USB1_VBUS_PIN="PG13"
-# CONFIG_VIDEO is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig
index 417e4f6..0092a67 100644
--- a/configs/orangepi_lite_defconfig
+++ b/configs/orangepi_lite_defconfig
@@ -4,11 +4,10 @@  CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
-# CONFIG_VIDEO is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-lite"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig
index 81299e6..579b33d 100644
--- a/configs/orangepi_one_defconfig
+++ b/configs/orangepi_one_defconfig
@@ -4,13 +4,12 @@  CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
-# CONFIG_VIDEO is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-one"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_USB_EHCI_HCD=y
 CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig
index 2281aed..a41d80a 100644
--- a/configs/orangepi_pc_defconfig
+++ b/configs/orangepi_pc_defconfig
@@ -4,14 +4,13 @@  CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=624
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
-# CONFIG_VIDEO is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-pc"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SUN8I_EMAC=y
 CONFIG_SY8106A_POWER=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_SUN8I_EMAC=y
diff --git a/configs/orangepi_pc_plus_defconfig b/configs/orangepi_pc_plus_defconfig
index 3ec6dac..94b49cb 100644
--- a/configs/orangepi_pc_plus_defconfig
+++ b/configs/orangepi_pc_plus_defconfig
@@ -4,15 +4,14 @@  CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=624
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
 CONFIG_MMC_SUNXI_SLOT_EXTRA=2
-# CONFIG_VIDEO is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-pc-plus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
+CONFIG_SUN8I_EMAC=y
 CONFIG_SY8106A_POWER=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_SUN8I_EMAC=y
diff --git a/configs/orangepi_plus_defconfig b/configs/orangepi_plus_defconfig
index 9ff4332..6cae7bd 100644
--- a/configs/orangepi_plus_defconfig
+++ b/configs/orangepi_plus_defconfig
@@ -4,14 +4,13 @@  CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
-CONFIG_MMC0_CD_PIN="PF6"
 CONFIG_MMC_SUNXI_SLOT_EXTRA=2
 CONFIG_USB1_VBUS_PIN="PG13"
-# CONFIG_VIDEO is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-plus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SATAPWR=SUNXI_GPG(11)"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/ot1200_spl_defconfig b/configs/ot1200_spl_defconfig
index 28bc9ba..d406816 100644
--- a/configs/ot1200_spl_defconfig
+++ b/configs/ot1200_spl_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_MX6=y
 CONFIG_TARGET_OT1200=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6Q"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/parrot_r16_defconfig b/configs/parrot_r16_defconfig
index 211a41e..56de67a 100644
--- a/configs/parrot_r16_defconfig
+++ b/configs/parrot_r16_defconfig
@@ -1,35 +1,22 @@ 
 CONFIG_ARM=y
-CONFIG_MACH_SUN8I=y
 CONFIG_ARCH_SUNXI=y
 CONFIG_MACH_SUN8I_A33=y
+CONFIG_DRAM_CLK=600
+CONFIG_DRAM_ZQ=15291
+CONFIG_MMC0_CD_PIN="PD14"
+CONFIG_MMC2_PINS="PC"
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_USB0_ID_DET="PD10"
+CONFIG_USB1_VBUS_PIN="PD12"
+CONFIG_AXP_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-r16-parrot"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_CMD_BOOTZ=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_EXT2=y
-CONFIG_CMD_EXT4=y
-CONFIG_CMD_FAT=y
-CONFIG_CMD_FS_GENERIC=y
-
-CONFIG_CMD_MMC=y
-CONFIG_MMC0_CD_PIN="PD14"
-CONFIG_MMC_SUNXI_SLOT_EXTRA=2
-CONFIG_MMC2_PINS="PC"
-
-CONFIG_DRAM_CLK=600
-CONFIG_DRAM_ZQ=15291
-CONFIG_ODT_EN=y
-
 CONFIG_USB_EHCI_HCD=y
-CONFIG_USB1_VBUS_PIN="PD12"
-
-CONFIG_AXP_GPIO=y
-CONFIG_USB0_ID_DET="PD10"
 CONFIG_USB_MUSB_GADGET=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DOWNLOAD=y
diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig
index 000bbfb..4f9d967 100644
--- a/configs/paz00_defconfig
+++ b/configs/paz00_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_PAZ00=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-paz00"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (Paz00) MOD # "
 CONFIG_CMD_BOOTZ=y
@@ -27,6 +27,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
@@ -36,4 +37,3 @@  CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_TEGRA20=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/pcm051_rev1_defconfig b/configs/pcm051_rev1_defconfig
index e033fcb..4ec166e 100644
--- a/configs/pcm051_rev1_defconfig
+++ b/configs/pcm051_rev1_defconfig
@@ -6,6 +6,7 @@  CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/pcm051_rev3_defconfig b/configs/pcm051_rev3_defconfig
index 1404f9b..2570495 100644
--- a/configs/pcm051_rev3_defconfig
+++ b/configs/pcm051_rev3_defconfig
@@ -6,6 +6,7 @@  CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/pcm058_defconfig b/configs/pcm058_defconfig
index 2ffee10..fb23dd2 100644
--- a/configs/pcm058_defconfig
+++ b/configs/pcm058_defconfig
@@ -7,6 +7,7 @@  CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/peach-pi_defconfig b/configs/peach-pi_defconfig
index 313fb03..ae1f8f1 100644
--- a/configs/peach-pi_defconfig
+++ b/configs/peach-pi_defconfig
@@ -2,11 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_EXYNOS5=y
 CONFIG_TARGET_PEACH_PI=y
-CONFIG_DM_I2C=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos5800-peach-pi"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Peach-Pi # "
 CONFIG_CMD_BOOTZ=y
@@ -32,6 +32,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_I2C_CROS_EC_TUNNEL=y
 CONFIG_I2C_MUX=y
diff --git a/configs/peach-pit_defconfig b/configs/peach-pit_defconfig
index eb5558a..cfc7553 100644
--- a/configs/peach-pit_defconfig
+++ b/configs/peach-pit_defconfig
@@ -2,11 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_EXYNOS5=y
 CONFIG_TARGET_PEACH_PIT=y
-CONFIG_DM_I2C=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos5420-peach-pit"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Peach-Pit # "
 CONFIG_CMD_BOOTZ=y
@@ -32,6 +32,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_I2C_CROS_EC_TUNNEL=y
 CONFIG_I2C_MUX=y
diff --git a/configs/pengwyn_defconfig b/configs/pengwyn_defconfig
index 13f0328..4b0bb4e 100644
--- a/configs/pengwyn_defconfig
+++ b/configs/pengwyn_defconfig
@@ -5,6 +5,7 @@  CONFIG_SPL_ENV_SUPPORT=y
 CONFIG_SPL_ETH_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/pepper_defconfig b/configs/pepper_defconfig
index 5958ee5..010d0b9 100644
--- a/configs/pepper_defconfig
+++ b/configs/pepper_defconfig
@@ -3,6 +3,7 @@  CONFIG_TARGET_PEPPER=y
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="pepper# "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/picosam9g45_defconfig b/configs/picosam9g45_defconfig
index ecc12f5..f17756c 100644
--- a/configs/picosam9g45_defconfig
+++ b/configs/picosam9g45_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
diff --git a/configs/platinum_picon_defconfig b/configs/platinum_picon_defconfig
index 426d922..46e0189 100644
--- a/configs/platinum_picon_defconfig
+++ b/configs/platinum_picon_defconfig
@@ -6,6 +6,7 @@  CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="picon > "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/platinum_titanium_defconfig b/configs/platinum_titanium_defconfig
index fa3c24b..276cb9b 100644
--- a/configs/platinum_titanium_defconfig
+++ b/configs/platinum_titanium_defconfig
@@ -6,6 +6,7 @@  CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_DMA_SUPPORT=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="titanium > "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/plutux_defconfig b/configs/plutux_defconfig
index ed519a0..ec6dc09 100644
--- a/configs/plutux_defconfig
+++ b/configs/plutux_defconfig
@@ -1,11 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_PLUTUX=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-plutux"
 CONFIG_FIT=y
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (Plutux) # "
 CONFIG_CMD_BOOTZ=y
@@ -26,7 +26,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/polaroid_mid2407pxe03_defconfig b/configs/polaroid_mid2407pxe03_defconfig
index 9bf6fbf..ccad304 100644
--- a/configs/polaroid_mid2407pxe03_defconfig
+++ b/configs/polaroid_mid2407pxe03_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-polaroid-mid2407pxe03"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/polaroid_mid2809pxe04_defconfig b/configs/polaroid_mid2809pxe04_defconfig
index 04c99b9..159e19a 100644
--- a/configs/polaroid_mid2809pxe04_defconfig
+++ b/configs/polaroid_mid2809pxe04_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-polaroid-mid2809pxe04"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/pov_protab2_ips9_defconfig b/configs/pov_protab2_ips9_defconfig
index 9aa5280..26c7c2e 100644
--- a/configs/pov_protab2_ips9_defconfig
+++ b/configs/pov_protab2_ips9_defconfig
@@ -14,6 +14,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pov-protab2-ips9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
index f2b84f8..3da4b5c 100644
--- a/configs/pxm2_defconfig
+++ b/configs/pxm2_defconfig
@@ -6,6 +6,7 @@  CONFIG_FIT=y
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/q8_a13_tablet_defconfig b/configs/q8_a13_tablet_defconfig
index b467b62..a0e1363 100644
--- a/configs/q8_a13_tablet_defconfig
+++ b/configs/q8_a13_tablet_defconfig
@@ -14,8 +14,9 @@  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-q8-tablet"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/q8_a23_tablet_800x480_defconfig b/configs/q8_a23_tablet_800x480_defconfig
index 7391464..1c341b3 100644
--- a/configs/q8_a23_tablet_800x480_defconfig
+++ b/configs/q8_a23_tablet_800x480_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-q8-tablet"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/q8_a33_tablet_1024x600_defconfig b/configs/q8_a33_tablet_1024x600_defconfig
index 16f8600..8e14b73 100644
--- a/configs/q8_a33_tablet_1024x600_defconfig
+++ b/configs/q8_a33_tablet_1024x600_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-q8-tablet"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/q8_a33_tablet_800x480_defconfig b/configs/q8_a33_tablet_800x480_defconfig
index 6378918..481066d 100644
--- a/configs/q8_a33_tablet_800x480_defconfig
+++ b/configs/q8_a33_tablet_800x480_defconfig
@@ -15,8 +15,9 @@  CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-q8-tablet"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/r7-tv-dongle_defconfig b/configs/r7-tv-dongle_defconfig
index 9d9d4bf..a20b49d 100644
--- a/configs/r7-tv-dongle_defconfig
+++ b/configs/r7-tv-dongle_defconfig
@@ -6,6 +6,7 @@  CONFIG_USB1_VBUS_PIN="PG13"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-r7-tv-dongle"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
index 08b8383..ae9b8a4 100644
--- a/configs/rastaban_defconfig
+++ b/configs/rastaban_defconfig
@@ -5,6 +5,7 @@  CONFIG_DEFAULT_DEVICE_TREE="am335x-draco"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/rut_defconfig b/configs/rut_defconfig
index 59baf86..48d58d3 100644
--- a/configs/rut_defconfig
+++ b/configs/rut_defconfig
@@ -6,6 +6,7 @@  CONFIG_FIT=y
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/sama5d2_ptc_nandflash_defconfig b/configs/sama5d2_ptc_nandflash_defconfig
index fce501b..2a34ff1 100644
--- a/configs/sama5d2_ptc_nandflash_defconfig
+++ b/configs/sama5d2_ptc_nandflash_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D2_PTC=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMI is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_LOADS is not set
diff --git a/configs/sama5d2_ptc_spiflash_defconfig b/configs/sama5d2_ptc_spiflash_defconfig
index c090264..9f676ed 100644
--- a/configs/sama5d2_ptc_spiflash_defconfig
+++ b/configs/sama5d2_ptc_spiflash_defconfig
@@ -1,9 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D2_PTC=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_SERIALFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMI is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_LOADS is not set
diff --git a/configs/sama5d2_xplained_mmc_defconfig b/configs/sama5d2_xplained_mmc_defconfig
index cf68e66..c74b86d 100644
--- a/configs/sama5d2_xplained_mmc_defconfig
+++ b/configs/sama5d2_xplained_mmc_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig
index 617d73a..1478145 100644
--- a/configs/sama5d2_xplained_spiflash_defconfig
+++ b/configs/sama5d2_xplained_spiflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D2_XPLAINED=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_SERIALFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d3_xplained_mmc_defconfig b/configs/sama5d3_xplained_mmc_defconfig
index 54ad463..ca89280 100644
--- a/configs/sama5d3_xplained_mmc_defconfig
+++ b/configs/sama5d3_xplained_mmc_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d3_xplained_nandflash_defconfig b/configs/sama5d3_xplained_nandflash_defconfig
index d70c3b7..4c418eb 100644
--- a/configs/sama5d3_xplained_nandflash_defconfig
+++ b/configs/sama5d3_xplained_nandflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D3_XPLAINED=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d3xek_mmc_defconfig b/configs/sama5d3xek_mmc_defconfig
index ca91322..ccde6b1 100644
--- a/configs/sama5d3xek_mmc_defconfig
+++ b/configs/sama5d3xek_mmc_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d3xek_nandflash_defconfig b/configs/sama5d3xek_nandflash_defconfig
index 93aef74..d8a9b33 100644
--- a/configs/sama5d3xek_nandflash_defconfig
+++ b/configs/sama5d3xek_nandflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D3XEK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d3xek_spiflash_defconfig b/configs/sama5d3xek_spiflash_defconfig
index a938fe7..d7995ee 100644
--- a/configs/sama5d3xek_spiflash_defconfig
+++ b/configs/sama5d3xek_spiflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D3XEK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_SERIALFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d4_xplained_mmc_defconfig b/configs/sama5d4_xplained_mmc_defconfig
index 4493e64..a6faf14 100644
--- a/configs/sama5d4_xplained_mmc_defconfig
+++ b/configs/sama5d4_xplained_mmc_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SAMA5D4,SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d4_xplained_nandflash_defconfig b/configs/sama5d4_xplained_nandflash_defconfig
index 3af7ed4..32fd7bc 100644
--- a/configs/sama5d4_xplained_nandflash_defconfig
+++ b/configs/sama5d4_xplained_nandflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D4_XPLAINED=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D4,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d4_xplained_spiflash_defconfig b/configs/sama5d4_xplained_spiflash_defconfig
index 0e037c3..0b75df9 100644
--- a/configs/sama5d4_xplained_spiflash_defconfig
+++ b/configs/sama5d4_xplained_spiflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D4_XPLAINED=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D4,SYS_USE_SERIALFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d4ek_mmc_defconfig b/configs/sama5d4ek_mmc_defconfig
index 72b8a49..727cb08 100644
--- a/configs/sama5d4ek_mmc_defconfig
+++ b/configs/sama5d4ek_mmc_defconfig
@@ -6,6 +6,7 @@  CONFIG_SYS_EXTRA_OPTIONS="SAMA5D4,SYS_USE_MMC"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d4ek_nandflash_defconfig b/configs/sama5d4ek_nandflash_defconfig
index 37b080a..21f8adc 100644
--- a/configs/sama5d4ek_nandflash_defconfig
+++ b/configs/sama5d4ek_nandflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D4EK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D4,SYS_USE_NANDFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sama5d4ek_spiflash_defconfig b/configs/sama5d4ek_spiflash_defconfig
index ba939b1..81e26f0 100644
--- a/configs/sama5d4ek_spiflash_defconfig
+++ b/configs/sama5d4ek_spiflash_defconfig
@@ -1,10 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SAMA5D4EK=y
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="SAMA5D4,SYS_USE_SERIALFLASH"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMI is not set
diff --git a/configs/sansa_fuze_plus_defconfig b/configs/sansa_fuze_plus_defconfig
index 16f61de..b9ebb22 100644
--- a/configs/sansa_fuze_plus_defconfig
+++ b/configs/sansa_fuze_plus_defconfig
@@ -1,7 +1,8 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_SANSA_FUZE_PLUS=y
-CONFIG_SPL=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MEMTEST=y
diff --git a/configs/sc_sps_1_defconfig b/configs/sc_sps_1_defconfig
index a3bf903..d7a3d79 100644
--- a/configs/sc_sps_1_defconfig
+++ b/configs/sc_sps_1_defconfig
@@ -1,7 +1,8 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_SC_SPS_1=y
-CONFIG_SPL=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig
index 3c5c413..40c9701 100644
--- a/configs/seaboard_defconfig
+++ b/configs/seaboard_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_SEABOARD=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-seaboard"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (SeaBoard) # "
 CONFIG_CMD_BOOTZ=y
@@ -28,6 +28,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
@@ -37,4 +38,3 @@  CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_TEGRA20=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/smartweb_defconfig b/configs/smartweb_defconfig
index cf8bff6..54d07c3 100644
--- a/configs/smartweb_defconfig
+++ b/configs/smartweb_defconfig
@@ -2,10 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_SMARTWEB=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9260-smartweb"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/smdk5250_defconfig b/configs/smdk5250_defconfig
index 7fe410d..111ebb8 100644
--- a/configs/smdk5250_defconfig
+++ b/configs/smdk5250_defconfig
@@ -2,11 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_EXYNOS5=y
 CONFIG_TARGET_SMDK5250=y
-CONFIG_DM_I2C=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos5250-smdk5250"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="SMDK5250 # "
 CONFIG_CMD_BOOTZ=y
@@ -31,6 +31,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
diff --git a/configs/smdk5420_defconfig b/configs/smdk5420_defconfig
index 43d3389..b742b96 100644
--- a/configs/smdk5420_defconfig
+++ b/configs/smdk5420_defconfig
@@ -2,11 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_EXYNOS5=y
 CONFIG_TARGET_SMDK5420=y
-CONFIG_DM_I2C=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos5420-smdk5420"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="SMDK5420 # "
 CONFIG_CMD_BOOTZ=y
@@ -28,6 +28,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
diff --git a/configs/sniper_defconfig b/configs/sniper_defconfig
index 3fb2954..42e27d3 100644
--- a/configs/sniper_defconfig
+++ b/configs/sniper_defconfig
@@ -3,6 +3,7 @@  CONFIG_OMAP34XX=y
 CONFIG_TARGET_SNIPER=y
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="sniper # "
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/snow_defconfig b/configs/snow_defconfig
index c16c90c..066861c 100644
--- a/configs/snow_defconfig
+++ b/configs/snow_defconfig
@@ -2,11 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_EXYNOS5=y
 CONFIG_TARGET_SNOW=y
-CONFIG_DM_I2C=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos5250-snow"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="snow # "
 CONFIG_CMD_BOOTZ=y
@@ -33,6 +33,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_I2C_CROS_EC_LDO=y
 CONFIG_I2C_MUX=y
diff --git a/configs/spring_defconfig b/configs/spring_defconfig
index b68cab0..6c122a8 100644
--- a/configs/spring_defconfig
+++ b/configs/spring_defconfig
@@ -2,11 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_EXYNOS5=y
 CONFIG_TARGET_SPRING=y
-CONFIG_DM_I2C=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos5250-spring"
-CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="spring # "
 CONFIG_CMD_BOOTZ=y
@@ -33,6 +33,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_DM_I2C=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_I2C_CROS_EC_LDO=y
 CONFIG_I2C_MUX=y
diff --git a/configs/sunxi_Gemei_G9_defconfig b/configs/sunxi_Gemei_G9_defconfig
index 6d39dec..440011f 100644
--- a/configs/sunxi_Gemei_G9_defconfig
+++ b/configs/sunxi_Gemei_G9_defconfig
@@ -11,6 +11,7 @@  CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-gemei-g9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/tao3530_defconfig b/configs/tao3530_defconfig
index e627c76..090d018 100644
--- a/configs/tao3530_defconfig
+++ b/configs/tao3530_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_TAO3530=y
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="TAO-3530 # "
 # CONFIG_CMD_IMI is not set
diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
index f451515..fa99a57 100644
--- a/configs/taurus_defconfig
+++ b/configs/taurus_defconfig
@@ -2,10 +2,11 @@  CONFIG_ARM=y
 CONFIG_ARCH_AT91=y
 CONFIG_TARGET_TAURUS=y
 CONFIG_DEFAULT_DEVICE_TREE="at91sam9g20-taurus"
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2067,BOARD_TAURUS"
-CONFIG_HUSH_PARSER=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot> "
 # CONFIG_CMD_BDI is not set
 CONFIG_CMD_BOOTZ=y
diff --git a/configs/tec-ng_defconfig b/configs/tec-ng_defconfig
index b710229..9027113 100644
--- a/configs/tec-ng_defconfig
+++ b/configs/tec-ng_defconfig
@@ -1,11 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA30=y
 CONFIG_TARGET_TEC_NG=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra30-tec-ng"
 CONFIG_FIT=y
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra30 (TEC-NG) # "
 CONFIG_CMD_BOOTZ=y
@@ -29,10 +29,10 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_SYS_NS16550=y
 CONFIG_TEGRA20_SLINK=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/tec_defconfig b/configs/tec_defconfig
index dc7169b..fe6d686 100644
--- a/configs/tec_defconfig
+++ b/configs/tec_defconfig
@@ -1,11 +1,11 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_TEC=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-tec"
 CONFIG_FIT=y
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (TEC) # "
 CONFIG_CMD_BOOTZ=y
@@ -28,6 +28,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
@@ -37,4 +38,3 @@  CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_TEGRA20=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
index 56707da..d889ff7 100644
--- a/configs/thuban_defconfig
+++ b/configs/thuban_defconfig
@@ -5,6 +5,7 @@  CONFIG_DEFAULT_DEVICE_TREE="am335x-draco"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 CONFIG_AUTOBOOT_KEYED=y
diff --git a/configs/ti814x_evm_defconfig b/configs/ti814x_evm_defconfig
index fd73d88..3808300 100644
--- a/configs/ti814x_evm_defconfig
+++ b/configs/ti814x_evm_defconfig
@@ -3,6 +3,7 @@  CONFIG_TARGET_TI814X_EVM=y
 CONFIG_BOOTDELAY=1
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="U-Boot# "
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/ti816x_evm_defconfig b/configs/ti816x_evm_defconfig
index 68cfbcb..28584c5 100644
--- a/configs/ti816x_evm_defconfig
+++ b/configs/ti816x_evm_defconfig
@@ -3,6 +3,7 @@  CONFIG_TARGET_TI816X_EVM=y
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="u-boot/ti816x# "
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig
index 0bb220b..6b1e96d 100644
--- a/configs/tricorder_defconfig
+++ b/configs/tricorder_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_TRICORDER=y
 CONFIG_BOOTDELAY=0
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="OMAP3 Tricorder # "
 # CONFIG_CMD_IMI is not set
diff --git a/configs/tricorder_flash_defconfig b/configs/tricorder_flash_defconfig
index 3089484..c955c07 100644
--- a/configs/tricorder_flash_defconfig
+++ b/configs/tricorder_flash_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="FLASHCARD"
 CONFIG_BOOTDELAY=0
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMI is not set
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/trimslice_defconfig b/configs/trimslice_defconfig
index 67857a5..586d11d 100644
--- a/configs/trimslice_defconfig
+++ b/configs/trimslice_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_TRIMSLICE=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-trimslice"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (TrimSlice) # "
 CONFIG_CMD_BOOTZ=y
@@ -28,6 +28,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_RTL8169=y
@@ -36,4 +37,3 @@  CONFIG_SYS_NS16550=y
 CONFIG_TEGRA20_SFLASH=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/twister_defconfig b/configs/twister_defconfig
index 2bbc870..aac6c59 100644
--- a/configs/twister_defconfig
+++ b/configs/twister_defconfig
@@ -5,6 +5,7 @@  CONFIG_FIT=y
 CONFIG_BOOTDELAY=10
 CONFIG_SPL=y
 CONFIG_SPL_FAT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="twister => "
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/udoo_defconfig b/configs/udoo_defconfig
index 83a15c4..2ccce76 100644
--- a/configs/udoo_defconfig
+++ b/configs/udoo_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
index 17a6000..03b815e 100644
--- a/configs/venice2_defconfig
+++ b/configs/venice2_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA124=y
 CONFIG_TARGET_VENICE2=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra124-venice2"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra124 (Venice2) # "
 CONFIG_CMD_BOOTZ=y
@@ -30,6 +30,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_SYS_NS16550=y
@@ -42,4 +43,3 @@  CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_G_DNL_MANUFACTURER="NVIDIA"
 CONFIG_G_DNL_VENDOR_NUM=0x0955
 CONFIG_G_DNL_PRODUCT_NUM=0x701a
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig
index 07a4afe..ee28964 100644
--- a/configs/ventana_defconfig
+++ b/configs/ventana_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_VENTANA=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-ventana"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (Ventana) # "
 CONFIG_CMD_BOOTZ=y
@@ -27,6 +27,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
@@ -36,4 +37,3 @@  CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_TEGRA20=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig
index 3675577..e43515a 100644
--- a/configs/wandboard_defconfig
+++ b/configs/wandboard_defconfig
@@ -4,6 +4,7 @@  CONFIG_TARGET_WANDBOARD=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL"
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/whistler_defconfig b/configs/whistler_defconfig
index ca753a4..28daafc 100644
--- a/configs/whistler_defconfig
+++ b/configs/whistler_defconfig
@@ -1,10 +1,10 @@ 
 CONFIG_ARM=y
 CONFIG_TEGRA=y
-CONFIG_SPL_DM=y
 CONFIG_TEGRA20=y
 CONFIG_TARGET_WHISTLER=y
 CONFIG_DEFAULT_DEVICE_TREE="tegra20-whistler"
 CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Tegra20 (Whistler) # "
 CONFIG_CMD_BOOTZ=y
@@ -26,7 +26,7 @@  CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SPL_DM=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
-CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/woodburn_sd_defconfig b/configs/woodburn_sd_defconfig
index 3b38130..987bbbc 100644
--- a/configs/woodburn_sd_defconfig
+++ b/configs/woodburn_sd_defconfig
@@ -1,8 +1,9 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_WOODBURN_SD=y
-CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/woodburn/imximage.cfg"
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="woodburn U-Boot > "
 CONFIG_CMD_MMC=y
diff --git a/configs/xfi3_defconfig b/configs/xfi3_defconfig
index 31a647e..1929483 100644
--- a/configs/xfi3_defconfig
+++ b/configs/xfi3_defconfig
@@ -1,7 +1,8 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_XFI3=y
-CONFIG_SPL=y
 CONFIG_BOOTDELAY=3
+CONFIG_SPL=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
diff --git a/configs/xpress_spl_defconfig b/configs/xpress_spl_defconfig
index 322b4df..0f923c6 100644
--- a/configs/xpress_spl_defconfig
+++ b/configs/xpress_spl_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/zc5202_defconfig b/configs/zc5202_defconfig
index 16b2a61..38e6899 100644
--- a/configs/zc5202_defconfig
+++ b/configs/zc5202_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6Q"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_I2C=y
diff --git a/configs/zc5601_defconfig b/configs/zc5601_defconfig
index 4bfc20b..2a95c38 100644
--- a/configs/zc5601_defconfig
+++ b/configs/zc5601_defconfig
@@ -5,6 +5,7 @@  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6Q"
 CONFIG_BOOTDELAY=3
 CONFIG_SPL=y
 CONFIG_SPL_EXT_SUPPORT=y
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_I2C=y
diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h
index 8864182..6299462 100644
--- a/include/configs/at91sam9m10g45ek.h
+++ b/include/configs/at91sam9m10g45ek.h
@@ -190,7 +190,6 @@ 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 
 #define CONFIG_SYS_MONITOR_LEN		0x80000
 
diff --git a/include/configs/at91sam9n12ek.h b/include/configs/at91sam9n12ek.h
index 3be1072..9bda74f 100644
--- a/include/configs/at91sam9n12ek.h
+++ b/include/configs/at91sam9n12ek.h
@@ -233,7 +233,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/at91sam9x5ek.h b/include/configs/at91sam9x5ek.h
index d8748fa..903a549 100644
--- a/include/configs/at91sam9x5ek.h
+++ b/include/configs/at91sam9x5ek.h
@@ -233,7 +233,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/brppt1.h b/include/configs/brppt1.h
index 6a239b5..b0fba16 100644
--- a/include/configs/brppt1.h
+++ b/include/configs/brppt1.h
@@ -26,7 +26,6 @@ 
 #define CONFIG_OMAP_WATCHDOG
 #define CONFIG_SPL_WATCHDOG_SUPPORT
 
-#define CONFIG_SPL_GPIO_SUPPORT
 /* Bootcount using the RTC block */
 #define CONFIG_SYS_BOOTCOUNT_ADDR	0x44E3E000
 #define CONFIG_BOOTCOUNT_LIMIT
diff --git a/include/configs/brxre1.h b/include/configs/brxre1.h
index 11f56bf..3035eed 100644
--- a/include/configs/brxre1.h
+++ b/include/configs/brxre1.h
@@ -42,7 +42,6 @@ 
 #define CONFIG_SYS_OMAP24_I2C_SPEED_PSOC	20000
 
 /* GPIO */
-#define CONFIG_SPL_GPIO_SUPPORT
 
 /* MMC/SD IP block */
 #define CONFIG_MMC
diff --git a/include/configs/chromebook_jerry.h b/include/configs/chromebook_jerry.h
index d1f5b46..9d54e77 100644
--- a/include/configs/chromebook_jerry.h
+++ b/include/configs/chromebook_jerry.h
@@ -22,8 +22,6 @@ 
 
 #define CONFIG_CMD_SF_TEST
 
-#undef CONFIG_SPL_GPIO_SUPPORT
-
 #define CONFIG_KEYBOARD
 
 #define CONFIG_SPL_POWER_SUPPORT
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index 47545c6..b77f3dd 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -317,7 +317,6 @@ 
 #define CONFIG_SPL_NAND_BASE
 #define CONFIG_SPL_NAND_DRIVERS
 #define CONFIG_SPL_NAND_ECC
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_POWER_SUPPORT
 #define CONFIG_SPL_OMAP3_ID_NAND
 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index 5d94f13..3010449 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -93,7 +93,6 @@ 
 
 #include <configs/ti_armv7_omap.h>
 #undef CONFIG_SPL_OS_BOOT
-#undef CONFIG_SPL_GPIO_SUPPORT
 #undef CONFIG_SPL_NAND_SUPPORT
 #undef CONFIG_SYS_MONITOR_LEN
 #undef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
diff --git a/include/configs/corvus.h b/include/configs/corvus.h
index 28ea15b..95fcb78 100644
--- a/include/configs/corvus.h
+++ b/include/configs/corvus.h
@@ -167,7 +167,6 @@ 
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_NAND_DRIVERS
 #define CONFIG_SPL_NAND_BASE
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h
index f2ed798..acc983e 100644
--- a/include/configs/exynos5-common.h
+++ b/include/configs/exynos5-common.h
@@ -59,7 +59,6 @@ 
 #define CONFIG_SUPPORT_EMMC_BOOT
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 
 /* specific .lds file */
diff --git a/include/configs/imx6_spl.h b/include/configs/imx6_spl.h
index 4b7c285..208245f 100644
--- a/include/configs/imx6_spl.h
+++ b/include/configs/imx6_spl.h
@@ -33,7 +33,6 @@ 
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_WATCHDOG_SUPPORT
 
 /* NAND support */
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index b36b75d..2b06fe4 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -310,7 +310,6 @@ 
 #define CONFIG_CMD_SPL_WRITE_SIZE	0x400
 
 /* GPIO support */
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_DA8XX_GPIO
 #define CONFIG_IPAM390_GPIO_BOOTMODE	((16 * 7) + 14)
 
diff --git a/include/configs/kc1.h b/include/configs/kc1.h
index b08cf21..8851621 100644
--- a/include/configs/kc1.h
+++ b/include/configs/kc1.h
@@ -134,7 +134,6 @@ 
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_POWER_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_SPL_MMC_SUPPORT
 
diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h
index 781a162..c22da52 100644
--- a/include/configs/m53evk.h
+++ b/include/configs/m53evk.h
@@ -241,7 +241,6 @@ 
 #define CONFIG_SPL_TEXT_BASE		0x70008000
 #define CONFIG_SPL_PAD_TO		0x8000
 #define CONFIG_SPL_STACK		0x70004000
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/ma5d4evk.h b/include/configs/ma5d4evk.h
index b4bd6b0..e9c4c32 100644
--- a/include/configs/ma5d4evk.h
+++ b/include/configs/ma5d4evk.h
@@ -220,7 +220,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/mxs.h b/include/configs/mxs.h
index 238b16d..0986b3c 100644
--- a/include/configs/mxs.h
+++ b/include/configs/mxs.h
@@ -52,7 +52,6 @@ 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 
 /* Memory sizes */
 #define CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for malloc */
diff --git a/include/configs/picosam9g45.h b/include/configs/picosam9g45.h
index 1e424cd..20407b8 100644
--- a/include/configs/picosam9g45.h
+++ b/include/configs/picosam9g45.h
@@ -167,7 +167,6 @@ 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_WATCHDOG_SUPPORT
 
 #define CONFIG_SYS_MONITOR_LEN		0x80000
diff --git a/include/configs/sama5d2_ptc.h b/include/configs/sama5d2_ptc.h
index d91d75e..fe33390 100644
--- a/include/configs/sama5d2_ptc.h
+++ b/include/configs/sama5d2_ptc.h
@@ -124,7 +124,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/sama5d2_xplained.h b/include/configs/sama5d2_xplained.h
index ae1f2be..ee3cd43 100644
--- a/include/configs/sama5d2_xplained.h
+++ b/include/configs/sama5d2_xplained.h
@@ -128,7 +128,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/sama5d3_xplained.h b/include/configs/sama5d3_xplained.h
index 697fcb0..f947cb5 100644
--- a/include/configs/sama5d3_xplained.h
+++ b/include/configs/sama5d3_xplained.h
@@ -127,7 +127,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h
index 20d55a8..1b6b527 100644
--- a/include/configs/sama5d3xek.h
+++ b/include/configs/sama5d3xek.h
@@ -167,7 +167,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/sama5d4_xplained.h b/include/configs/sama5d4_xplained.h
index 9874583..5f71eba 100644
--- a/include/configs/sama5d4_xplained.h
+++ b/include/configs/sama5d4_xplained.h
@@ -127,7 +127,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/sama5d4ek.h b/include/configs/sama5d4ek.h
index 911f9f8..046c533 100644
--- a/include/configs/sama5d4ek.h
+++ b/include/configs/sama5d4ek.h
@@ -125,7 +125,6 @@ 
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index 8ff7981..67f1199 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -144,7 +144,6 @@ 
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_YMODEM_SUPPORT
 
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_WATCHDOG_SUPPORT
 
 #define CONFIG_SPL_SPI_SUPPORT
diff --git a/include/configs/smartweb.h b/include/configs/smartweb.h
index 076a5ce..f3bc87d 100644
--- a/include/configs/smartweb.h
+++ b/include/configs/smartweb.h
@@ -245,7 +245,6 @@ 
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SYS_NAND_ENABLE_PIN_SPL	(2*32 + 14)
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SYS_USE_NANDFLASH	1
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index 34fe18e..71f2ada 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -143,7 +143,6 @@ 
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_POWER_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_SPL_MMC_SUPPORT
 
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index b9aa62b..0371f70 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -293,7 +293,6 @@  extern int soft_i2c_gpio_scl;
 
 /* GPIO */
 #define CONFIG_SUNXI_GPIO
-#define CONFIG_SPL_GPIO_SUPPORT
 
 #ifdef CONFIG_VIDEO
 /*
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index 8ff4aaa..d4c3e37 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -210,7 +210,6 @@ 
 #define CONFIG_SPL_MMC_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_POWER_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_NAND_BASE
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index ae90547..a768bd9 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -301,7 +301,6 @@ 
 #define CONFIG_SPL_NAND_BASE
 #define CONFIG_SPL_NAND_DRIVERS
 #define CONFIG_SPL_NAND_ECC
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_POWER_SUPPORT
 #define CONFIG_SPL_OMAP3_ID_NAND
 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
diff --git a/include/configs/taurus.h b/include/configs/taurus.h
index 2d091db..41669b4 100644
--- a/include/configs/taurus.h
+++ b/include/configs/taurus.h
@@ -266,7 +266,6 @@ 
 #define CONFIG_SPL_SERIAL_SUPPORT
 
 #define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SYS_NAND_ENABLE_PIN_SPL	(2*32 + 14)
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SYS_USE_NANDFLASH	1
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 7b0940a..5f4b980 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -125,7 +125,6 @@ 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_BOARD_LATE_INIT
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index ecd54bb..1ef7133 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -174,7 +174,6 @@ 
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_YMODEM_SUPPORT
 #define CONFIG_SYS_SPI_U_BOOT_OFFS	0x20000
 #define CONFIG_SYS_SPI_U_BOOT_SIZE	0x40000
diff --git a/include/configs/ti816x_evm.h b/include/configs/ti816x_evm.h
index 73e5f06..bb91828 100644
--- a/include/configs/ti816x_evm.h
+++ b/include/configs/ti816x_evm.h
@@ -140,7 +140,6 @@ 
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_YMODEM_SUPPORT
 #define CONFIG_SYS_SPI_U_BOOT_OFFS  0x20000
 #define CONFIG_SYS_SPI_U_BOOT_SIZE  0x40000
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index c6fdfe1..513a860 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -269,7 +269,6 @@ 
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_POWER_SUPPORT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_BOARD_INIT
 
 #ifdef CONFIG_NAND
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 1145d83..8fc98f1 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -315,7 +315,6 @@ 
 #undef CONFIG_GENERIC_MMC
 
 /* And no support for GPIO, yet.. */
-#undef CONFIG_SPL_GPIO_SUPPORT
 
 /* we may include files below only after all above definitions */
 #include <asm/arch/hardware.h>
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 3a9bf7e..b636b1a 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -321,7 +321,6 @@ 
 #define CONFIG_SPL_NAND_SIMPLE
 
 #define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_GPIO_SUPPORT
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
diff --git a/include/configs/woodburn_sd.h b/include/configs/woodburn_sd.h
index 25bfeef..f74e120 100644
--- a/include/configs/woodburn_sd.h
+++ b/include/configs/woodburn_sd.h
@@ -30,7 +30,6 @@ 
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR	0x100 /* address 0x60000 */
 #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS	0x400 /* 512 KB */
-#define	CONFIG_SPL_GPIO_SUPPORT
 
 #define CONFIG_SPL_TEXT_BASE		0x10002300
 #define CONFIG_SPL_MAX_SIZE		(64 * 1024)	/* 8 KB for stack */