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 <netdev.h> 10 #include <power/as3722.h> 11 12 #include <asm/arch/gpio.h> 13 #include <asm/arch/pinmux.h> 14 15 #include "pinmux-config-jetson-tk1.h" 16 17 DECLARE_GLOBAL_DATA_PTR; 18 19 /* 20 * Routine: pinmux_init 21 * Description: Do individual peripheral pinmux configs 22 */ 23 void pinmux_init(void) 24 { 25 pinmux_clear_tristate_input_clamping(); 26 27 gpio_config_table(jetson_tk1_gpio_inits, 28 ARRAY_SIZE(jetson_tk1_gpio_inits)); 29 30 pinmux_config_pingrp_table(jetson_tk1_pingrps, 31 ARRAY_SIZE(jetson_tk1_pingrps)); 32 33 pinmux_config_drvgrp_table(jetson_tk1_drvgrps, 34 ARRAY_SIZE(jetson_tk1_drvgrps)); 35 } 36 37 #ifdef CONFIG_PCI_TEGRA 38 int tegra_pcie_board_init(void) 39 { 40 struct udevice *pmic; 41 int err; 42 43 err = as3722_init(&pmic); 44 if (err) { 45 error("failed to initialize AS3722 PMIC: %d\n", err); 46 return err; 47 } 48 49 err = as3722_sd_enable(pmic, 4); 50 if (err < 0) { 51 error("failed to enable SD4: %d\n", err); 52 return err; 53 } 54 55 err = as3722_sd_set_voltage(pmic, 4, 0x24); 56 if (err < 0) { 57 error("failed to set SD4 voltage: %d\n", err); 58 return err; 59 } 60 61 err = as3722_gpio_configure(pmic, 1, AS3722_GPIO_OUTPUT_VDDH | 62 AS3722_GPIO_INVERT); 63 if (err < 0) { 64 error("failed to configure GPIO#1 as output: %d\n", err); 65 return err; 66 } 67 68 err = as3722_gpio_direction_output(pmic, 2, 1); 69 if (err < 0) { 70 error("failed to set GPIO#2 high: %d\n", err); 71 return err; 72 } 73 74 return 0; 75 } 76 77 int board_eth_init(bd_t *bis) 78 { 79 return pci_eth_init(bis); 80 } 81 #endif /* PCI */ 82