diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h
index 0e698644a0a17fa8975ce7c58651a32e9b77aaad..ff773646cbec669607d5e03a624d1207b4c65b8b 100644
--- a/arch/arm/include/asm/arch-tegra/board.h
+++ b/arch/arm/include/asm/arch-tegra/board.h
@@ -24,6 +24,7 @@ void gpio_early_init(void);  /* overrideable GPIO config        */
  * an empty stub function will be called.
  */
 
+void pinmux_init(void);      /* overrideable general pinmux setup */
 void pin_mux_usb(void);      /* overrideable USB pinmux setup     */
 void pin_mux_spi(void);      /* overrideable SPI pinmux setup     */
 void pin_mux_nand(void);     /* overrideable NAND pinmux setup    */
diff --git a/arch/arm/include/asm/arch-tegra114/pinmux.h b/arch/arm/include/asm/arch-tegra114/pinmux.h
index 93d2ca525cec26b7415281af2d4543794c860c79..a06b24f412eef1838a693e8f374d26075cc65fe3 100644
--- a/arch/arm/include/asm/arch-tegra114/pinmux.h
+++ b/arch/arm/include/asm/arch-tegra114/pinmux.h
@@ -580,9 +580,6 @@ void pinmux_set_io(enum pmux_pingrp pin, enum pmux_pin_io io);
  */
 void pinmux_config_table(struct pingroup_config *config, int len);
 
-/* Set a group of pins from a table */
-void pinmux_init(void);
-
 /**
  * Set the GP pad configs
  *
diff --git a/arch/arm/include/asm/arch-tegra124/pinmux.h b/arch/arm/include/asm/arch-tegra124/pinmux.h
index 2042f1f7e5a394288a5f882d2f40a0239fd3184f..900cf4462264de26f18175a00ae9826be168b68e 100644
--- a/arch/arm/include/asm/arch-tegra124/pinmux.h
+++ b/arch/arm/include/asm/arch-tegra124/pinmux.h
@@ -584,9 +584,6 @@ void pinmux_set_io(enum pmux_pingrp pin, enum pmux_pin_io io);
  */
 void pinmux_config_table(struct pingroup_config *config, int len);
 
-/* Set a group of pins from a table */
-void pinmux_init(void);
-
 /**
  * Set the GP pad configs
  *
diff --git a/arch/arm/include/asm/arch-tegra30/pinmux.h b/arch/arm/include/asm/arch-tegra30/pinmux.h
index 0704e4d4d4a1d0a76f488e6a84a3f66430628a41..1449f53b333e49c3928aac9406a9630e002667af 100644
--- a/arch/arm/include/asm/arch-tegra30/pinmux.h
+++ b/arch/arm/include/asm/arch-tegra30/pinmux.h
@@ -632,9 +632,6 @@ void pinmux_set_io(enum pmux_pingrp pin, enum pmux_pin_io io);
  */
 void pinmux_config_table(struct pingroup_config *config, int len);
 
-/* Set a group of pins from a table */
-void pinmux_init(void);
-
 /**
  * Set the GP pad configs
  *
diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c
index 3b18e28cc4fe7cd3258d84971f44d63c240abbc4..d3d7bbd1959884bbb031a4b2304bcadbdedb102f 100644
--- a/board/nvidia/common/board.c
+++ b/board/nvidia/common/board.c
@@ -48,6 +48,12 @@ const struct tegra_sysinfo sysinfo = {
 	CONFIG_TEGRA_BOARD_STRING
 };
 
+void __pinmux_init(void)
+{
+}
+
+void pinmux_init(void) __attribute__((weak, alias("__pinmux_init")));
+
 void __pin_mux_usb(void)
 {
 }
@@ -176,9 +182,7 @@ void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
 
 int board_early_init_f(void)
 {
-#if !defined(CONFIG_TEGRA20)
 	pinmux_init();
-#endif
 	board_init_uart_f();
 
 	/* Initialize periph GPIOs */