mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-02 09:30:10 +00:00
c1fe92fe29
Syseng has revamped the Jetson TK1 pinmux spreadsheet, basing the content completely on correct configuration for the board/schematic, rather than the previous version which was based on the bare minimum changes relative to another reference board. The new spreadsheet sets TRISTATE for any input-only pins. This only works correctly if the global CLAMP bit is not set, so the Jetson TK1 board code has been adjusted accordingly. Apparently syseng have changed their mind since the previous advice that this needed to be set:-/ This content comes from Jetson_TK1_customer_pinmux.xlsm (v09) downloaded from https://developer.nvidia.com/hardware-design-and-development. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
81 lines
1.5 KiB
C
81 lines
1.5 KiB
C
/*
|
|
* (C) Copyright 2014
|
|
* NVIDIA Corporation <www.nvidia.com>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <netdev.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));
|
|
}
|
|
|
|
#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;
|
|
}
|
|
|
|
err = as3722_gpio_configure(pmic, 1, AS3722_GPIO_OUTPUT_VDDH |
|
|
AS3722_GPIO_INVERT);
|
|
if (err < 0) {
|
|
error("failed to configure GPIO#1 as output: %d\n", err);
|
|
return err;
|
|
}
|
|
|
|
err = as3722_gpio_direction_output(pmic, 2, 1);
|
|
if (err < 0) {
|
|
error("failed to set GPIO#2 high: %d\n", err);
|
|
return err;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int board_eth_init(bd_t *bis)
|
|
{
|
|
return pci_eth_init(bis);
|
|
}
|
|
#endif /* PCI */
|