From: Stephen Warren <swar...@nvidia.com>

Define enum PMUX_FUNC_DEFAULT, which indicates that a table entry passed
to pinmux_config_pingrp()/pinmux_config_pingrp_table() shouldn't change
the mux option in HW.

For pins that will be used as GPIOs, the mux option is irrelevant, so we
simply don't want to define any mux option in the pinmux initialization
table.

Signed-off-by: Stephen Warren <swar...@nvidia.com>
---
 arch/arm/cpu/tegra-common/pinmux-common.c   | 3 +++
 arch/arm/include/asm/arch-tegra114/pinmux.h | 1 +
 arch/arm/include/asm/arch-tegra124/pinmux.h | 1 +
 arch/arm/include/asm/arch-tegra20/pinmux.h  | 1 +
 arch/arm/include/asm/arch-tegra30/pinmux.h  | 1 +
 5 files changed, 7 insertions(+)

diff --git a/arch/arm/cpu/tegra-common/pinmux-common.c 
b/arch/arm/cpu/tegra-common/pinmux-common.c
index d62618cd0f61..6d7a7d907b16 100644
--- a/arch/arm/cpu/tegra-common/pinmux-common.c
+++ b/arch/arm/cpu/tegra-common/pinmux-common.c
@@ -92,6 +92,9 @@ void pinmux_set_func(enum pmux_pingrp pin, enum pmux_func 
func)
        int i, mux = -1;
        u32 val;
 
+       if (func == PMUX_FUNC_DEFAULT)
+               return;
+
        /* Error check on pin and func */
        assert(pmux_pingrp_isvalid(pin));
        assert(pmux_func_isvalid(func));
diff --git a/arch/arm/include/asm/arch-tegra114/pinmux.h 
b/arch/arm/include/asm/arch-tegra114/pinmux.h
index c1cb3ef16b1a..b86562ac6dee 100644
--- a/arch/arm/include/asm/arch-tegra114/pinmux.h
+++ b/arch/arm/include/asm/arch-tegra114/pinmux.h
@@ -231,6 +231,7 @@ enum pmux_drvgrp {
 };
 
 enum pmux_func {
+       PMUX_FUNC_DEFAULT,
        PMUX_FUNC_BLINK,
        PMUX_FUNC_CEC,
        PMUX_FUNC_CLDVFS,
diff --git a/arch/arm/include/asm/arch-tegra124/pinmux.h 
b/arch/arm/include/asm/arch-tegra124/pinmux.h
index c49801c21d07..1884935a579e 100644
--- a/arch/arm/include/asm/arch-tegra124/pinmux.h
+++ b/arch/arm/include/asm/arch-tegra124/pinmux.h
@@ -247,6 +247,7 @@ enum pmux_drvgrp {
 };
 
 enum pmux_func {
+       PMUX_FUNC_DEFAULT,
        PMUX_FUNC_BLINK,
        PMUX_FUNC_CCLA,
        PMUX_FUNC_CEC,
diff --git a/arch/arm/include/asm/arch-tegra20/pinmux.h 
b/arch/arm/include/asm/arch-tegra20/pinmux.h
index 11c0104ff3e0..f7bc97fe5f73 100644
--- a/arch/arm/include/asm/arch-tegra20/pinmux.h
+++ b/arch/arm/include/asm/arch-tegra20/pinmux.h
@@ -166,6 +166,7 @@ enum pmux_pingrp {
  * purely a convenience. The translation is done through a table search.
  */
 enum pmux_func {
+       PMUX_FUNC_DEFAULT,
        PMUX_FUNC_AHB_CLK,
        PMUX_FUNC_APB_CLK,
        PMUX_FUNC_AUDIO_SYNC,
diff --git a/arch/arm/include/asm/arch-tegra30/pinmux.h 
b/arch/arm/include/asm/arch-tegra30/pinmux.h
index 6d83061dc1e9..a42e00990f0c 100644
--- a/arch/arm/include/asm/arch-tegra30/pinmux.h
+++ b/arch/arm/include/asm/arch-tegra30/pinmux.h
@@ -306,6 +306,7 @@ enum pmux_drvgrp {
 };
 
 enum pmux_func {
+       PMUX_FUNC_DEFAULT,
        PMUX_FUNC_BLINK,
        PMUX_FUNC_CEC,
        PMUX_FUNC_CLK_12M_OUT,
-- 
1.8.1.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to