ARM: tegra: import latest Jetson TK1 spreadsheet
[oweals/u-boot.git] / board / nvidia / jetson-tk1 / jetson-tk1.c
index f97aafad422b308e8eb1b00216fd74839f3082df..a66b710cddab7154c6c92aabb1127b4cce6db959 100644 (file)
@@ -6,18 +6,60 @@
  */
 
 #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_clear_tristate_input_clamping();
+
+       gpio_config_table(jetson_tk1_gpio_inits,
+                         ARRAY_SIZE(jetson_tk1_gpio_inits));
+
        pinmux_config_pingrp_table(jetson_tk1_pingrps,
                                   ARRAY_SIZE(jetson_tk1_pingrps));
 
        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 */