ARM: tegra: simplify GPU setup
Enable the GPU node in the system-wide ft_system_setup() hook instead of the board-specific ft_board_hook(). This allows us to enable GPU per SoC generation instead of per-board as we did initially. Reported-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
parent
36e5f7ce1c
commit
d6bf06c0c7
@ -403,3 +403,23 @@ ulong board_get_usable_ram_top(ulong total_size)
|
|||||||
{
|
{
|
||||||
return CONFIG_SYS_SDRAM_BASE + usable_ram_size_below_4g();
|
return CONFIG_SYS_SDRAM_BASE + usable_ram_size_below_4g();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This function is called right before the kernel is booted. "blob" is the
|
||||||
|
* device tree that will be passed to the kernel.
|
||||||
|
*/
|
||||||
|
int ft_system_setup(void *blob, bd_t *bd)
|
||||||
|
{
|
||||||
|
const char *gpu_path =
|
||||||
|
#if defined(CONFIG_TEGRA124) || defined(CONFIG_TEGRA210)
|
||||||
|
"/gpu@0,57000000";
|
||||||
|
#else
|
||||||
|
NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Enable GPU node if GPU setup has been performed */
|
||||||
|
if (gpu_path != NULL)
|
||||||
|
return gpu_enable_node(blob, gpu_path);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
#include <asm/arch/gpio.h>
|
#include <asm/arch/gpio.h>
|
||||||
#include <asm/arch/pinmux.h>
|
#include <asm/arch/pinmux.h>
|
||||||
#include <asm/arch-tegra/gpu.h>
|
|
||||||
|
|
||||||
#include "pinmux-config-jetson-tk1.h"
|
#include "pinmux-config-jetson-tk1.h"
|
||||||
|
|
||||||
@ -80,10 +79,3 @@ int board_eth_init(bd_t *bis)
|
|||||||
return pci_eth_init(bis);
|
return pci_eth_init(bis);
|
||||||
}
|
}
|
||||||
#endif /* PCI */
|
#endif /* PCI */
|
||||||
|
|
||||||
int ft_board_setup(void *blob, bd_t *bd)
|
|
||||||
{
|
|
||||||
gpu_enable_node(blob, "/gpu@0,57000000");
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
#include <asm/arch/pinmux.h>
|
#include <asm/arch/pinmux.h>
|
||||||
#include <asm/gpio.h>
|
#include <asm/gpio.h>
|
||||||
#include "max77620_init.h"
|
#include "max77620_init.h"
|
||||||
#include <asm/arch-tegra/gpu.h>
|
|
||||||
#include "pinmux-config-p2571.h"
|
#include "pinmux-config-p2571.h"
|
||||||
|
|
||||||
void pin_mux_mmc(void)
|
void pin_mux_mmc(void)
|
||||||
@ -62,9 +61,3 @@ void start_cpu_fan(void)
|
|||||||
gpio_request(GPIO_PE4, "FAN_VDD");
|
gpio_request(GPIO_PE4, "FAN_VDD");
|
||||||
gpio_direction_output(GPIO_PE4, 1);
|
gpio_direction_output(GPIO_PE4, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ft_board_setup(void *blob, bd_t *bd)
|
|
||||||
{
|
|
||||||
gpu_enable_node(blob, "/gpu@0,57000000");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <asm/arch/gpio.h>
|
#include <asm/arch/gpio.h>
|
||||||
#include <asm/arch/pinmux.h>
|
#include <asm/arch/pinmux.h>
|
||||||
#include <asm/arch-tegra/gpu.h>
|
|
||||||
#include "pinmux-config-venice2.h"
|
#include "pinmux-config-venice2.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -28,10 +27,3 @@ void pinmux_init(void)
|
|||||||
pinmux_config_drvgrp_table(venice2_drvgrps,
|
pinmux_config_drvgrp_table(venice2_drvgrps,
|
||||||
ARRAY_SIZE(venice2_drvgrps));
|
ARRAY_SIZE(venice2_drvgrps));
|
||||||
}
|
}
|
||||||
|
|
||||||
int ft_board_setup(void *blob, bd_t *bd)
|
|
||||||
{
|
|
||||||
gpu_enable_node(blob, "/gpu@0,57000000");
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
@ -78,6 +78,4 @@
|
|||||||
#define CONFIG_ARMV7_SECURE_BASE 0xfff00000
|
#define CONFIG_ARMV7_SECURE_BASE 0xfff00000
|
||||||
#define CONFIG_ARMV7_SECURE_RESERVE_SIZE 0x00100000
|
#define CONFIG_ARMV7_SECURE_RESERVE_SIZE 0x00100000
|
||||||
|
|
||||||
#define CONFIG_OF_BOARD_SETUP
|
|
||||||
|
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
@ -60,6 +60,4 @@
|
|||||||
#include "tegra-common-usb-gadget.h"
|
#include "tegra-common-usb-gadget.h"
|
||||||
#include "tegra-common-post.h"
|
#include "tegra-common-post.h"
|
||||||
|
|
||||||
#define CONFIG_OF_BOARD_SETUP
|
|
||||||
|
|
||||||
#endif /* _P2571_H */
|
#endif /* _P2571_H */
|
||||||
|
@ -143,4 +143,6 @@
|
|||||||
#define CONFIG_FAT_WRITE
|
#define CONFIG_FAT_WRITE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define CONFIG_OF_SYSTEM_SETUP
|
||||||
|
|
||||||
#endif /* _TEGRA_COMMON_H_ */
|
#endif /* _TEGRA_COMMON_H_ */
|
||||||
|
@ -60,6 +60,4 @@
|
|||||||
#include "tegra-common-usb-gadget.h"
|
#include "tegra-common-usb-gadget.h"
|
||||||
#include "tegra-common-post.h"
|
#include "tegra-common-post.h"
|
||||||
|
|
||||||
#define CONFIG_OF_BOARD_SETUP
|
|
||||||
|
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user