All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [PATCH v6 002/102] dm: gpio: Allow control of GPIO uclass in SPL
Date: Fri,  6 Dec 2019 21:41:35 -0700	[thread overview]
Message-ID: <20191206213936.v6.2.Ie6bd3875dc93547a1c772ba8e025a5e57e5233ef@changeid> (raw)
In-Reply-To: <20191207044315.51770-1-sjg@chromium.org>

At present if CONFIG_SPL_GPIO_SUPPORT is enabled then the GPIO uclass
is included in SPL/TPL without any control for boards. Some boards may
want to disable this to reduce code size where GPIOs are not needed in
SPL or TPL.

Add a new Kconfig option to permit this. Default it to 'y' so that
existing boards work correctly.

Change existing uses of CONFIG_DM_GPIO to CONFIG_IS_ENABLED(DM_GPIO) to
preserve the current behaviour. Also update the 74x164 GPIO driver since
it cannot build with SPL.

This allows us to remove the hacks in config_uncmd_spl.h and
Makefile.uncmd_spl (eventually those files should be removed).

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

---

Changes in v6: None
Changes in v5: None
Changes in v4:
- Disable SPL_DM_GPIO on omap35_logic to avoid a build error

Changes in v3: None
Changes in v2:
- Fix the Kconfig condition to avoid build errors on snow

 arch/arm/include/asm/omap_gpio.h              |  2 +-
 arch/arm/mach-at91/include/mach/at91sam9260.h |  2 +-
 arch/arm/mach-davinci/include/mach/gpio.h     |  2 +-
 arch/arm/mach-omap2/am33xx/board.c            |  4 ++--
 arch/arm/mach-omap2/omap3/board.c             |  2 +-
 arch/arm/mach-omap2/omap5/hwinit.c            |  2 +-
 board/freescale/imx8qm_mek/imx8qm_mek.c       |  2 +-
 board/freescale/imx8qxp_mek/imx8qxp_mek.c     |  2 +-
 board/gateworks/gw_ventana/Kconfig            |  3 +++
 board/toradex/apalis-imx8/apalis-imx8.c       |  2 +-
 configs/omap35_logic_defconfig                |  1 +
 drivers/gpio/Kconfig                          | 22 +++++++++++++++++++
 drivers/gpio/Makefile                         |  4 +++-
 drivers/gpio/at91_gpio.c                      |  6 ++---
 drivers/gpio/atmel_pio4.c                     |  2 +-
 drivers/gpio/da8xx_gpio.c                     |  7 +++---
 drivers/gpio/da8xx_gpio.h                     |  2 +-
 drivers/gpio/mxc_gpio.c                       |  4 ++--
 drivers/gpio/mxs_gpio.c                       |  4 ++--
 drivers/gpio/omap_gpio.c                      |  6 ++---
 drivers/gpio/sunxi_gpio.c                     |  8 +++----
 drivers/i2c/i2c-uclass.c                      |  6 ++---
 drivers/i2c/muxes/pca954x.c                   |  4 ++--
 drivers/mmc/fsl_esdhc_imx.c                   | 13 ++++++-----
 drivers/mmc/omap_hsmmc.c                      |  2 +-
 drivers/net/designware.c                      | 10 ++++-----
 drivers/net/designware.h                      |  4 ++--
 drivers/net/fec_mxc.c                         |  6 ++---
 drivers/net/fec_mxc.h                         |  2 +-
 drivers/net/mvneta.c                          |  4 ++--
 drivers/net/mvpp2.c                           |  8 +++----
 drivers/net/sun8i_emac.c                      | 12 +++++-----
 drivers/pci/pci-aardvark.c                    |  4 ++--
 drivers/pci/pcie_dw_mvebu.c                   |  4 ++--
 drivers/spi/atmel_spi.c                       | 10 ++++-----
 drivers/spi/designware_spi.c                  |  4 ++--
 drivers/tpm/tpm2_tis_spi.c                    |  2 +-
 include/config_uncmd_spl.h                    |  1 -
 include/configs/at91-sama5_common.h           |  5 +++--
 include/configs/gw_ventana.h                  |  1 -
 include/configs/mx6ul_14x14_evk.h             |  1 +
 scripts/Makefile.uncmd_spl                    |  1 -
 42 files changed, 111 insertions(+), 82 deletions(-)

diff --git a/arch/arm/include/asm/omap_gpio.h b/arch/arm/include/asm/omap_gpio.h
index 20268fa084..151afa8f44 100644
--- a/arch/arm/include/asm/omap_gpio.h
+++ b/arch/arm/include/asm/omap_gpio.h
@@ -22,7 +22,7 @@
 
 #include <asm/arch/cpu.h>
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 
 /* Information about a GPIO bank */
 struct omap_gpio_platdata {
diff --git a/arch/arm/mach-at91/include/mach/at91sam9260.h b/arch/arm/mach-at91/include/mach/at91sam9260.h
index 91faf729ae..2daeb4fef8 100644
--- a/arch/arm/mach-at91/include/mach/at91sam9260.h
+++ b/arch/arm/mach-at91/include/mach/at91sam9260.h
@@ -133,7 +133,7 @@
 /*
  * Other misc defines
  */
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 #define ATMEL_PIO_PORTS		3		/* these SoCs have 3 PIO */
 #define ATMEL_BASE_PIO		ATMEL_BASE_PIOA
 #endif
diff --git a/arch/arm/mach-davinci/include/mach/gpio.h b/arch/arm/mach-davinci/include/mach/gpio.h
index c150240962..e5a4053414 100644
--- a/arch/arm/mach-davinci/include/mach/gpio.h
+++ b/arch/arm/mach-davinci/include/mach/gpio.h
@@ -18,7 +18,7 @@
 #define davinci_gpio_bank67 ((struct davinci_gpio *)DAVINCI_GPIO_BANK67)
 #define davinci_gpio_bank8 ((struct davinci_gpio *)DAVINCI_GPIO_BANK8)
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 #define gpio_status()		gpio_info()
 #endif
 #define GPIO_NAME_SIZE		20
diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c
index 03460c3eb7..e64942b716 100644
--- a/arch/arm/mach-omap2/am33xx/board.c
+++ b/arch/arm/mach-omap2/am33xx/board.c
@@ -116,7 +116,7 @@ U_BOOT_DEVICES(am33xx_i2c) = {
 };
 #endif
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 static const struct omap_gpio_platdata am33xx_gpio[] = {
 	{ 0, AM33XX_GPIO0_BASE },
 	{ 1, AM33XX_GPIO1_BASE },
@@ -141,7 +141,7 @@ U_BOOT_DEVICES(am33xx_gpios) = {
 #endif
 #endif
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 static const struct gpio_bank gpio_bank_am33xx[] = {
 	{ (void *)AM33XX_GPIO0_BASE },
 	{ (void *)AM33XX_GPIO1_BASE },
diff --git a/arch/arm/mach-omap2/omap3/board.c b/arch/arm/mach-omap2/omap3/board.c
index 658ef8c1f1..60de0d6052 100644
--- a/arch/arm/mach-omap2/omap3/board.c
+++ b/arch/arm/mach-omap2/omap3/board.c
@@ -33,7 +33,7 @@ extern omap3_sysinfo sysinfo;
 static void omap3_invalidate_l2_cache_secure(void);
 #endif
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 #if !CONFIG_IS_ENABLED(OF_CONTROL)
 /* Manually initialize GPIO banks when OF_CONTROL doesn't */
 static const struct omap_gpio_platdata omap34xx_gpio[] = {
diff --git a/arch/arm/mach-omap2/omap5/hwinit.c b/arch/arm/mach-omap2/omap5/hwinit.c
index eba21647d9..56458ce495 100644
--- a/arch/arm/mach-omap2/omap5/hwinit.c
+++ b/arch/arm/mach-omap2/omap5/hwinit.c
@@ -25,7 +25,7 @@
 
 u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 static struct gpio_bank gpio_bank_54xx[8] = {
 	{ (void *)OMAP54XX_GPIO1_BASE },
 	{ (void *)OMAP54XX_GPIO2_BASE },
diff --git a/board/freescale/imx8qm_mek/imx8qm_mek.c b/board/freescale/imx8qm_mek/imx8qm_mek.c
index 68be0fe0cf..667a2743a6 100644
--- a/board/freescale/imx8qm_mek/imx8qm_mek.c
+++ b/board/freescale/imx8qm_mek/imx8qm_mek.c
@@ -50,7 +50,7 @@ int board_early_init_f(void)
 	return 0;
 }
 
-#if IS_ENABLED(CONFIG_DM_GPIO)
+#if CONFIG_IS_ENABLED(DM_GPIO)
 static void board_gpio_init(void)
 {
 	/* TODO */
diff --git a/board/freescale/imx8qxp_mek/imx8qxp_mek.c b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
index 671064fae2..194eb60cd3 100644
--- a/board/freescale/imx8qxp_mek/imx8qxp_mek.c
+++ b/board/freescale/imx8qxp_mek/imx8qxp_mek.c
@@ -54,7 +54,7 @@ int board_early_init_f(void)
 	return 0;
 }
 
-#if IS_ENABLED(CONFIG_DM_GPIO)
+#if CONFIG_IS_ENABLED(DM_GPIO)
 static void board_gpio_init(void)
 {
 	struct gpio_desc desc;
diff --git a/board/gateworks/gw_ventana/Kconfig b/board/gateworks/gw_ventana/Kconfig
index 5d1bae41ac..fee910ca83 100644
--- a/board/gateworks/gw_ventana/Kconfig
+++ b/board/gateworks/gw_ventana/Kconfig
@@ -1,5 +1,8 @@
 if TARGET_GW_VENTANA
 
+config DM_GPIO
+	default y
+
 config SYS_BOARD
 	default "gw_ventana"
 
diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c
index 3e5174ef8a..0483041187 100644
--- a/board/toradex/apalis-imx8/apalis-imx8.c
+++ b/board/toradex/apalis-imx8/apalis-imx8.c
@@ -51,7 +51,7 @@ int board_early_init_f(void)
 	return 0;
 }
 
-#if IS_ENABLED(CONFIG_DM_GPIO)
+#if CONFIG_IS_ENABLED(DM_GPIO)
 static void board_gpio_init(void)
 {
 	/* TODO */
diff --git a/configs/omap35_logic_defconfig b/configs/omap35_logic_defconfig
index 511c8ef25b..c7b67f0ffe 100644
--- a/configs/omap35_logic_defconfig
+++ b/configs/omap35_logic_defconfig
@@ -45,6 +45,7 @@ CONFIG_DEFAULT_DEVICE_TREE="logicpd-torpedo-35xx-devkit"
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_OF_TRANSLATE=y
+# CONFIG_SPL_DM_GPIO is not set
 CONFIG_DM_I2C=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_OMAP_HS=y
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index c1ad5d64a3..447cf04578 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -14,6 +14,28 @@ config DM_GPIO
 	  particular GPIOs that they provide. The uclass interface
 	  is defined in include/asm-generic/gpio.h.
 
+config SPL_DM_GPIO
+	bool "Enable Driver Model for GPIO drivers in SPL"
+	depends on DM_GPIO && SPL_DM && SPL_GPIO_SUPPORT
+	default y
+	help
+	  Enable driver model for GPIO access in SPL. The standard GPIO
+	  interface (gpio_get_value(), etc.) is then implemented by
+	  the GPIO uclass. Drivers provide methods to query the
+	  particular GPIOs that they provide. The uclass interface
+	  is defined in include/asm-generic/gpio.h.
+
+config TPL_DM_GPIO
+	bool "Enable Driver Model for GPIO drivers in TPL"
+	depends on DM_GPIO && TPL_DM && TPL_GPIO_SUPPORT
+	default y
+	help
+	  Enable driver model for GPIO access in TPL. The standard GPIO
+	  interface (gpio_get_value(), etc.) is then implemented by
+	  the GPIO uclass. Drivers provide methods to query the
+	  particular GPIOs that they provide. The uclass interface
+	  is defined in include/asm-generic/gpio.h.
+
 config GPIO_HOG
 	bool "Enable GPIO hog support"
 	depends on DM_GPIO
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index ccc49e2eb0..3612e66786 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -7,10 +7,12 @@ ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_DWAPB_GPIO)	+= dwapb_gpio.o
 obj-$(CONFIG_AXP_GPIO)		+= axp_gpio.o
 endif
-obj-$(CONFIG_DM_GPIO)		+= gpio-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)DM_GPIO) += gpio-uclass.o
 
 obj-$(CONFIG_$(SPL_)DM_PCA953X)	+= pca953x_gpio.o
+ifdef CONFIG_$(SPL_TPL_)GPIO
 obj-$(CONFIG_DM_74X164)		+= 74x164_gpio.o
+endif
 
 obj-$(CONFIG_AT91_GPIO)	+= at91_gpio.o
 obj-$(CONFIG_ATMEL_PIO4)	+= atmel_pio4.o
diff --git a/drivers/gpio/at91_gpio.c b/drivers/gpio/at91_gpio.c
index 965becf77a..8d36d48fc8 100644
--- a/drivers/gpio/at91_gpio.c
+++ b/drivers/gpio/at91_gpio.c
@@ -210,7 +210,7 @@ int at91_pio3_set_d_periph(unsigned port, unsigned pin, int use_pullup)
 	return 0;
 }
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 static bool at91_get_port_output(struct at91_port *at91_port, int offset)
 {
 	u32 mask, val;
@@ -457,7 +457,7 @@ int at91_get_pio_value(unsigned port, unsigned pin)
 	return 0;
 }
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 /* Common GPIO API */
 
 int gpio_request(unsigned gpio, const char *label)
@@ -499,7 +499,7 @@ int gpio_set_value(unsigned gpio, int value)
 }
 #endif
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 
 struct at91_port_priv {
 	struct at91_port *regs;
diff --git a/drivers/gpio/atmel_pio4.c b/drivers/gpio/atmel_pio4.c
index 95a189a50f..8e6f32de1f 100644
--- a/drivers/gpio/atmel_pio4.c
+++ b/drivers/gpio/atmel_pio4.c
@@ -168,7 +168,7 @@ int atmel_pio4_get_pio_input(u32 port, u32 pin)
 	return (readl(&port_base->pdsr) & mask) ? 1 : 0;
 }
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 
 struct atmel_pioctrl_data {
 	u32 nbanks;
diff --git a/drivers/gpio/da8xx_gpio.c b/drivers/gpio/da8xx_gpio.c
index 0a50c68d72..bd5a366aef 100644
--- a/drivers/gpio/da8xx_gpio.c
+++ b/drivers/gpio/da8xx_gpio.c
@@ -15,7 +15,7 @@
 
 #include "da8xx_gpio.h"
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 #include <asm/arch/hardware.h>
 #include <asm/arch/davinci_misc.h>
 
@@ -377,7 +377,8 @@ static int _gpio_direction_output(struct davinci_gpio *bank, unsigned int gpio,
 	_gpio_set_value(bank, gpio, value);
 	return 0;
 }
-#ifndef CONFIG_DM_GPIO
+
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 
 void gpio_info(void)
 {
@@ -428,7 +429,7 @@ int gpio_set_value(unsigned int gpio, int value)
 	return _gpio_set_value(bank, gpio, value);
 }
 
-#else /* CONFIG_DM_GPIO */
+#else /* DM_GPIO */
 
 static struct davinci_gpio *davinci_get_gpio_bank(struct udevice *dev, unsigned int offset)
 {
diff --git a/drivers/gpio/da8xx_gpio.h b/drivers/gpio/da8xx_gpio.h
index 1de9ec7f6f..849e8d2dcf 100644
--- a/drivers/gpio/da8xx_gpio.h
+++ b/drivers/gpio/da8xx_gpio.h
@@ -28,7 +28,7 @@ struct davinci_gpio_bank {
 #define MAX_NUM_GPIOS		144
 #define GPIO_BIT(gp)		((gp) & 0x1F)
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 
 /* Information about a GPIO bank */
 struct davinci_gpio_platdata {
diff --git a/drivers/gpio/mxc_gpio.c b/drivers/gpio/mxc_gpio.c
index 64ab7a303f..6592d141d3 100644
--- a/drivers/gpio/mxc_gpio.c
+++ b/drivers/gpio/mxc_gpio.c
@@ -30,7 +30,7 @@ struct mxc_bank_info {
 	struct gpio_regs *regs;
 };
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 #define GPIO_TO_PORT(n)		((n) / 32)
 
 /* GPIO port description */
@@ -161,7 +161,7 @@ int gpio_direction_output(unsigned gpio, int value)
 }
 #endif
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 #include <fdtdec.h>
 static int mxc_gpio_is_output(struct gpio_regs *regs, int offset)
 {
diff --git a/drivers/gpio/mxs_gpio.c b/drivers/gpio/mxs_gpio.c
index 5795155e3e..77778e9ce5 100644
--- a/drivers/gpio/mxs_gpio.c
+++ b/drivers/gpio/mxs_gpio.c
@@ -128,7 +128,7 @@ int name_to_gpio(const char *name)
 
 	return (bank << MXS_PAD_BANK_SHIFT) | (pin << MXS_PAD_PIN_SHIFT);
 }
-#else /* CONFIG_DM_GPIO */
+#else /* DM_GPIO */
 #include <dm.h>
 #include <asm/gpio.h>
 #include <dt-structs.h>
@@ -312,4 +312,4 @@ U_BOOT_DRIVER(gpio_mxs) = {
 	.ofdata_to_platdata = mxs_ofdata_to_platdata,
 #endif
 };
-#endif /* CONFIG_DM_GPIO */
+#endif /* DM_GPIO */
diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c
index 0031415d03..4249850f4b 100644
--- a/drivers/gpio/omap_gpio.c
+++ b/drivers/gpio/omap_gpio.c
@@ -30,7 +30,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #define OMAP_GPIO_DIR_OUT	0
 #define OMAP_GPIO_DIR_IN	1
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 
 #define GPIO_PER_BANK			32
 
@@ -121,7 +121,7 @@ static int _get_gpio_value(const struct gpio_bank *bank, int gpio)
 	return (__raw_readl(reg) & (1 << gpio)) != 0;
 }
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 
 static inline const struct gpio_bank *get_gpio_bank(int gpio)
 {
@@ -377,4 +377,4 @@ U_BOOT_DRIVER(gpio_omap) = {
 #endif
 };
 
-#endif /* CONFIG_DM_GPIO */
+#endif /* !DM_GPIO */
diff --git a/drivers/gpio/sunxi_gpio.c b/drivers/gpio/sunxi_gpio.c
index 719efc2cef..9c3a4428e1 100644
--- a/drivers/gpio/sunxi_gpio.c
+++ b/drivers/gpio/sunxi_gpio.c
@@ -28,7 +28,7 @@ struct sunxi_gpio_platdata {
 	int gpio_count;
 };
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 static int sunxi_gpio_output(u32 pin, u32 val)
 {
 	u32 dat;
@@ -116,7 +116,7 @@ int sunxi_name_to_gpio(const char *name)
 		return -1;
 	return group * 32 + pin;
 }
-#endif
+#endif /* DM_GPIO */
 
 int sunxi_name_to_gpio_bank(const char *name)
 {
@@ -132,7 +132,7 @@ int sunxi_name_to_gpio_bank(const char *name)
 	return -1;
 }
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 /* TODO(sjg@chromium.org): Remove this function and use device tree */
 int sunxi_name_to_gpio(const char *name)
 {
@@ -373,4 +373,4 @@ U_BOOT_DRIVER(gpio_sunxi) = {
 	.bind	= gpio_sunxi_bind,
 	.probe	= gpio_sunxi_probe,
 };
-#endif
+#endif /* DM_GPIO */
diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c
index e47abf1833..88c13e76cb 100644
--- a/drivers/i2c/i2c-uclass.c
+++ b/drivers/i2c/i2c-uclass.c
@@ -11,7 +11,7 @@
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 #include <dm/pinctrl.h>
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 #include <asm/gpio.h>
 #endif
 
@@ -465,7 +465,7 @@ int i2c_get_chip_offset_len(struct udevice *dev)
 	return chip->offset_len;
 }
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 static void i2c_gpio_set_pin(struct gpio_desc *pin, int bit)
 {
 	if (bit)
@@ -561,7 +561,7 @@ static int i2c_deblock_gpio(struct udevice *bus)
 {
 	return -ENOSYS;
 }
-#endif // CONFIG_DM_GPIO
+#endif /* DM_GPIO */
 
 int i2c_deblock(struct udevice *bus)
 {
diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c
index a630ce991d..bb2935f8ec 100644
--- a/drivers/i2c/muxes/pca954x.c
+++ b/drivers/i2c/muxes/pca954x.c
@@ -125,7 +125,7 @@ static int pca954x_ofdata_to_platdata(struct udevice *dev)
 
 static int pca954x_probe(struct udevice *dev)
 {
-	if (IS_ENABLED(CONFIG_DM_GPIO)) {
+	if (CONFIG_IS_ENABLED(DM_GPIO)) {
 		struct pca954x_priv *priv = dev_get_priv(dev);
 		int err;
 
@@ -146,7 +146,7 @@ static int pca954x_probe(struct udevice *dev)
 
 static int pca954x_remove(struct udevice *dev)
 {
-	if (IS_ENABLED(CONFIG_DM_GPIO)) {
+	if (CONFIG_IS_ENABLED(DM_GPIO)) {
 		struct pca954x_priv *priv = dev_get_priv(dev);
 
 		if (dm_gpio_is_valid(&priv->gpio_mux_reset))
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index f1afab742d..f7b754bd9d 100644
--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -150,7 +150,7 @@ struct fsl_esdhc_priv {
 	struct udevice *vqmmc_dev;
 	struct udevice *vmmc_dev;
 #endif
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc cd_gpio;
 	struct gpio_desc wp_gpio;
 #endif
@@ -303,8 +303,9 @@ static int esdhc_setup_data(struct fsl_esdhc_priv *priv, struct mmc *mmc,
 				return -ETIMEDOUT;
 			}
 		} else {
-#ifdef CONFIG_DM_GPIO
-			if (dm_gpio_is_valid(&priv->wp_gpio) && dm_gpio_get_value(&priv->wp_gpio)) {
+#if CONFIG_IS_ENABLED(DM_GPIO)
+			if (dm_gpio_is_valid(&priv->wp_gpio) &&
+			    dm_gpio_get_value(&priv->wp_gpio)) {
 				printf("\nThe SD card is locked. Can not write to a locked card.\n\n");
 				return -ETIMEDOUT;
 			}
@@ -1092,7 +1093,7 @@ static int esdhc_getcd_common(struct fsl_esdhc_priv *priv)
 #if CONFIG_IS_ENABLED(DM_MMC)
 	if (priv->non_removable)
 		return 1;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	if (dm_gpio_is_valid(&priv->cd_gpio))
 		return dm_gpio_get_value(&priv->cd_gpio);
 #endif
@@ -1454,7 +1455,7 @@ static int fsl_esdhc_probe(struct udevice *dev)
 		priv->non_removable = 1;
 	 } else {
 		priv->non_removable = 0;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 		gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio,
 				     GPIOD_IS_IN);
 #endif
@@ -1464,7 +1465,7 @@ static int fsl_esdhc_probe(struct udevice *dev)
 		priv->wp_enable = 1;
 	} else {
 		priv->wp_enable = 0;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 		gpio_request_by_name(dev, "wp-gpios", 0, &priv->wp_gpio,
 				   GPIOD_IS_IN);
 #endif
diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index dab3425e97..5d0cfb2ebd 100644
--- a/drivers/mmc/omap_hsmmc.c
+++ b/drivers/mmc/omap_hsmmc.c
@@ -184,7 +184,7 @@ static int omap_mmc_setup_gpio_in(int gpio, const char *label)
 {
 	int ret;
 
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 	if (!gpio_is_valid(gpio))
 		return -1;
 #endif
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 5c2d5e5a79..19fc34f771 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -82,7 +82,7 @@ static int dw_mdio_write(struct mii_dev *bus, int addr, int devad, int reg,
 	return ret;
 }
 
-#if defined(CONFIG_DM_ETH) && defined(CONFIG_DM_GPIO)
+#if defined(CONFIG_DM_ETH) && CONFIG_IS_ENABLED(DM_GPIO)
 static int dw_mdio_reset(struct mii_dev *bus)
 {
 	struct udevice *dev = bus->priv;
@@ -128,7 +128,7 @@ static int dw_mdio_init(const char *name, void *priv)
 	bus->read = dw_mdio_read;
 	bus->write = dw_mdio_write;
 	snprintf(bus->name, sizeof(bus->name), "%s", name);
-#if defined(CONFIG_DM_ETH) && defined(CONFIG_DM_GPIO)
+#if defined(CONFIG_DM_ETH) && CONFIG_IS_ENABLED(DM_GPIO)
 	bus->reset = dw_mdio_reset;
 #endif
 
@@ -807,12 +807,12 @@ const struct eth_ops designware_eth_ops = {
 int designware_eth_ofdata_to_platdata(struct udevice *dev)
 {
 	struct dw_eth_pdata *dw_pdata = dev_get_platdata(dev);
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct dw_eth_dev *priv = dev_get_priv(dev);
 #endif
 	struct eth_pdata *pdata = &dw_pdata->eth_pdata;
 	const char *phy_mode;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	int reset_flags = GPIOD_IS_OUT;
 #endif
 	int ret = 0;
@@ -829,7 +829,7 @@ int designware_eth_ofdata_to_platdata(struct udevice *dev)
 
 	pdata->max_speed = dev_read_u32_default(dev, "max-speed", 0);
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	if (dev_read_bool(dev, "snps,reset-active-low"))
 		reset_flags |= GPIOD_ACTIVE_LOW;
 
diff --git a/drivers/net/designware.h b/drivers/net/designware.h
index dea12b7048..3519a4167a 100644
--- a/drivers/net/designware.h
+++ b/drivers/net/designware.h
@@ -7,7 +7,7 @@
 #ifndef _DW_ETH_H
 #define _DW_ETH_H
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 #include <asm-generic/gpio.h>
 #endif
 
@@ -235,7 +235,7 @@ struct dw_eth_dev {
 #ifndef CONFIG_DM_ETH
 	struct eth_device *dev;
 #endif
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc reset_gpio;
 #endif
 #ifdef CONFIG_CLK
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 2aa1029d42..bc5b63d788 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1309,7 +1309,7 @@ static int fec_phy_init(struct fec_priv *priv, struct udevice *dev)
 	return 0;
 }
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 /* FEC GPIO reset */
 static void fec_gpio_reset(struct fec_priv *priv)
 {
@@ -1402,7 +1402,7 @@ static int fecmxc_probe(struct udevice *dev)
 	}
 #endif
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	fec_gpio_reset(priv);
 #endif
 	/* Reset chip. */
@@ -1508,7 +1508,7 @@ static int fecmxc_ofdata_to_platdata(struct udevice *dev)
 	device_get_supply_regulator(dev, "phy-supply", &priv->phy_supply);
 #endif
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	ret = gpio_request_by_name(dev, "phy-reset-gpios", 0,
 				   &priv->phy_reset_gpio, GPIOD_IS_OUT);
 	if (ret < 0)
diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h
index 723b06a651..159aec8967 100644
--- a/drivers/net/fec_mxc.h
+++ b/drivers/net/fec_mxc.h
@@ -255,7 +255,7 @@ struct fec_priv {
 #ifdef CONFIG_DM_REGULATOR
 	struct udevice *phy_supply;
 #endif
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc phy_reset_gpio;
 	uint32_t reset_delay;
 	uint32_t reset_post_delay;
diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 6f76a6b0dc..5fe8500199 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -276,7 +276,7 @@ struct mvneta_port {
 	int init;
 	int phyaddr;
 	struct phy_device *phydev;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc phy_reset_gpio;
 #endif
 	struct mii_dev *bus;
@@ -1754,7 +1754,7 @@ static int mvneta_probe(struct udevice *dev)
 	if (ret)
 		return ret;
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	gpio_request_by_name(dev, "phy-reset-gpios", 0,
 			     &pp->phy_reset_gpio, GPIOD_IS_OUT);
 
diff --git a/drivers/net/mvpp2.c b/drivers/net/mvpp2.c
index 8148c03d22..3b5e412bed 100644
--- a/drivers/net/mvpp2.c
+++ b/drivers/net/mvpp2.c
@@ -977,7 +977,7 @@ struct mvpp2_port {
 	int phy_node;
 	int phyaddr;
 	struct mii_dev *bus;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc phy_reset_gpio;
 	struct gpio_desc phy_tx_disable_gpio;
 #endif
@@ -4754,7 +4754,7 @@ static int phy_info_parse(struct udevice *dev, struct mvpp2_port *port)
 		return -EINVAL;
 	}
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	gpio_request_by_name(dev, "phy-reset-gpios", 0,
 			     &port->phy_reset_gpio, GPIOD_IS_OUT);
 	gpio_request_by_name(dev, "marvell,sfp-tx-disable-gpio", 0,
@@ -4782,7 +4782,7 @@ static int phy_info_parse(struct udevice *dev, struct mvpp2_port *port)
 	return 0;
 }
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 /* Port GPIO initialization */
 static void mvpp2_gpio_init(struct mvpp2_port *port)
 {
@@ -4815,7 +4815,7 @@ static int mvpp2_port_probe(struct udevice *dev,
 	}
 	mvpp2_port_power_up(port);
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	mvpp2_gpio_init(port);
 #endif
 
diff --git a/drivers/net/sun8i_emac.c b/drivers/net/sun8i_emac.c
index 9551918796..6f10578c88 100644
--- a/drivers/net/sun8i_emac.c
+++ b/drivers/net/sun8i_emac.c
@@ -24,7 +24,7 @@
 #include <net.h>
 #include <reset.h>
 #include <dt-bindings/pinctrl/sun4i-a10.h>
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 #include <asm-generic/gpio.h>
 #endif
 
@@ -142,7 +142,7 @@ struct emac_eth_dev {
 	struct clk ephy_clk;
 	struct reset_ctl tx_rst;
 	struct reset_ctl ephy_rst;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc reset_gpio;
 #endif
 };
@@ -696,7 +696,7 @@ err_tx_clk:
 	return ret;
 }
 
-#if defined(CONFIG_DM_GPIO)
+#if CONFIG_IS_ENABLED(DM_GPIO)
 static int sun8i_mdio_reset(struct mii_dev *bus)
 {
 	struct udevice *dev = bus->priv;
@@ -743,7 +743,7 @@ static int sun8i_mdio_init(const char *name, struct udevice *priv)
 	bus->write = sun8i_mdio_write;
 	snprintf(bus->name, sizeof(bus->name), name);
 	bus->priv = (void *)priv;
-#if defined(CONFIG_DM_GPIO)
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	bus->reset = sun8i_mdio_reset;
 #endif
 
@@ -905,7 +905,7 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev)
 	const fdt32_t *reg;
 	int node = dev_of_offset(dev);
 	int offset = 0;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	int reset_flags = GPIOD_IS_OUT;
 #endif
 	int ret;
@@ -999,7 +999,7 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev)
 		printf("%s: Invalid RX delay value %d\n", __func__,
 		       sun8i_pdata->rx_delay_ps);
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	if (fdtdec_get_bool(gd->fdt_blob, dev_of_offset(dev),
 			    "snps,reset-active-low"))
 		reset_flags |= GPIOD_ACTIVE_LOW;
diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c
index 864ac16f57..aa0b4bc845 100644
--- a/drivers/pci/pci-aardvark.c
+++ b/drivers/pci/pci-aardvark.c
@@ -610,7 +610,7 @@ static int pcie_advk_probe(struct udevice *dev)
 {
 	struct pcie_advk *pcie = dev_get_priv(dev);
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc reset_gpio;
 
 	gpio_request_by_name(dev, "reset-gpio", 0, &reset_gpio,
@@ -636,7 +636,7 @@ static int pcie_advk_probe(struct udevice *dev)
 	}
 #else
 	dev_dbg(pcie->dev, "PCIE Reset on GPIO support is missing\n");
-#endif /* CONFIG_DM_GPIO */
+#endif /* DM_GPIO */
 
 	pcie->first_busno = dev->seq;
 	pcie->dev = pci_get_controller(dev);
diff --git a/drivers/pci/pcie_dw_mvebu.c b/drivers/pci/pcie_dw_mvebu.c
index 95fb41966f..693591e375 100644
--- a/drivers/pci/pcie_dw_mvebu.c
+++ b/drivers/pci/pcie_dw_mvebu.c
@@ -476,7 +476,7 @@ static int pcie_dw_mvebu_probe(struct udevice *dev)
 	struct pcie_dw_mvebu *pcie = dev_get_priv(dev);
 	struct udevice *ctlr = pci_get_controller(dev);
 	struct pci_controller *hose = dev_get_uclass_priv(ctlr);
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc reset_gpio;
 
 	gpio_request_by_name(dev, "marvell,reset-gpio", 0, &reset_gpio,
@@ -496,7 +496,7 @@ static int pcie_dw_mvebu_probe(struct udevice *dev)
 	}
 #else
 	debug("PCIE Reset on GPIO support is missing\n");
-#endif /* CONFIG_DM_GPIO */
+#endif /* DM_GPIO */
 
 	pcie->first_busno = dev->seq;
 
diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index cf4de9ee1a..f076e92a93 100644
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
@@ -17,7 +17,7 @@
 #ifdef CONFIG_DM_SPI
 #include <asm/arch/at91_spi.h>
 #endif
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 #include <asm/gpio.h>
 #endif
 
@@ -228,7 +228,7 @@ struct atmel_spi_priv {
 	unsigned int freq;		/* Default frequency */
 	unsigned int mode;
 	ulong bus_clk_rate;
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct gpio_desc cs_gpios[MAX_CS_COUNT];
 #endif
 };
@@ -285,7 +285,7 @@ static int atmel_spi_release_bus(struct udevice *dev)
 
 static void atmel_spi_cs_activate(struct udevice *dev)
 {
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct udevice *bus = dev_get_parent(dev);
 	struct atmel_spi_priv *priv = dev_get_priv(bus);
 	struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
@@ -300,7 +300,7 @@ static void atmel_spi_cs_activate(struct udevice *dev)
 
 static void atmel_spi_cs_deactivate(struct udevice *dev)
 {
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct udevice *bus = dev_get_parent(dev);
 	struct atmel_spi_priv *priv = dev_get_priv(bus);
 	struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
@@ -468,7 +468,7 @@ static int atmel_spi_probe(struct udevice *bus)
 
 	bus_plat->regs = (struct at91_spi *)devfdt_get_addr(bus);
 
-#ifdef CONFIG_DM_GPIO
+#if CONFIG_IS_ENABLED(DM_GPIO)
 	struct atmel_spi_priv *priv = dev_get_priv(bus);
 	int i;
 
diff --git a/drivers/spi/designware_spi.c b/drivers/spi/designware_spi.c
index 91e613e9cd..66ff8eeccd 100644
--- a/drivers/spi/designware_spi.c
+++ b/drivers/spi/designware_spi.c
@@ -126,7 +126,7 @@ static inline void dw_write(struct dw_spi_priv *priv, u32 offset, u32 val)
 
 static int request_gpio_cs(struct udevice *bus)
 {
-#if defined(CONFIG_DM_GPIO) && !defined(CONFIG_SPL_BUILD)
+#if CONFIG_IS_ENABLED(DM_GPIO) && !defined(CONFIG_SPL_BUILD)
 	struct dw_spi_priv *priv = dev_get_priv(bus);
 	int ret;
 
@@ -373,7 +373,7 @@ static int poll_transfer(struct dw_spi_priv *priv)
  */
 __weak void external_cs_manage(struct udevice *dev, bool on)
 {
-#if defined(CONFIG_DM_GPIO) && !defined(CONFIG_SPL_BUILD)
+#if CONFIG_IS_ENABLED(DM_GPIO) && !defined(CONFIG_SPL_BUILD)
 	struct dw_spi_priv *priv = dev_get_priv(dev->parent);
 
 	if (!dm_gpio_is_valid(&priv->cs_gpio))
diff --git a/drivers/tpm/tpm2_tis_spi.c b/drivers/tpm/tpm2_tis_spi.c
index 3d105fddba..713111f6c3 100644
--- a/drivers/tpm/tpm2_tis_spi.c
+++ b/drivers/tpm/tpm2_tis_spi.c
@@ -587,7 +587,7 @@ static int tpm_tis_spi_probe(struct udevice *dev)
 	/* Use the TPM v2 stack */
 	priv->version = TPM_V2;
 
-	if (IS_ENABLED(CONFIG_DM_GPIO)) {
+	if (CONFIG_IS_ENABLED(DM_GPIO)) {
 		struct gpio_desc reset_gpio;
 
 		ret = gpio_request_by_name(dev, "gpio-reset", 0,
diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h
index c2f9735ce7..31da6215b3 100644
--- a/include/config_uncmd_spl.h
+++ b/include/config_uncmd_spl.h
@@ -12,7 +12,6 @@
 
 #ifndef CONFIG_SPL_DM
 #undef CONFIG_DM_SERIAL
-#undef CONFIG_DM_GPIO
 #undef CONFIG_DM_I2C
 #undef CONFIG_DM_SPI
 #endif
diff --git a/include/configs/at91-sama5_common.h b/include/configs/at91-sama5_common.h
index d19fd3153c..6e9793ab81 100644
--- a/include/configs/at91-sama5_common.h
+++ b/include/configs/at91-sama5_common.h
@@ -9,6 +9,8 @@
 #ifndef __AT91_SAMA5_COMMON_H
 #define __AT91_SAMA5_COMMON_H
 
+#include <linux/kconfig.h>
+
 /* ARM asynchronous clock */
 #define CONFIG_SYS_AT91_SLOW_CLOCK      32768
 #define CONFIG_SYS_AT91_MAIN_CLOCK      12000000 /* from 12 MHz crystal */
@@ -18,11 +20,10 @@
 #endif
 
 /* general purpose I/O */
-#ifndef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(DM_GPIO)
 #define CONFIG_AT91_GPIO
 #endif
 
-
 /*
  * BOOTP options
  */
diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h
index 894f8b1114..d169aa19de 100644
--- a/include/configs/gw_ventana.h
+++ b/include/configs/gw_ventana.h
@@ -36,7 +36,6 @@
 
 /* Driver Model */
 #ifndef CONFIG_SPL_BUILD
-#define CONFIG_DM_GPIO
 #define CONFIG_DM_THERMAL
 #endif
 
diff --git a/include/configs/mx6ul_14x14_evk.h b/include/configs/mx6ul_14x14_evk.h
index c21d633ca0..5cc15b6d2f 100644
--- a/include/configs/mx6ul_14x14_evk.h
+++ b/include/configs/mx6ul_14x14_evk.h
@@ -44,6 +44,7 @@
 #define CONFIG_SYS_I2C_SPEED		100000
 #endif
 
+/* Note: This is incorrect and should move to Kconfig / defconfig */
 #ifdef CONFIG_DM_GPIO
 #define CONFIG_DM_74X164
 #endif
diff --git a/scripts/Makefile.uncmd_spl b/scripts/Makefile.uncmd_spl
index ba267d9ac6..6ea097d36d 100644
--- a/scripts/Makefile.uncmd_spl
+++ b/scripts/Makefile.uncmd_spl
@@ -6,7 +6,6 @@ ifdef CONFIG_SPL_BUILD
 
 ifndef CONFIG_SPL_DM
 CONFIG_DM_SERIAL=
-CONFIG_DM_GPIO=
 CONFIG_DM_I2C=
 CONFIG_DM_SPI=
 CONFIG_DM_SPI_FLASH=
-- 
2.24.0.393.g34dc348eaf-goog

  parent reply	other threads:[~2019-12-07  4:41 UTC|newest]

Thread overview: 235+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-07  4:41 [PATCH v6 000/102] x86: Add initial support for apollolake Simon Glass
2019-12-07  4:41 ` [PATCH v6 001/102] binman: Add a library to access binman entries Simon Glass
2019-12-08  1:08   ` Bin Meng
2020-01-07 17:32     ` Stephen Warren
2020-01-07 17:57       ` Stephen Warren
2020-01-08  2:14         ` Simon Glass
2020-01-22 15:49   ` [BUG] " Frank Wunderlich
2020-01-24 18:15     ` Frank Wunderlich
2020-02-11 23:03       ` Simon Glass
2020-02-12 11:50         ` Frank Wunderlich
2020-02-12 17:14           ` Simon Glass
2020-02-12 18:02             ` Frank Wunderlich
2020-02-13 17:40               ` Simon Glass
2020-02-13 17:51                 ` Aw: " Frank Wunderlich
2020-02-17  3:55                   ` Simon Glass
2020-02-17  7:04                     ` Frank Wunderlich
2019-12-07  4:41 ` Simon Glass [this message]
2019-12-08  1:08   ` [PATCH v6 002/102] dm: gpio: Allow control of GPIO uclass in SPL Bin Meng
2019-12-07  4:41 ` [PATCH v6 003/102] dm: core: Fix offset_to_ofnode() with invalid offset Simon Glass
2019-12-08  1:08   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 004/102] dm: pci: Allow delaying auto-config until after relocation Simon Glass
2019-12-08  1:08   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 005/102] dm: pci: Move pci_get_devfn() into a common file Simon Glass
2019-12-08  1:08   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 006/102] net: Move the checksum functions to lib/ Simon Glass
2019-12-08  1:10   ` Bin Meng
2019-12-08  1:12     ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 007/102] i2c: designware: Tidy up PCI support Simon Glass
2019-12-08  1:52   ` Bin Meng
2019-12-08  1:59     ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 008/102] i2c: designware: Avoid using static data Simon Glass
2019-12-08  1:54   ` Bin Meng
2019-12-08  1:59     ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 009/102] i2c: designware: Support use in SPL Simon Glass
2019-12-08  1:59   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 010/102] x86: spi: Add helper functions for Intel Fast SPI Simon Glass
2019-12-08  1:59   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 011/102] fdt: Show the preprocessed .dts file on error Simon Glass
2019-12-08  2:02   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 012/102] dm: pinctrl: Allow enabling full pinctrl in SPL/TPL Simon Glass
2019-12-08  2:04   ` Bin Meng
2019-12-08  2:08     ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 013/102] board_r: Move early-timer init later Simon Glass
2019-12-08  2:06   ` Bin Meng
2019-12-08  2:08     ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 014/102] RFC: sandbox: net: Suppress the MAC-address warnings Simon Glass
2019-12-07  4:41 ` [PATCH v6 015/102] Revert "RFC: sandbox: net: Suppress the MAC-address warnings" Simon Glass
2019-12-07  4:41 ` [PATCH v6 016/102] x86: timer: use a timer base of 0 Simon Glass
2019-12-08  2:41   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 017/102] x86: timer: Reduce timer code size in TPL on Intel CPUs Simon Glass
2019-12-08  2:41   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 018/102] x86: Drop unnecessary cpu code for TPL Simon Glass
2019-12-08  2:42   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 019/102] x86: Drop unnecessary interrupt " Simon Glass
2019-12-08  2:42   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 020/102] x86: power: Add an ACPI PMC uclass Simon Glass
2019-12-08  2:42   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 021/102] x86: sandbox: Add a PMC emulator and test Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 022/102] pci: Add support for p2sb uclass Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 023/102] sandbox: Disable mmio by default in tests Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 024/102] sandbox: Add PCI driver and test for p2sb Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 025/102] x86: Move UCLASS_IRQ into a separate file Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:41 ` [PATCH v6 026/102] sandbox: Add a test for IRQ Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 027/102] x86: Define the SPL image start Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 028/102] x86: Reduce mrccache record alignment size Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 029/102] x86: Correct mrccache find_next_mrc_cache() calculation Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 030/102] x86: Adjust mrccache_get_region() to use livetree Simon Glass
2019-12-08  2:53   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 031/102] x86: Adjust mrccache_get_region() to support get_mmap() Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 032/102] x86: Add a new global_data member for the cache record Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 033/102] x86: Tidy up error handling in mrccache_save() Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 034/102] x86: Update mrccache to support multiple caches Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 035/102] x86: Add mrccache support for a 'variable' cache Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 036/102] x86: Don't export mrccache_update() Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 037/102] x86: Move fsp_prepare_mrc_cache() to fsp1 directory Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 038/102] x86: Set the DRAM banks to reflect real location Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 039/102] x86: Set up the MTRR for SDRAM Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 040/102] x86: Don't imply libfdt or SPI flash in TPL Simon Glass
2019-12-08  3:02   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 041/102] x86: Allow removal of standard PCH drivers Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 042/102] x86: Allow interrupt to happen once Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 043/102] x86: fsp: Make graphics support common to FSP1/2 Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 044/102] x86: fsp: Correct wrong header inlude in fsp_support.c Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 045/102] x86: fsp: Add FSP2 base support Simon Glass
2019-12-08  3:11   ` Bin Meng
2019-12-08  3:20     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 046/102] x86: fsp: Set up an MTRR for the graphics frame buffer Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 047/102] x86: fsp: Add a new arch_fsp_init_r() hook Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 048/102] x86: fsp: Allow remembering the location of FSP-S Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 049/102] x86: fsp: Make the notify API call common Simon Glass
2019-12-08  3:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 050/102] x86: Don't include the BIOS emulator in TPL Simon Glass
2019-12-08  3:30   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 051/102] x86: Add an option to include a FIT Simon Glass
2019-12-08  3:30   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 052/102] x86: Add support for newer CAR schemes Simon Glass
2019-12-08  3:30   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 053/102] x86: Disable microcode section for FSP2 Simon Glass
2019-12-08  3:31   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 054/102] x86: Update the fsp command " Simon Glass
2019-12-08  3:31   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 055/102] x86: Update .dtsi file " Simon Glass
2019-12-08  3:31   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 056/102] x86: Add an option to control the position of U-Boot Simon Glass
2019-12-08  3:31   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 057/102] x86: Add an option to control the position of SPL Simon Glass
2019-12-08  3:31   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 058/102] x86: Add an fdtmap and image-header Simon Glass
2019-12-08  3:31   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 059/102] x86: Don't repeat microcode in U-Boot if not needed Simon Glass
2019-12-08  3:31   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 060/102] x86: Separate out U-Boot and device tree in ROM image Simon Glass
2019-12-08  3:35   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 061/102] x86: Make MSR_PKG_POWER_SKU common Simon Glass
2019-12-08  3:36   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 062/102] spi: Correct operations check in dm_spi_xfer() Simon Glass
2019-12-08  3:36   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 063/102] x86: spi: Don't enable SPI_FLASH_BAR by default Simon Glass
2019-12-08  3:37   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 064/102] spi: ich: Move init function just above probe() Simon Glass
2019-12-08  3:37   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 065/102] spi: ich: Move the protection/lockdown code into a function Simon Glass
2019-12-08  3:38   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 066/102] spi: ich: Convert to livetree Simon Glass
2019-12-08  3:38   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 067/102] spi: ich: Fix header order Simon Glass
2019-12-08  3:39   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 068/102] spi: ich: Various small tidy-ups Simon Glass
2019-12-08  3:39   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 069/102] spi: ich: Add mmio_base to struct ich_spi_platdata Simon Glass
2019-12-08  3:40   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 070/102] dm: doc: Add a note about of-platdata and header files Simon Glass
2019-12-08  3:43   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 071/102] spi: ich: Correct max-size bug in ich_spi_adjust_size() Simon Glass
2019-12-08  3:56   ` Bin Meng
2019-12-08  4:24     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 072/102] spi: ich: Support of-platdata for fast-spi Simon Glass
2019-12-08  4:24   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 073/102] spi: ich: Support hardware sequencing Simon Glass
2019-12-08  4:25   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 074/102] spi: ich: Add support for get_mmap() method Simon Glass
2019-12-08  4:26   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 075/102] spi: ich: Add TPL support Simon Glass
2019-12-08  3:58   ` Bin Meng
2019-12-08  4:26     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 076/102] spi: ich: Add Apollo Lake support Simon Glass
2019-12-08  4:27   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 077/102] mtd: spi: Export spi_flash_std_probe() Simon Glass
2019-12-08  4:28   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 078/102] x86: Enable pinctrl in SPL and TPL Simon Glass
2019-12-08  3:58   ` Bin Meng
2019-12-08  4:28     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 079/102] x86: Add low-power subsystem (lpss) support Simon Glass
2019-12-08  3:59   ` Bin Meng
2019-12-08  4:29     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 080/102] x86: Add a generic Intel pinctrl driver Simon Glass
2019-12-08  7:59   ` Bin Meng
2019-12-08  8:19     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 081/102] x86: Add a generic Intel GPIO driver Simon Glass
2019-12-08  8:01   ` Bin Meng
2019-12-08  8:19     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 082/102] x86: Move qemu CPU fixup function into its own file Simon Glass
2019-12-08  8:03   ` Bin Meng
2019-12-08  8:19     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 083/102] x86: apl: Add basic IO addresses Simon Glass
2019-12-08  8:20   ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 084/102] x86: apl: Add PMC driver Simon Glass
2019-12-08  8:04   ` Bin Meng
2019-12-08  8:21     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 085/102] x86: apl: Add UART driver Simon Glass
2019-12-08  8:07   ` Bin Meng
2019-12-08  8:21     ` Bin Meng
2019-12-07  4:42 ` [PATCH v6 086/102] x86: apl: Add pinctrl driver Simon Glass
2019-12-08  8:10   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 087/102] i2c: designware: Add Apollo Lake support Simon Glass
2019-12-07  4:43 ` [PATCH v6 088/102] x86: apl: Add systemagent driver Simon Glass
2019-12-08  8:13   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 089/102] x86: apl: Add hostbridge driver Simon Glass
2019-12-08  8:14   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 090/102] x86: apl: Add ITSS driver Simon Glass
2019-12-07  4:43 ` [PATCH v6 091/102] x86: apl: Add LPC driver Simon Glass
2019-12-08  8:24   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 092/102] x86: apl: Add PCH driver Simon Glass
2019-12-07  4:43 ` [PATCH v6 093/102] x86: apl: Add PUNIT driver Simon Glass
2019-12-08  8:26   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 094/102] spl: Add methods to find the position/size of next phase Simon Glass
2019-12-08  8:27   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 095/102] x86: apl: Add SPL loaders Simon Glass
2019-12-08  8:31   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 096/102] x86: apl: Add a CPU driver Simon Glass
2019-12-08  8:33   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 097/102] x86: apl: Add SPL/TPL init Simon Glass
2019-12-08  8:36   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 098/102] x86: apl: Add P2SB driver Simon Glass
2019-12-08  8:39   ` Bin Meng
2019-12-09  0:32     ` Simon Glass
2019-12-07  4:43 ` [PATCH v6 099/102] x86: apl: Add Kconfig and Makefile Simon Glass
2019-12-08  8:41   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 100/102] x86: apl: Add FSP structures Simon Glass
2019-12-08  8:42   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 101/102] x86: apl: Add FSP support Simon Glass
2019-12-08  8:45   ` Bin Meng
2019-12-07  4:43 ` [PATCH v6 102/102] x86: Add chromebook_coral Simon Glass
2019-12-08  8:48   ` Bin Meng
2019-12-08  8:56 ` [PATCH v6 000/102] x86: Add initial support for apollolake Bin Meng
2019-12-08 13:23   ` Tom Rini
2019-12-08 23:54     ` Simon Glass
2019-12-09  0:45       ` Tom Rini
2019-12-13  8:49 ` [PATCH v6 081/102] x86: Add a generic Intel GPIO driver Wolfgang Wallner
2020-01-30  2:16   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191206213936.v6.2.Ie6bd3875dc93547a1c772ba8e025a5e57e5233ef@changeid \
    --to=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.