All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 46/60] ARM: tegra: add pinmux APIs to replace funcmux
Date: Tue, 19 Apr 2016 14:59:26 -0600	[thread overview]
Message-ID: <1461099580-3866-47-git-send-email-swarren@wwwdotorg.org> (raw)
In-Reply-To: <1461099580-3866-1-git-send-email-swarren@wwwdotorg.org>

From: Stephen Warren <swarren@nvidia.com>

The existing funcmux APIs have the disadvantage that clients call a single
monolithic/IOCTL-style function which performs different operations based
on its parameter. All branches of that function are always compiled into
the binary even when they're not used.

Another disadvantage is that funcmux is pinmux functionality, but
implemented outside the Tegra pinmux driver.

This patch creates a separate function per operation, and implements them
as part of the pinmux driver. Later patches will convert callers to these
functions and eventually remove the funcmux files.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 arch/arm/mach-tegra/tegra114/include/mach/pinmux.h |   2 +
 arch/arm/mach-tegra/tegra114/pinmux.c              |  18 ++
 arch/arm/mach-tegra/tegra124/include/mach/pinmux.h |   3 +
 arch/arm/mach-tegra/tegra124/pinmux.c              |  30 +++
 arch/arm/mach-tegra/tegra20/include/mach/pinmux.h  |  22 +++
 arch/arm/mach-tegra/tegra20/pinmux.c               | 208 +++++++++++++++++++++
 arch/arm/mach-tegra/tegra30/include/mach/pinmux.h  |   2 +
 arch/arm/mach-tegra/tegra30/pinmux.c               |  12 ++
 8 files changed, 297 insertions(+)

diff --git a/arch/arm/mach-tegra/tegra114/include/mach/pinmux.h b/arch/arm/mach-tegra/tegra114/include/mach/pinmux.h
index af2e4be55fdf..8cb07ee751c5 100644
--- a/arch/arm/mach-tegra/tegra114/include/mach/pinmux.h
+++ b/arch/arm/mach-tegra/tegra114/include/mach/pinmux.h
@@ -332,4 +332,6 @@ enum pmux_func {
 #define TEGRA_PMX_PINS_HAVE_RCV_SEL
 #include <mach/pinmux_common.h>
 
+void tegra114_pinmux_uartd_gmi(void);
+
 #endif
diff --git a/arch/arm/mach-tegra/tegra114/pinmux.c b/arch/arm/mach-tegra/tegra114/pinmux.c
index e4d768637878..7fd383d300ce 100644
--- a/arch/arm/mach-tegra/tegra114/pinmux.c
+++ b/arch/arm/mach-tegra/tegra114/pinmux.c
@@ -291,3 +291,21 @@ static const struct pmux_pingrp_desc tegra114_pingroups[] = {
 	PIN(RESET_OUT_N,            RSVD1,      RSVD2,    RSVD3,        RESET_OUT_N),
 };
 const struct pmux_pingrp_desc *tegra_soc_pingroups = tegra114_pingroups;
+
+void tegra114_pinmux_uartd_gmi(void)
+{
+	pinmux_set_func(PMUX_PINGRP_GMI_A16_PJ7, PMUX_FUNC_UARTD);
+	pinmux_set_func(PMUX_PINGRP_GMI_A17_PB0, PMUX_FUNC_UARTD);
+	pinmux_set_func(PMUX_PINGRP_GMI_A18_PB1, PMUX_FUNC_UARTD);
+	pinmux_set_func(PMUX_PINGRP_GMI_A19_PK7, PMUX_FUNC_UARTD);
+
+	pinmux_set_io(PMUX_PINGRP_GMI_A16_PJ7, PMUX_PIN_OUTPUT);
+	pinmux_set_io(PMUX_PINGRP_GMI_A17_PB0, PMUX_PIN_INPUT);
+	pinmux_set_io(PMUX_PINGRP_GMI_A18_PB1, PMUX_PIN_INPUT);
+	pinmux_set_io(PMUX_PINGRP_GMI_A19_PK7, PMUX_PIN_OUTPUT);
+
+	pinmux_tristate_disable(PMUX_PINGRP_GMI_A16_PJ7);
+	pinmux_tristate_disable(PMUX_PINGRP_GMI_A17_PB0);
+	pinmux_tristate_disable(PMUX_PINGRP_GMI_A18_PB1);
+	pinmux_tristate_disable(PMUX_PINGRP_GMI_A19_PK7);
+}
diff --git a/arch/arm/mach-tegra/tegra124/include/mach/pinmux.h b/arch/arm/mach-tegra/tegra124/include/mach/pinmux.h
index 4b4424460e5e..307d3f75b728 100644
--- a/arch/arm/mach-tegra/tegra124/include/mach/pinmux.h
+++ b/arch/arm/mach-tegra/tegra124/include/mach/pinmux.h
@@ -363,4 +363,7 @@ enum pmux_func {
 #define TEGRA_PMX_PINS_HAVE_RCV_SEL
 #include <mach/pinmux_common.h>
 
+void tegra124_pinmux_uarta_kbc(void);
+void tegra124_pinmux_uartd_gpio(void);
+
 #endif
diff --git a/arch/arm/mach-tegra/tegra124/pinmux.c b/arch/arm/mach-tegra/tegra124/pinmux.c
index d5b4cdb9a686..b27f89e2f5a1 100644
--- a/arch/arm/mach-tegra/tegra124/pinmux.c
+++ b/arch/arm/mach-tegra/tegra124/pinmux.c
@@ -321,3 +321,33 @@ static const struct pmux_mipipadctrlgrp_desc tegra124_mipipadctrl_groups[] = {
 	MIPIPADCTRL_GRP(DSI_B, CSI, DSI_B),
 };
 const struct pmux_mipipadctrlgrp_desc *tegra_soc_mipipadctrl_groups = tegra124_mipipadctrl_groups;
+
+void tegra124_pinmux_uarta_kbc(void)
+{
+	pinmux_set_func(PMUX_PINGRP_KB_ROW9_PS1, PMUX_FUNC_UARTA);
+	pinmux_set_func(PMUX_PINGRP_KB_ROW10_PS2, PMUX_FUNC_UARTA);
+
+	pinmux_set_io(PMUX_PINGRP_KB_ROW9_PS1, PMUX_PIN_OUTPUT);
+	pinmux_set_io(PMUX_PINGRP_KB_ROW10_PS2, PMUX_PIN_INPUT);
+
+	pinmux_tristate_disable(PMUX_PINGRP_KB_ROW9_PS1);
+	pinmux_tristate_disable(PMUX_PINGRP_KB_ROW10_PS2);
+}
+
+void tegra124_pinmux_uartd_gpio(void)
+{
+	pinmux_set_func(PMUX_PINGRP_PJ7, PMUX_FUNC_UARTD);
+	pinmux_set_func(PMUX_PINGRP_PB0, PMUX_FUNC_UARTD);
+	pinmux_set_func(PMUX_PINGRP_PB1, PMUX_FUNC_UARTD);
+	pinmux_set_func(PMUX_PINGRP_PK7, PMUX_FUNC_UARTD);
+
+	pinmux_set_io(PMUX_PINGRP_PJ7, PMUX_PIN_OUTPUT);
+	pinmux_set_io(PMUX_PINGRP_PB0, PMUX_PIN_INPUT);
+	pinmux_set_io(PMUX_PINGRP_PB1, PMUX_PIN_INPUT);
+	pinmux_set_io(PMUX_PINGRP_PK7, PMUX_PIN_OUTPUT);
+
+	pinmux_tristate_disable(PMUX_PINGRP_PJ7);
+	pinmux_tristate_disable(PMUX_PINGRP_PB0);
+	pinmux_tristate_disable(PMUX_PINGRP_PB1);
+	pinmux_tristate_disable(PMUX_PINGRP_PK7);
+}
diff --git a/arch/arm/mach-tegra/tegra20/include/mach/pinmux.h b/arch/arm/mach-tegra/tegra20/include/mach/pinmux.h
index f05e993b34cc..642f9d59d588 100644
--- a/arch/arm/mach-tegra/tegra20/include/mach/pinmux.h
+++ b/arch/arm/mach-tegra/tegra20/include/mach/pinmux.h
@@ -236,4 +236,26 @@ enum pmux_func {
 #define TEGRA_PMX_SOC_DRV_GROUP_BASE_REG 0x868
 #include <mach/pinmux_common.h>
 
+void tegra20_pinmux_disp1_ld0_17(void);
+void tegra20_pinmux_dvc_i2c_i2cp(void);
+void tegra20_pinmux_i2c1_rm(void);
+void tegra20_pinmux_i2c3_dtf(void);
+void tegra20_pinmux_kbc_kbca_f(void);
+void tegra20_pinmux_ndflash_atc(void);
+void tegra20_pinmux_ndflash_kbc_8bit(void);
+void tegra20_pinmux_sdmmc1_sdio1_4bit(void);
+void tegra20_pinmux_sdmmc2_dta_dtd_8bit(void);
+void tegra20_pinmux_sdmmc3_sdb_4bit(void);
+void tegra20_pinmux_sdmmc3_sdb_slxa_8bit(void);
+void tegra20_pinmux_sdmmc4_atb_gma_4bit(void);
+void tegra20_pinmux_sdmmc4_atb_gma_gme_8bit(void);
+void tegra20_pinmux_sdmmc4_atc_atd_8bit(void);
+void tegra20_pinmux_spi1_gmc_gmd(void);
+void tegra20_pinmux_uarta_gpu(void);
+void tegra20_pinmux_uarta_irrx_irtx(void);
+void tegra20_pinmux_uarta_sdio1(void);
+void tegra20_pinmux_uarta_uaa_uab(void);
+void tegra20_pinmux_uartd_gmc(void);
+void tegra20_pinmux_usb2_ulpi(void);
+
 #endif
diff --git a/arch/arm/mach-tegra/tegra20/pinmux.c b/arch/arm/mach-tegra/tegra20/pinmux.c
index bfcef743a998..363b72f37880 100644
--- a/arch/arm/mach-tegra/tegra20/pinmux.c
+++ b/arch/arm/mach-tegra/tegra20/pinmux.c
@@ -424,3 +424,211 @@ static const struct pmux_pingrp_desc tegra20_pingroups[] = {
 	DRVGRP(XM2D),
 };
 const struct pmux_pingrp_desc *tegra_soc_pingroups = tegra20_pingroups;
+
+#define PINMUX(grp, mux, pupd, tri)                   \
+	{PMUX_PINGRP_##grp, PMUX_FUNC_##mux, PMUX_PULL_##pupd, PMUX_TRI_##tri}
+
+static const struct pmux_pingrp_config disp1_default[] = {
+	PINMUX(LDI,   DISPA,      NORMAL,    NORMAL),
+	PINMUX(LHP0,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LHP1,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LHP2,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LHS,   DISPA,      NORMAL,    NORMAL),
+	PINMUX(LM0,   RSVD4,      NORMAL,    NORMAL),
+	PINMUX(LPP,   DISPA,      NORMAL,    NORMAL),
+	PINMUX(LPW0,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LPW2,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LSC0,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LSPI,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LVP1,  DISPA,      NORMAL,    NORMAL),
+	PINMUX(LVS,   DISPA,      NORMAL,    NORMAL),
+	PINMUX(SLXD,  SPDIF,      NORMAL,    NORMAL),
+};
+
+void tegra20_pinmux_disp1_ld0_17(void)
+{
+	int i;
+
+	for (i = PMUX_PINGRP_LD0; i <= PMUX_PINGRP_LD17; i++) {
+		pinmux_set_func(i, PMUX_FUNC_DISPA);
+		pinmux_tristate_disable(i);
+		pinmux_set_pullupdown(i, PMUX_PULL_NORMAL);
+	}
+	pinmux_config_pingrp_table(disp1_default, ARRAY_SIZE(disp1_default));
+}
+
+void tegra20_pinmux_dvc_i2c_i2cp(void)
+{
+	pinmux_set_func(PMUX_PINGRP_I2CP, PMUX_FUNC_I2C);
+	pinmux_tristate_disable(PMUX_PINGRP_I2CP);
+}
+
+void tegra20_pinmux_i2c1_rm(void)
+{
+	pinmux_set_func(PMUX_PINGRP_RM, PMUX_FUNC_I2C);
+	pinmux_tristate_disable(PMUX_PINGRP_RM);
+}
+
+void tegra20_pinmux_i2c3_dtf(void)
+{
+	pinmux_set_func(PMUX_PINGRP_DTF, PMUX_FUNC_I2C3);
+	pinmux_tristate_disable(PMUX_PINGRP_DTF);
+}
+
+void tegra20_pinmux_kbc_kbca_f(void)
+{
+	enum pmux_pingrp grp[] = {PMUX_PINGRP_KBCA, PMUX_PINGRP_KBCB,
+		PMUX_PINGRP_KBCC, PMUX_PINGRP_KBCD, PMUX_PINGRP_KBCE,
+		PMUX_PINGRP_KBCF};
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(grp); i++) {
+		pinmux_tristate_disable(grp[i]);
+		pinmux_set_func(grp[i], PMUX_FUNC_KBC);
+		pinmux_set_pullupdown(grp[i], PMUX_PULL_UP);
+	}
+}
+
+void tegra20_pinmux_ndflash_atc(void)
+{
+	pinmux_set_func(PMUX_PINGRP_ATC, PMUX_FUNC_NAND);
+	pinmux_tristate_disable(PMUX_PINGRP_ATC);
+}
+
+void tegra20_pinmux_ndflash_kbc_8bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_KBCA, PMUX_FUNC_NAND);
+	pinmux_set_func(PMUX_PINGRP_KBCB, PMUX_FUNC_NAND);
+	pinmux_set_func(PMUX_PINGRP_KBCC, PMUX_FUNC_NAND);
+	pinmux_set_func(PMUX_PINGRP_KBCD, PMUX_FUNC_NAND);
+	pinmux_set_func(PMUX_PINGRP_KBCE, PMUX_FUNC_NAND);
+	pinmux_set_func(PMUX_PINGRP_KBCF, PMUX_FUNC_NAND);
+	pinmux_tristate_disable(PMUX_PINGRP_KBCA);
+	pinmux_tristate_disable(PMUX_PINGRP_KBCB);
+	pinmux_tristate_disable(PMUX_PINGRP_KBCC);
+	pinmux_tristate_disable(PMUX_PINGRP_KBCD);
+	pinmux_tristate_disable(PMUX_PINGRP_KBCE);
+	pinmux_tristate_disable(PMUX_PINGRP_KBCF);
+}
+
+void tegra20_pinmux_sdmmc1_sdio1_4bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_SDIO1, PMUX_FUNC_SDIO1);
+	pinmux_tristate_disable(PMUX_PINGRP_SDIO1);
+}
+
+void tegra20_pinmux_sdmmc2_dta_dtd_8bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_DTA, PMUX_FUNC_SDIO2);
+	pinmux_set_func(PMUX_PINGRP_DTD, PMUX_FUNC_SDIO2);
+	pinmux_tristate_disable(PMUX_PINGRP_DTA);
+	pinmux_tristate_disable(PMUX_PINGRP_DTD);
+}
+
+void tegra20_pinmux_sdmmc3_sdb_4bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_SDB, PMUX_FUNC_SDIO3);
+	pinmux_set_func(PMUX_PINGRP_SDC, PMUX_FUNC_SDIO3);
+	pinmux_set_func(PMUX_PINGRP_SDD, PMUX_FUNC_SDIO3);
+	pinmux_tristate_disable(PMUX_PINGRP_SDB);
+	pinmux_tristate_disable(PMUX_PINGRP_SDC);
+	pinmux_tristate_disable(PMUX_PINGRP_SDD);
+}
+
+void tegra20_pinmux_sdmmc3_sdb_slxa_8bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_SLXA, PMUX_FUNC_SDIO3);
+	pinmux_set_func(PMUX_PINGRP_SLXC, PMUX_FUNC_SDIO3);
+	pinmux_set_func(PMUX_PINGRP_SLXD, PMUX_FUNC_SDIO3);
+	pinmux_set_func(PMUX_PINGRP_SLXK, PMUX_FUNC_SDIO3);
+	pinmux_tristate_disable(PMUX_PINGRP_SLXA);
+	pinmux_tristate_disable(PMUX_PINGRP_SLXC);
+	pinmux_tristate_disable(PMUX_PINGRP_SLXD);
+	pinmux_tristate_disable(PMUX_PINGRP_SLXK);
+	tegra20_pinmux_sdmmc3_sdb_4bit();
+}
+
+void tegra20_pinmux_sdmmc4_atb_gma_4bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_ATB, PMUX_FUNC_SDIO4);
+	pinmux_set_func(PMUX_PINGRP_GMA, PMUX_FUNC_SDIO4);
+	pinmux_tristate_disable(PMUX_PINGRP_ATB);
+	pinmux_tristate_disable(PMUX_PINGRP_GMA);
+}
+
+void tegra20_pinmux_sdmmc4_atb_gma_gme_8bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_GME, PMUX_FUNC_SDIO4);
+	pinmux_tristate_disable(PMUX_PINGRP_GME);
+	tegra20_pinmux_sdmmc4_atb_gma_4bit();
+}
+
+void tegra20_pinmux_sdmmc4_atc_atd_8bit(void)
+{
+	pinmux_set_func(PMUX_PINGRP_ATC, PMUX_FUNC_SDIO4);
+	pinmux_set_func(PMUX_PINGRP_ATD, PMUX_FUNC_SDIO4);
+	pinmux_tristate_disable(PMUX_PINGRP_ATC);
+	pinmux_tristate_disable(PMUX_PINGRP_ATD);
+}
+
+void tegra20_pinmux_spi1_gmc_gmd(void)
+{
+	pinmux_set_func(PMUX_PINGRP_GMC, PMUX_FUNC_SFLASH);
+	pinmux_set_func(PMUX_PINGRP_GMD, PMUX_FUNC_SFLASH);
+	pinmux_tristate_disable(PMUX_PINGRP_GMC);
+	pinmux_tristate_disable(PMUX_PINGRP_GMD);
+}
+
+static void tegra20_pinmux_uarta_fix_sdb_conflict(void)
+{
+	pinmux_tristate_enable(PMUX_PINGRP_SDB);
+	pinmux_set_func(PMUX_PINGRP_SDB,  PMUX_FUNC_SDIO3);
+}
+
+void tegra20_pinmux_uarta_gpu(void)
+{
+	pinmux_set_func(PMUX_PINGRP_GPU, PMUX_FUNC_UARTA);
+	pinmux_tristate_disable(PMUX_PINGRP_GPU);
+	tegra20_pinmux_uarta_fix_sdb_conflict();
+}
+
+void tegra20_pinmux_uarta_irrx_irtx(void)
+{
+	pinmux_set_func(PMUX_PINGRP_IRRX, PMUX_FUNC_UARTA);
+	pinmux_set_func(PMUX_PINGRP_IRTX, PMUX_FUNC_UARTA);
+	pinmux_tristate_disable(PMUX_PINGRP_IRRX);
+	pinmux_tristate_disable(PMUX_PINGRP_IRTX);
+	tegra20_pinmux_uarta_fix_sdb_conflict();
+}
+
+void tegra20_pinmux_uarta_sdio1(void)
+{
+	pinmux_set_func(PMUX_PINGRP_SDIO1, PMUX_FUNC_UARTA);
+	pinmux_tristate_disable(PMUX_PINGRP_SDIO1);
+	tegra20_pinmux_uarta_fix_sdb_conflict();
+}
+
+void tegra20_pinmux_uarta_uaa_uab(void)
+{
+	pinmux_set_func(PMUX_PINGRP_UAA, PMUX_FUNC_UARTA);
+	pinmux_set_func(PMUX_PINGRP_UAB, PMUX_FUNC_UARTA);
+	pinmux_tristate_disable(PMUX_PINGRP_UAA);
+	pinmux_tristate_disable(PMUX_PINGRP_UAB);
+	tegra20_pinmux_uarta_fix_sdb_conflict();
+}
+
+void tegra20_pinmux_uartd_gmc(void)
+{
+	pinmux_set_func(PMUX_PINGRP_GMC, PMUX_FUNC_UARTD);
+	pinmux_tristate_disable(PMUX_PINGRP_GMC);
+}
+
+void tegra20_pinmux_usb2_ulpi(void)
+{
+	pinmux_set_func(PMUX_PINGRP_UAA, PMUX_FUNC_ULPI);
+	pinmux_set_func(PMUX_PINGRP_UAB, PMUX_FUNC_ULPI);
+	pinmux_set_func(PMUX_PINGRP_UDA, PMUX_FUNC_ULPI);
+	pinmux_tristate_disable(PMUX_PINGRP_UAA);
+	pinmux_tristate_disable(PMUX_PINGRP_UAB);
+	pinmux_tristate_disable(PMUX_PINGRP_UDA);
+}
diff --git a/arch/arm/mach-tegra/tegra30/include/mach/pinmux.h b/arch/arm/mach-tegra/tegra30/include/mach/pinmux.h
index 7717370f00eb..2588a38336be 100644
--- a/arch/arm/mach-tegra/tegra30/include/mach/pinmux.h
+++ b/arch/arm/mach-tegra/tegra30/include/mach/pinmux.h
@@ -408,4 +408,6 @@ enum pmux_func {
 #define TEGRA_PMX_PINS_HAVE_IO_RESET
 #include <mach/pinmux_common.h>
 
+void tegra30_pinmux_uarta_ulpi(void);
+
 #endif
diff --git a/arch/arm/mach-tegra/tegra30/pinmux.c b/arch/arm/mach-tegra/tegra30/pinmux.c
index fd1f9464a014..2331d2bcdd52 100644
--- a/arch/arm/mach-tegra/tegra30/pinmux.c
+++ b/arch/arm/mach-tegra/tegra30/pinmux.c
@@ -274,3 +274,15 @@ static const struct pmux_pingrp_desc tegra30_pingroups[] = {
 	PIN(HDMI_CEC_PEE3,        CEC,          RSVD2,    RSVD3,    RSVD4),
 };
 const struct pmux_pingrp_desc *tegra_soc_pingroups = tegra30_pingroups;
+
+void tegra30_pinmux_uarta_ulpi(void)
+{
+	pinmux_set_func(PMUX_PINGRP_ULPI_DATA0_PO1, PMUX_FUNC_UARTA);
+	pinmux_set_func(PMUX_PINGRP_ULPI_DATA1_PO2, PMUX_FUNC_UARTA);
+	pinmux_set_func(PMUX_PINGRP_ULPI_DATA2_PO3, PMUX_FUNC_UARTA);
+	pinmux_set_func(PMUX_PINGRP_ULPI_DATA3_PO4, PMUX_FUNC_UARTA);
+	pinmux_tristate_disable(PMUX_PINGRP_ULPI_DATA0_PO1);
+	pinmux_tristate_disable(PMUX_PINGRP_ULPI_DATA1_PO2);
+	pinmux_tristate_disable(PMUX_PINGRP_ULPI_DATA2_PO3);
+	pinmux_tristate_disable(PMUX_PINGRP_ULPI_DATA3_PO4);
+}
-- 
2.8.1

  parent reply	other threads:[~2016-04-19 20:59 UTC|newest]

Thread overview: 177+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-19 20:58 [U-Boot] [PATCH 00/60] ARM: tegra: cleanup part 1 Stephen Warren
2016-04-19 20:58 ` [U-Boot] [PATCH 01/60] ARM: tegra: remove unused definitions in headers Stephen Warren
2016-04-20 19:25   ` Simon Glass
2016-04-24 10:20   ` Wolfgang Denk
2016-04-25 19:34     ` Stephen Warren
2016-04-25 21:46       ` Wolfgang Denk
2016-04-25 22:00         ` Stephen Warren
2016-04-25 21:54       ` Simon Glass
2016-04-25 22:02         ` Stephen Warren
2016-04-25 22:15           ` Simon Glass
2016-04-25 22:16           ` Tom Rini
2016-04-19 20:58 ` [U-Boot] [PATCH 02/60] mmc: tegra: move pad init into MMC driver Stephen Warren
2016-04-20 19:25   ` Simon Glass
2016-04-24 10:20   ` Wolfgang Denk
2016-04-25 19:42     ` Stephen Warren
2016-04-25 21:52       ` Wolfgang Denk
2016-04-25 22:37         ` Tom Rini
2016-04-25 22:43           ` Stephen Warren
2016-04-25 23:05             ` Tom Rini
2016-04-25 23:11               ` Stephen Warren
2016-04-25 23:26                 ` Tom Rini
2016-04-25 23:34                   ` Stephen Warren
2016-04-26  0:14                     ` Tom Rini
2016-04-26 16:21                       ` Stephen Warren
2016-04-26 18:15                         ` Tom Rini
2016-04-26 18:09                     ` Wolfgang Denk
2016-04-19 20:58 ` [U-Boot] [PATCH 03/60] mmc: tegra: move header file to driver directory Stephen Warren
2016-04-20 19:25   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 04/60] mmc: tegra: move public header to arch/arm/mach-tegra/include Stephen Warren
2016-04-20 19:25   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 05/60] pwm: tegra: move header file to driver directory Stephen Warren
2016-04-20 19:25   ` Simon Glass
2016-04-24 10:20   ` Wolfgang Denk
2016-04-25 19:47     ` Stephen Warren
2016-04-19 20:58 ` [U-Boot] [PATCH 06/60] i2c: " Stephen Warren
2016-04-20  4:48   ` Heiko Schocher
2016-04-20 19:25   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 07/60] usb: " Stephen Warren
2016-04-20 19:25   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 08/60] video: " Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 09/60] ARM: tegra: correct 64-bit DT unit addresses Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 10/60] ARM: tegra: sort DT /aliases entries Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 11/60] ARM: tegra: add DT alias for GPIO controller Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 12/60] gpio: tegra: remove duplicate define Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 13/60] ARM: tegra: sort some board file include directives Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-24 10:20   ` Wolfgang Denk
2016-04-25 19:54     ` Stephen Warren
2016-04-25 21:59       ` Wolfgang Denk
2016-04-25 23:22         ` Tom Rini
2016-04-26 16:18           ` Stephen Warren
2016-04-26 18:13             ` Wolfgang Denk
2016-04-26 18:20               ` Wolfgang Denk
2016-04-26 18:15             ` Tom Rini
2016-04-26 20:44               ` Stephen Warren
2016-04-26 23:29                 ` Tom Rini
2016-04-26 16:23           ` Stephen Warren
2016-04-26 18:15             ` Tom Rini
2016-04-19 20:58 ` [U-Boot] [PATCH 14/60] ARM: tegra: use DT bindings for GPIO naming Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 15/60] gpio: tegra: header file split Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-20 22:01     ` Stephen Warren
2016-04-21 14:11       ` Simon Glass
2016-04-21 16:40         ` Stephen Warren
2016-04-21 16:51           ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 16/60] ARM: tegra: migrate TEGRA_GPIO to Kconfig Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 17/60] ARM: tegra: move apb_misc.h Stephen Warren
2016-04-20 19:26   ` Simon Glass
2016-04-20 21:56     ` Stephen Warren
2016-04-21 20:59       ` Simon Glass
2016-04-21 21:14         ` Stephen Warren
2016-04-19 20:58 ` [U-Boot] [PATCH 18/60] ARM: tegra: move fuse.h Stephen Warren
2016-04-22 18:30   ` Simon Glass
2016-04-19 20:58 ` [U-Boot] [PATCH 19/60] ARM: tegra: move gpu.h Stephen Warren
2016-04-22 18:30   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 20/60] ARM: tegra: move pmc.h Stephen Warren
2016-04-22 18:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 21/60] ARM: tegra: move scu.h Stephen Warren
2016-04-22 18:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 22/60] ARM: tegra: move warmboot.h Stephen Warren
2016-04-22 18:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 23/60] ARM: tegra: move xusb-padctl.h to <mach/> Stephen Warren
2016-04-22 18:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 24/60] ARM: tegra: unify+move {board, sys_proto}.h " Stephen Warren
2016-04-22 18:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 25/60] ARM: tegra: use consistently named include guards Stephen Warren
2016-04-22 18:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 26/60] ARM: tegra: delete unused headers Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 27/60] ARM: tegra: move emc.h Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 28/60] ARM: tegra: move sdram_param.h Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 29/60] ARM: tegra: move sysctr.h Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 30/60] ARM: tegra: remove pmu.h Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-22 20:42     ` Stephen Warren
2016-04-19 20:59 ` [U-Boot] [PATCH 31/60] ARM: tegra: move powergate.h to <mach/> Stephen Warren
2016-04-22 18:33   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 32/60] ARM: tegra: add SoC-specific include directory Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 33/60] ARM: tegra: fix bug in Tegra20 flow.h Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 34/60] ARM: tegra: move flow.h Stephen Warren
2016-04-22 18:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 35/60] nyan-big: remove direct MC register access Stephen Warren
2016-04-22 18:33   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 36/60] ARM: tegra: move mc.h Stephen Warren
2016-04-22 18:33   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 37/60] ARM: tegra: move SDIOCFG_DRV* to pinmux.h Stephen Warren
2016-04-23 17:14   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 38/60] ARM: tegra: remove tegra_get_chip() Stephen Warren
2016-04-23 17:14   ` Simon Glass
2016-04-25 19:25     ` Stephen Warren
2016-04-27 14:50       ` Simon Glass
2016-04-27 16:13         ` Stephen Warren
2016-04-29 14:02           ` Simon Glass
2016-04-29 16:27             ` Stephen Warren
2016-04-29 16:53               ` Simon Glass
2016-04-29 17:42                 ` Simon Glass
2016-04-29 19:21                   ` Stephen Warren
2016-05-01 19:16                     ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 39/60] ARM: tegra: remove get_num_cpus() Stephen Warren
2016-04-19 20:59 ` [U-Boot] [PATCH 40/60] ARM: tegra: remove gp_padctrl.h Stephen Warren
2016-05-07 22:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 41/60] ARM: tegra: remove tegra_get_sku_info() Stephen Warren
2016-05-07 22:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 42/60] ARM: tegra: move EMC code to tegra20/ directory Stephen Warren
2016-05-07 22:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 43/60] ARM: tegra: move PLLX configuration into SoC directories Stephen Warren
2016-05-07 22:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 44/60] ARM: tegra: remove tegra_get_chip_sku() Stephen Warren
2016-05-07 22:31   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 45/60] ARM: tegra: move custom pinmux.h to <mach/> Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` Stephen Warren [this message]
2016-05-07 22:32   ` [U-Boot] [PATCH 46/60] ARM: tegra: add pinmux APIs to replace funcmux Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 47/60] ARM: tegra: provide API for SPL code to init UART Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 48/60] ARM: tegra: lay groundwork for board hook cleanup Stephen Warren
2016-04-19 20:59 ` [U-Boot] [PATCH 49/60] ARM: tegra: convert boards to new hooks Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 50/60] ARM: tegra: remove unused includes Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 51/60] ARM: tegra: move SPL-specific GPIO device to spl.c Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 52/60] ARM: tegra: convert pin_mux_*() to new hooks Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 53/60] tegra: keyboard: move pinmux setup to board files Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 54/60] video: tegra: " Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 55/60] i2c: " Stephen Warren
2016-04-27 15:12   ` Simon Glass
2016-04-27 16:24     ` Stephen Warren
2016-04-27 16:58       ` Simon Glass
2016-04-27 17:16         ` Stephen Warren
2016-04-29 14:02           ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 56/60] ARM: tegra: remove funcmux API Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 57/60] ARM: tegra: don't access Boot Info Table from board code Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 58/60] ARM: tegra: clean up board include statements Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 59/60] ARM: tegra: unify+move tegra.h to mach-tegra/ Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-04-19 20:59 ` [U-Boot] [PATCH 60/60] ARM: tegra: move clock headers Stephen Warren
2016-05-07 22:32   ` Simon Glass
2016-05-07 22:32 ` [U-Boot] [PATCH 00/60] ARM: tegra: cleanup part 1 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=1461099580-3866-47-git-send-email-swarren@wwwdotorg.org \
    --to=swarren@wwwdotorg.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.