diff --git a/arch/arm/dts/t8103.dtsi b/arch/arm/dts/t8103.dtsi index e452abf690..2288affb89 100644 --- a/arch/arm/dts/t8103.dtsi +++ b/arch/arm/dts/t8103.dtsi @@ -110,7 +110,6 @@ #size-cells = <2>; ranges; - dma-ranges; dma-coherent; nonposted-mmio; @@ -361,9 +360,9 @@ msi-parent = <&pcie0>; msi-ranges = <704 32>; - iommu-map = <0x100 &pcie0_dart_0 1 1>, - <0x200 &pcie0_dart_1 1 1>, - <0x300 &pcie0_dart_2 1 1>; + iommu-map = <0x100 &pcie0_dart_0 0 1>, + <0x200 &pcie0_dart_1 0 1>, + <0x300 &pcie0_dart_2 0 1>; iommu-map-mask = <0xff00>; bus-range = <0 3>; diff --git a/arch/arm/mach-apple/board.c b/arch/arm/mach-apple/board.c index 69b2c381d5..c5350a4092 100644 --- a/arch/arm/mach-apple/board.c +++ b/arch/arm/mach-apple/board.c @@ -167,11 +167,42 @@ __weak phys_size_t apple_mbox_size; int ft_board_setup(void *blob, struct bd_info *bd) { + int ret; + int node; + fdt_addr_t base; + fdt_size_t size; + if (apple_mbox_size > 0) { /* Reserve memory stolen by the mailboxes. */ efi_add_memory_map(apple_mbox_phys_start, apple_mbox_size, EFI_RESERVED_MEMORY_TYPE); } + node = fdt_path_offset(gd->fdt_blob, "/chosen/framebuffer"); + if (node < 0) { + eprintf("No framebuffer\n"); + return 0; + } + + base = fdtdec_get_addr_size(gd->fdt_blob, node, "reg", &size); + if (base == FDT_ADDR_T_NONE) { + eprintf("No base\n"); + return 0; + } + + node = fdt_path_offset(blob, "/chosen/framebuffer"); + if (node < 0) { + eprintf("No framebuffer\n"); + return 0; + } + + ret = fdt_setup_simplefb_node(blob, node, base, + 1920, 1080, + 1920 * 4, "x2r10g10b10"); + if (ret) + eprintf("Cannot setup simplefb: Error setting properties\n"); + +// efi_add_memory_map(base, size, EFI_RESERVED_MEMORY_TYPE); + return 0; }