ARM: tegra: import latest Jetson TK1 spreadsheet
[oweals/u-boot.git] / board / nvidia / jetson-tk1 / jetson-tk1.c
index 5d37718f3b89e8b8109f30c8c8876be60179c1fb..a66b710cddab7154c6c92aabb1127b4cce6db959 100644 (file)
@@ -6,17 +6,22 @@
  */
 
 #include <common.h>
+#include <power/as3722.h>
+
 #include <asm/arch/gpio.h>
 #include <asm/arch/pinmux.h>
+
 #include "pinmux-config-jetson-tk1.h"
 
+DECLARE_GLOBAL_DATA_PTR;
+
 /*
  * Routine: pinmux_init
  * Description: Do individual peripheral pinmux configs
  */
 void pinmux_init(void)
 {
-       pinmux_set_tristate_input_clamping();
+       pinmux_clear_tristate_input_clamping();
 
        gpio_config_table(jetson_tk1_gpio_inits,
                          ARRAY_SIZE(jetson_tk1_gpio_inits));
@@ -26,4 +31,35 @@ void pinmux_init(void)
 
        pinmux_config_drvgrp_table(jetson_tk1_drvgrps,
                                   ARRAY_SIZE(jetson_tk1_drvgrps));
+
+       pinmux_config_mipipadctrlgrp_table(jetson_tk1_mipipadctrlgrps,
+                                       ARRAY_SIZE(jetson_tk1_mipipadctrlgrps));
+}
+
+#ifdef CONFIG_PCI_TEGRA
+int tegra_pcie_board_init(void)
+{
+       struct udevice *pmic;
+       int err;
+
+       err = as3722_init(&pmic);
+       if (err) {
+               error("failed to initialize AS3722 PMIC: %d\n", err);
+               return err;
+       }
+
+       err = as3722_sd_enable(pmic, 4);
+       if (err < 0) {
+               error("failed to enable SD4: %d\n", err);
+               return err;
+       }
+
+       err = as3722_sd_set_voltage(pmic, 4, 0x24);
+       if (err < 0) {
+               error("failed to set SD4 voltage: %d\n", err);
+               return err;
+       }
+
+       return 0;
 }
+#endif /* PCI */