CONFIG_CMD_MII          * MII utility commands
                CONFIG_CMD_NET            bootp, tftpboot, rarpboot
                CONFIG_CMD_NFS            NFS support
-               CONFIG_CMD_PCA953X      * PCA953x I2C gpio commands
                CONFIG_CMD_PCA953X_INFO * PCA953x I2C gpio info command
                CONFIG_CMD_PCI          * pciinfo
                CONFIG_CMD_PCMCIA               * PCMCIA support
 
        bool "Support strider"
        select SYS_FSL_ERRATUM_ESDHC111
        imply ENV_IS_IN_FLASH
+       imply CMD_PCA953X
 
 endchoice
 
 
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_ISO_PARTITION=y
+CONFIG_CMD_PCA953X=y
 CONFIG_LED_STATUS=y
 CONFIG_LED_STATUS_GPIO=y
 CONFIG_LED_STATUS0=y
 
 CONFIG_CMD_MTDPARTS=y
 CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
+CONFIG_CMD_PCA953X=y
 CONFIG_LED_STATUS=y
 CONFIG_LED_STATUS_GPIO=y
 CONFIG_LED_STATUS0=y
 
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_DM=y
+CONFIG_CMD_PCA953X=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_STMICRO=y
 
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_DM=y
+CONFIG_CMD_PCA953X=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_STMICRO=y
 
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_PCA953X=y
 # CONFIG_MMC is not set
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_PCA953X=y
 # CONFIG_MMC is not set
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_ZYNQMPPL=y
 CONFIG_DM_GPIO=y
+CONFIG_CMD_PCA953X=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ZYNQ=y
 
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_ZYNQMPPL=y
 CONFIG_DM_GPIO=y
+CONFIG_CMD_PCA953X=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ZYNQ=y
 
 CONFIG_CMD_DATE=y
 CONFIG_CMD_JFFS2=y
 CONFIG_CMD_IRQ=y
+CONFIG_CMD_PCA953X=y
 CONFIG_DS4510=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 
 # CONFIG_CMD_HASH is not set
 CONFIG_CMD_JFFS2=y
 # CONFIG_CMD_IRQ is not set
+CONFIG_CMD_PCA953X=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PHYLIB=y
 
 CONFIG_CMD_JFFS2=y
 # CONFIG_CMD_IRQ is not set
 CONFIG_SYS_FSL_DDR2=y
+CONFIG_CMD_PCA953X=y
 CONFIG_DS4510=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 
 # CONFIG_CMD_HASH is not set
 CONFIG_CMD_JFFS2=y
 # CONFIG_CMD_IRQ is not set
+CONFIG_CMD_PCA953X=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PHYLIB=y
 
          Support GPIO controllers on the TI OMAP3/4/5 and related (such as
          AM335x/AM43xx/AM57xx/DRA7xx/etc) families of SoCs.
 
+config CMD_PCA953X
+       bool "Enable the pca953x command"
+       help
+         Deprecated: This should be converted to driver model.
+
+         This command provides access to a pca953x GPIO device using the
+         legacy GPIO interface. Several subcommands are provided which mirror
+         the standard 'gpio' command. It should use that instead.
+
 config PM8916_GPIO
        bool "Qualcomm PM8916 PMIC GPIO/keypad driver"
        depends on DM_GPIO && PMIC_PM8916
 
                                                CONFIG_SYS_SCSI_MAX_LUN)
 /* PCA9555 GPIO expander support */
 #define CONFIG_PCA953X
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 #define CONFIG_SYS_I2C_PCA953X_ADDR     0x20
 #define CONFIG_SYS_I2C_PCA953X_WIDTH    { {0x20, 16} }
 
  * First select the I2C0 bus with "i2c dev 0", then use "pca953x" command.
  */
 #define CONFIG_PCA953X
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 #define CONFIG_SYS_I2C_PCA953X_ADDR    0x26
 #define CONFIG_SYS_I2C_PCA953X_WIDTH   { {0x26, 16} }
 
 #define CONFIG_PCA953X
 #define CONFIG_SYS_I2C_PCA953X_ADDR    0x20
 #define CONFIG_SYS_I2C_PCA953X_WIDTH   { {0x20, 16} }
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 
 /* I2C Configs */
 
 #define CONFIG_SYS_MALLOC_LEN          (1 << 20)
 
 /* Command line configuration */
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 
 #endif /* __CONFIG_H */
 
 #define CONFIG_SYS_FSL_I2C_OFFSET      0x3000
 
 #define CONFIG_PCA953X                 /* NXP PCA9554 */
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 #define CONFIG_SYS_I2C_PCA953X_WIDTH    { {0x24, 16}, {0x25, 16}, {0x26, 16}, \
                                          {0x3c, 8}, {0x3d, 8}, {0x3e, 8} }
 
 
 #define CONFIG_SYS_I2C_ZYNQ
 #define CONFIG_PCA953X
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 
 #define CONFIG_ZYNQMP_XHCI_LIST {ZYNQMP_USB0_XHCI_BASEADDR}
 
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_PCI_ENUM
 
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_PCI_ENUM
 
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_PCI_ENUM
 
 /*
  * Command configuration.
  */
-#define CONFIG_CMD_PCA953X
 #define CONFIG_CMD_PCA953X_INFO
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_PCI_ENUM
 
 CONFIG_CMDLINE_EDITING
 CONFIG_CMDLINE_PS_SUPPORT
 CONFIG_CMDLINE_TAG
-CONFIG_CMD_PCA953X
 CONFIG_CMD_PCA953X_INFO
 CONFIG_CMD_PCI
 CONFIG_CMD_PCI_ENUM