tegra132: remove framebuffer reservation
There's no need to reserve the framebuffer within coreboot. If the payloads need a framebuffer they can allocate one themselves. BUG=chrome-os-partner:31355 BRANCH=None TEST=Built and booted on ryu. Original-Change-Id: I8d8b159e7fdd877e392193c5474a7518e9b3ad21 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/221726 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Original-Tested-by: Furquan Shaikh <furquan@chromium.org> Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org> (cherry picked from commit 1ff8da9fed414fceeda3f94b296312f4531b320f) Signed-off-by: Aaron Durbin <adurbin@chromium.org> Change-Id: I4e7c0417824f2be9836b1bc2bb99322c78490ca2 Reviewed-on: http://review.coreboot.org/9256 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
		
				
					committed by
					
						
						Aaron Durbin
					
				
			
			
				
	
			
			
			
						parent
						
							b6092b7e39
						
					
				
				
					commit
					acbf32a042
				
			@@ -22,7 +22,6 @@
 | 
				
			|||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <console/console.h>
 | 
					#include <console/console.h>
 | 
				
			||||||
#include <soc/addressmap.h>
 | 
					#include <soc/addressmap.h>
 | 
				
			||||||
#include <soc/display.h>
 | 
					 | 
				
			||||||
#include <soc/id.h>
 | 
					#include <soc/id.h>
 | 
				
			||||||
#include "mc.h"
 | 
					#include "mc.h"
 | 
				
			||||||
#include "sdram.h"
 | 
					#include "sdram.h"
 | 
				
			||||||
@@ -166,20 +165,6 @@ void memory_in_range_above_4gb(uintptr_t *base_mib, uintptr_t *end_mib)
 | 
				
			|||||||
	memory_in_range(base_mib, end_mib, 0);
 | 
						memory_in_range(base_mib, end_mib, 0);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uintptr_t framebuffer_attributes(size_t *size_mib)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	uintptr_t begin;
 | 
					 | 
				
			||||||
	uintptr_t end;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Place the framebuffer just below the 32-bit addressable limit. */
 | 
					 | 
				
			||||||
	memory_in_range_below_4gb(&begin, &end);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	*size_mib = FB_SIZE_MB;
 | 
					 | 
				
			||||||
	end -= *size_mib;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return end;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void trustzone_region_init(void)
 | 
					void trustzone_region_init(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct tegra_mc_regs * const mc = (void *)(uintptr_t)TEGRA_MC_BASE;
 | 
						struct tegra_mc_regs * const mc = (void *)(uintptr_t)TEGRA_MC_BASE;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,18 +23,18 @@
 | 
				
			|||||||
void *cbmem_top(void)
 | 
					void *cbmem_top(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	static uintptr_t addr;
 | 
						static uintptr_t addr;
 | 
				
			||||||
	size_t fb_size;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						if (addr == 0) {
 | 
				
			||||||
	 * FIXME(adurbin): The TZ registers are not accessible to the AVP.
 | 
							uintptr_t begin_mib;
 | 
				
			||||||
	 * Therefore, if there is a TZ carveout then it needs to be handled
 | 
							uintptr_t end_mib;
 | 
				
			||||||
	 * here while executing on the AVP in order to properly place the
 | 
					 | 
				
			||||||
	 * CBMEM region.
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* CBMEM starts downwards from the framebuffer. */
 | 
							memory_in_range_below_4gb(&begin_mib, &end_mib);
 | 
				
			||||||
	if (addr == 0)
 | 
							/* Make sure we consume everything up to 4GiB. */
 | 
				
			||||||
		addr = framebuffer_attributes(&fb_size);
 | 
							if (end_mib == 4096)
 | 
				
			||||||
 | 
								addr = ~(uint32_t)0;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								addr = end_mib << 20;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return (void *)(addr << 20UL);
 | 
						return (void *)addr;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -130,7 +130,4 @@ void mainboard_add_memory_ranges(struct memranges *map);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
void trustzone_region_init(void);
 | 
					void trustzone_region_init(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Return pointer and size in 1MiB units. */
 | 
					 | 
				
			||||||
uintptr_t framebuffer_attributes(size_t *size_mib);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __SOC_NVIDIA_TEGRA132_INCLUDE_SOC_ADDRESS_MAP_H__ */
 | 
					#endif /* __SOC_NVIDIA_TEGRA132_INCLUDE_SOC_ADDRESS_MAP_H__ */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -197,6 +197,4 @@ void dp_misc_setting(u32 panel_bpp, u32 width, u32 height, u32 winb_addr,
 | 
				
			|||||||
		     u32 lane_count, u32 enhanced_framing, u32 panel_edp,
 | 
							     u32 lane_count, u32 enhanced_framing, u32 panel_edp,
 | 
				
			||||||
		     u32 pclkfreq, u32 linkfreq);
 | 
							     u32 pclkfreq, u32 linkfreq);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define FB_SIZE_MB (32)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __SOC_NVIDIA_TEGRA132_INCLUDE_SOC_DISPLAY_H__ */
 | 
					#endif /* __SOC_NVIDIA_TEGRA132_INCLUDE_SOC_DISPLAY_H__ */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,12 +47,6 @@ static void soc_read_resources(device_t dev)
 | 
				
			|||||||
		reserved_ram_resource(dev, index++, begin * KiB, size * KiB);
 | 
							reserved_ram_resource(dev, index++, begin * KiB, size * KiB);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
					 | 
				
			||||||
	 * TODO: Frame buffer needs to handled as a carveout from the below_4G
 | 
					 | 
				
			||||||
	 * uintptr_t framebuffer_begin = framebuffer_attributes(&framebuffer_size);
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memory_in_range_below_4gb(&begin, &end);
 | 
						memory_in_range_below_4gb(&begin, &end);
 | 
				
			||||||
	size = end - begin;
 | 
						size = end - begin;
 | 
				
			||||||
	ram_resource(dev, index++, begin * KiB, size * KiB);
 | 
						ram_resource(dev, index++, begin * KiB, size * KiB);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user