Merge branch 'master' of git://git.denx.de/u-boot-tegra
[oweals/u-boot.git] / board / nvidia / jetson-tk1 / jetson-tk1.c
1 /*
2  * (C) Copyright 2014
3  * NVIDIA Corporation <www.nvidia.com>
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #include <common.h>
9 #include <power/as3722.h>
10
11 #include <asm/arch/gpio.h>
12 #include <asm/arch/pinmux.h>
13
14 #include "pinmux-config-jetson-tk1.h"
15
16 DECLARE_GLOBAL_DATA_PTR;
17
18 /*
19  * Routine: pinmux_init
20  * Description: Do individual peripheral pinmux configs
21  */
22 void pinmux_init(void)
23 {
24         pinmux_clear_tristate_input_clamping();
25
26         gpio_config_table(jetson_tk1_gpio_inits,
27                           ARRAY_SIZE(jetson_tk1_gpio_inits));
28
29         pinmux_config_pingrp_table(jetson_tk1_pingrps,
30                                    ARRAY_SIZE(jetson_tk1_pingrps));
31
32         pinmux_config_drvgrp_table(jetson_tk1_drvgrps,
33                                    ARRAY_SIZE(jetson_tk1_drvgrps));
34 }
35
36 #ifdef CONFIG_PCI_TEGRA
37 int tegra_pcie_board_init(void)
38 {
39         struct udevice *pmic;
40         int err;
41
42         err = as3722_init(&pmic);
43         if (err) {
44                 error("failed to initialize AS3722 PMIC: %d\n", err);
45                 return err;
46         }
47
48         err = as3722_sd_enable(pmic, 4);
49         if (err < 0) {
50                 error("failed to enable SD4: %d\n", err);
51                 return err;
52         }
53
54         err = as3722_sd_set_voltage(pmic, 4, 0x24);
55         if (err < 0) {
56                 error("failed to set SD4 voltage: %d\n", err);
57                 return err;
58         }
59
60         return 0;
61 }
62 #endif /* PCI */