From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=2a00:1450:4864:20::544; helo=mail-ed1-x544.google.com; envelope-from=pete@akeo.ie; receiver=edk2-devel@lists.01.org Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 04111211AE8A9 for ; Tue, 29 Jan 2019 08:27:12 -0800 (PST) Received: by mail-ed1-x544.google.com with SMTP id h50so16450408ede.5 for ; Tue, 29 Jan 2019 08:27:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akeo-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=kQqqfkkhAfwY/k2ZTm1HllTTnWtfsNnIn2jFdwcNvqE=; b=MjV9bdKlI7UijwJmLFVrC+aME31gpVolYUP7lw+XRu3kEECIfLgSV+g0oXL9N8JDlX ieqBHwNHb9SrCdcNWWytkrgw/pexk2VH5IAkytvrYyQ+0CKFcwuu8IHnC78Sr5ewrGc2 nQpcNkRhxuFvyaPVoqPIKlbLGc2EyFm62tIW5QUfpaYVgAJMan74GtnF4U+w98D5vlYR 7Ks0cfbm7fMA2rKggnXD2f0oK92aIs9OG1Dfwp/nozl1HPKTypyLgfHDX0hLhfNilaG/ NZQo2Py4++fFFzg943dc0gfTU6duEjpJOFpn5Ew/c6TYlS4Y983eG6DwFs/+2NZn1GWf Ia3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=kQqqfkkhAfwY/k2ZTm1HllTTnWtfsNnIn2jFdwcNvqE=; b=kGe8AwVpcNTIgeWM47XWinYK6SdpRi+vz/NcHeqwmDy6HL8WRqkFUyB+V5UxB0l/9l CLhglinjnsn6xEQX0OAy6Cspb9uW9gGKJQ4dX+KBLX7nAAIrJ2N3fU0uikA0WrifFtzD KcgrVDU/qVJDsFZarEPw61hjYqd3Vuvbafr/d9kHyI1wt45dKfCsGj3jnP9bPT/knVvq 6wwow0RU6BmyNXMm0GxL16a1zP22MK56KXh9l/cLlvDfl483WYFSvhBADsFxIs4kSd8o CevokiIsW7Dn5tkETPAQbcmsEAhjGcUpqtYP/ql/PaMJECYdmrp0cCTyYdKeHjy1nS1j 7YHA== X-Gm-Message-State: AJcUukfsE2uvG8raCJJgJz71BHjBlcgfbEE8MGlHyaQ7JEK3DSkkTlWd hHUf7WCHffkrkR5RRDCM/uyYqOqDXbc= X-Google-Smtp-Source: ALg8bN6cO5Cr4icczRj00/Q+e1pEtWApH6q+5gLMPirSrGLo87/a1dyLrbvjliymvPzc6I9imkdLyQ== X-Received: by 2002:a50:8ad9:: with SMTP id k25mr26566575edk.189.1548779226268; Tue, 29 Jan 2019 08:27:06 -0800 (PST) Received: from localhost.localdomain ([84.203.95.186]) by smtp.gmail.com with ESMTPSA id p16-v6sm8303056eju.73.2019.01.29.08.27.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Jan 2019 08:27:05 -0800 (PST) From: Pete Batard To: edk2-devel@lists.01.org Date: Tue, 29 Jan 2019 16:26:32 +0000 Message-Id: <20190129162655.3800-1-pete@akeo.ie> X-Mailer: git-send-email 2.17.0.windows.1 Subject: [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 X-List-Received-Date: Tue, 29 Jan 2019 16:27:13 -0000 Changes applied to v4: * Silicon/Broadcom/Include has been moved to Silicon/Broadcom/Bcm283x/Include. The [Packages] and [Includes] directives were also updated accordingly. * Move the GpioLib function declarations into their own separate header. * Add NOOPT to BUILD_TARGETS. * Remove the no longer needed '-mcmodel=small' workaround from AcpiTables. Changes not applied to v4: * Ensure that all the ACPI tables _CID names, and the rest of the tables, are ACPI specs compliant, since we are constrained with regards to their usage for Microsoft Windows. Preamble: Because of its price point, ease of use and availability, the Raspberry Pi is undeniably one of the most successful ARM platform in existence today. Its widespread adoption therefore makes it a perfect fit as an EDK2 platform. However, up until now, the Raspberry Pi hasn't been supported as a bona fide platform in our repository. This series of patches remedies that by introducing the Raspberry Pi 3 Model B and Model B+ as a viable EDK2 platform. Notes regarding non-OSI content: * Even though the ARM Trusted Firmware binary blobs are subject to a BSD-3-Clause licence, which may be compatible with the EDK2 one, we chose to follow the lead of other platforms that provide ATF binaries in non OSI. Ultimately, once there is a new dot release of ATF, we plan to remove these binaries and point to a dot release build configuartion. * The Device Tree binaries (and source descriptors) are subject to a GPLv2 license, as per the ones published by the Raspberry Pi Foundation. * The Logo source code is under an EDK2 license, but the logo itself, which we obtained authorisation to use from the Raspberry Pi Foundation itself after detailing our planned usage, is subject to the trademark licensing terms put forward by the Foundation. Additional Notes: * Detailed instructions on how to build and test the platform firmware are included in the Readme.md found at the root of the platform. * As detailed in the Readme, the resulting platform firmware has been successfully used to install and run Linux OSes, such as Ubuntu 18.10, as well as Windows 10 1809 (*full* UI version, not IoT). Regards, /Pete Pete Batard (23): Silicon/Broadcom/Bcm282x: Add interrupt driver Silicon/Broadcom/Bcm283x: Add GpioLib Platform/Raspberry/Pi3: Add ACPI tables Platform/Raspberry/Pi3: Add reset and memory init libraries Platform/Raspberry/Pi3: Add platform library Platform/Raspberry/Pi3: Add RTC library Platform/Raspberry/Pi3: Add firmware driver Platform/Raspberry/Pi3: Add platform config driver Platform/Raspberry/Pi3: Add SMBIOS driver Platform/Raspberry/Pi3: Add display driver Platform/Raspberry/Pi3: Add console driver Platform/Raspberry/Pi3: Add NV storage driver Platform/Raspberry/Pi3: Add Device Tree driver Platform/Raspberry/Pi3: Add base MMC driver Platform/Raspberry/Pi3: Add Arasan MMC driver Platform/Raspberry/Pi3: Platform/Raspberry/Pi3: Add SD Host driver Platform/Raspberry/Pi3: Add platform boot manager and helper libraries Platform/Raspberry/Pi3: Add USB host driver Platform/Raspberry/Pi3: Add platform Platform/Raspberry/Pi3: Add platform readme Platform/Raspberry/Pi3 *NON-OSI*: Add ATF binaries Platform/Raspberry/Pi3 *NON-OSI*: Add Device Tree binaries Platform/Raspberry/Pi3 *NON-OSI*: Add logo driver .../Raspberry/Pi3/AcpiTables/AcpiTables.h | 82 + .../Raspberry/Pi3/AcpiTables/AcpiTables.inf | 46 + Platform/Raspberry/Pi3/AcpiTables/Csrt.aslc | 332 +++ Platform/Raspberry/Pi3/AcpiTables/Dbg2.aslc | 34 + Platform/Raspberry/Pi3/AcpiTables/Dsdt.asl | 511 +++++ Platform/Raspberry/Pi3/AcpiTables/Fadt.aslc | 52 + Platform/Raspberry/Pi3/AcpiTables/Gtdt.aslc | 33 + Platform/Raspberry/Pi3/AcpiTables/Madt.aslc | 62 + Platform/Raspberry/Pi3/AcpiTables/Pep.asl | 95 + Platform/Raspberry/Pi3/AcpiTables/Pep.c | 84 + Platform/Raspberry/Pi3/AcpiTables/Pep.h | 126 ++ Platform/Raspberry/Pi3/AcpiTables/Rhpx.asl | 201 ++ Platform/Raspberry/Pi3/AcpiTables/Sdhc.asl | 105 + Platform/Raspberry/Pi3/AcpiTables/Spcr.asl | 53 + Platform/Raspberry/Pi3/AcpiTables/Uart.asl | 158 ++ Platform/Raspberry/Pi3/DeviceTree/License.txt | 340 +++ .../Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb | Bin 0 -> 25617 bytes .../Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dts | 1263 ++++++++++++ .../Pi3/DeviceTree/bcm2710-rpi-3-b.dtb | Bin 0 -> 25354 bytes .../Pi3/DeviceTree/bcm2710-rpi-3-b.dts | 1259 +++++++++++ .../ArasanMmcHostDxe/ArasanMmcHostDxe.c | 723 +++++++ .../ArasanMmcHostDxe/ArasanMmcHostDxe.h | 50 + .../ArasanMmcHostDxe/ArasanMmcHostDxe.inf | 52 + .../Pi3/Drivers/ConfigDxe/ConfigDxe.c | 351 ++++ .../Pi3/Drivers/ConfigDxe/ConfigDxe.inf | 78 + .../Drivers/ConfigDxe/ConfigDxeFormSetGuid.h | 23 + .../Pi3/Drivers/ConfigDxe/ConfigDxeHii.uni | 100 + .../Pi3/Drivers/ConfigDxe/ConfigDxeHii.vfr | 306 +++ .../Pi3/Drivers/DisplayDxe/ComponentName.c | 222 ++ .../Pi3/Drivers/DisplayDxe/DisplayDxe.c | 606 ++++++ .../Pi3/Drivers/DisplayDxe/DisplayDxe.h | 42 + .../Pi3/Drivers/DisplayDxe/DisplayDxe.inf | 71 + .../Pi3/Drivers/DisplayDxe/Screenshot.c | 375 ++++ .../Pi3/Drivers/DwUsbHostDxe/ComponentName.c | 226 ++ .../Pi3/Drivers/DwUsbHostDxe/DriverBinding.c | 275 +++ .../Pi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c | 1637 +++++++++++++++ .../Pi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h | 165 ++ .../Pi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf | 53 + .../Pi3/Drivers/DwUsbHostDxe/DwcHw.h | 791 +++++++ .../Raspberry/Pi3/Drivers/FdtDxe/FdtDxe.c | 364 ++++ .../Raspberry/Pi3/Drivers/FdtDxe/FdtDxe.inf | 53 + .../GraphicsConsoleDxe/ComponentName.c | 183 ++ .../GraphicsConsoleDxe/GraphicsConsole.c | 1837 +++++++++++++++++ .../GraphicsConsoleDxe/GraphicsConsole.h | 591 ++++++ .../GraphicsConsoleDxe/GraphicsConsoleDxe.inf | 75 + .../GraphicsConsoleDxe/GraphicsConsoleDxe.uni | 18 + .../GraphicsConsoleDxeExtra.uni | 18 + .../Pi3/Drivers/GraphicsConsoleDxe/NewFont.c | 287 +++ .../Raspberry/Pi3/Drivers/LogoDxe/License.txt | 10 + .../Raspberry/Pi3/Drivers/LogoDxe/Logo.bmp | Bin 0 -> 185398 bytes Platform/Raspberry/Pi3/Drivers/LogoDxe/Logo.c | 159 ++ .../Raspberry/Pi3/Drivers/LogoDxe/Logo.eps | Bin 0 -> 250982 bytes .../Raspberry/Pi3/Drivers/LogoDxe/Logo.idf | 18 + .../Raspberry/Pi3/Drivers/LogoDxe/Logo.inf | 34 + .../Raspberry/Pi3/Drivers/LogoDxe/Logo.uni | 20 + .../Raspberry/Pi3/Drivers/LogoDxe/LogoDxe.inf | 63 + .../Raspberry/Pi3/Drivers/LogoDxe/LogoDxe.uni | 19 + .../Pi3/Drivers/LogoDxe/LogoDxeExtra.uni | 19 + .../Pi3/Drivers/LogoDxe/LogoExtra.uni | 19 + .../Pi3/Drivers/MmcDxe/ComponentName.c | 163 ++ .../Pi3/Drivers/MmcDxe/Diagnostics.c | 263 +++ Platform/Raspberry/Pi3/Drivers/MmcDxe/Mmc.c | 460 +++++ Platform/Raspberry/Pi3/Drivers/MmcDxe/Mmc.h | 533 +++++ .../Raspberry/Pi3/Drivers/MmcDxe/MmcBlockIo.c | 469 +++++ .../Raspberry/Pi3/Drivers/MmcDxe/MmcDebug.c | 170 ++ .../Raspberry/Pi3/Drivers/MmcDxe/MmcDxe.inf | 58 + .../Pi3/Drivers/MmcDxe/MmcIdentification.c | 980 +++++++++ .../PlatformSmbiosDxe/PlatformSmbiosDxe.c | 903 ++++++++ .../PlatformSmbiosDxe/PlatformSmbiosDxe.inf | 56 + .../Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c | 1084 ++++++++++ .../Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf | 50 + .../Pi3/Drivers/SdHostDxe/SdHostDxe.c | 787 +++++++ .../Pi3/Drivers/SdHostDxe/SdHostDxe.inf | 55 + .../Pi3/Drivers/VarBlockServiceDxe/FileIo.c | 196 ++ .../Pi3/Drivers/VarBlockServiceDxe/FvbInfo.c | 115 ++ .../VarBlockServiceDxe/VarBlockService.c | 971 +++++++++ .../VarBlockServiceDxe/VarBlockService.h | 217 ++ .../VarBlockServiceDxe/VarBlockServiceDxe.c | 331 +++ .../VarBlockServiceDxe/VarBlockServiceDxe.inf | 93 + .../Pi3/Include/IndustryStandard/RpiMbox.h | 108 + .../Raspberry/Pi3/Include/Protocol/DwUsb.h | 53 + .../Pi3/Include/Protocol/ExtendedTextOut.h | 36 + .../Pi3/Include/Protocol/RpiFirmware.h | 131 ++ .../Pi3/Include/Protocol/RpiMmcHost.h | 206 ++ .../MemoryInitPeiLib/MemoryInitPeiLib.c | 162 ++ .../MemoryInitPeiLib/MemoryInitPeiLib.inf | 51 + .../PlatformBootManagerLib/PlatformBm.c | 793 +++++++ .../PlatformBootManagerLib/PlatformBm.h | 60 + .../PlatformBootManagerLib.inf | 90 + .../PlatformLib/AArch64/RaspberryPiHelper.S | 107 + .../Pi3/Library/PlatformLib/PlatformLib.inf | 65 + .../Pi3/Library/PlatformLib/RaspberryPi.c | 99 + .../Pi3/Library/PlatformLib/RaspberryPiMem.c | 160 ++ .../PlatformUiAppLib/PlatformUiAppLib.c | 120 ++ .../PlatformUiAppLib/PlatformUiAppLib.inf | 34 + .../Raspberry/Pi3/Library/ResetLib/ResetLib.c | 104 + .../Pi3/Library/ResetLib/ResetLib.inf | 46 + .../VirtualRealTimeClockLib.c | 221 ++ .../VirtualRealTimeClockLib.inf | 43 + Platform/Raspberry/Pi3/RPi3.dec | 59 + Platform/Raspberry/Pi3/RPi3.dsc | 637 ++++++ Platform/Raspberry/Pi3/RPi3.fdf | 449 ++++ Platform/Raspberry/Pi3/Readme.md | 259 +++ .../Raspberry/Pi3/TrustedFirmware/License.txt | 26 + .../Raspberry/Pi3/TrustedFirmware/README.md | 42 + .../Raspberry/Pi3/TrustedFirmware/bl1.bin | Bin 0 -> 18801 bytes .../Raspberry/Pi3/TrustedFirmware/fip.bin | Bin 0 -> 41714 bytes Readme.md | 3 + Silicon/Broadcom/Bcm283x/Bcm283x.dec | 23 + .../Drivers/InterruptDxe/InterruptDxe.c | 367 ++++ .../Drivers/InterruptDxe/InterruptDxe.inf | 48 + .../Include/IndustryStandard/Bcm2836.h | 72 + .../Include/IndustryStandard/Bcm2836Gpio.h | 49 + .../Include/IndustryStandard/Bcm2836SdHost.h | 92 + .../Include/IndustryStandard/Bcm2836Sdio.h | 199 ++ .../Bcm283x/Include/Library/GpioLib.h | 33 + .../Bcm283x/Library/GpioLib/GpioLib.c | 89 + .../Bcm283x/Library/GpioLib/GpioLib.inf | 39 + 118 files changed, 27898 insertions(+) create mode 100644 Platform/Raspberry/Pi3/AcpiTables/AcpiTables.h create mode 100644 Platform/Raspberry/Pi3/AcpiTables/AcpiTables.inf create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Csrt.aslc create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Dbg2.aslc create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Dsdt.asl create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Fadt.aslc create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Gtdt.aslc create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Madt.aslc create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Pep.asl create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Pep.c create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Pep.h create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Rhpx.asl create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Sdhc.asl create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Spcr.asl create mode 100644 Platform/Raspberry/Pi3/AcpiTables/Uart.asl create mode 100644 Platform/Raspberry/Pi3/DeviceTree/License.txt create mode 100644 Platform/Raspberry/Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb create mode 100644 Platform/Raspberry/Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dts create mode 100644 Platform/Raspberry/Pi3/DeviceTree/bcm2710-rpi-3-b.dtb create mode 100644 Platform/Raspberry/Pi3/DeviceTree/bcm2710-rpi-3-b.dts create mode 100644 Platform/Raspberry/Pi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.h create mode 100644 Platform/Raspberry/Pi3/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/ConfigDxe/ConfigDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/ConfigDxe/ConfigDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/ConfigDxe/ConfigDxeFormSetGuid.h create mode 100644 Platform/Raspberry/Pi3/Drivers/ConfigDxe/ConfigDxeHii.uni create mode 100644 Platform/Raspberry/Pi3/Drivers/ConfigDxe/ConfigDxeHii.vfr create mode 100644 Platform/Raspberry/Pi3/Drivers/DisplayDxe/ComponentName.c create mode 100644 Platform/Raspberry/Pi3/Drivers/DisplayDxe/DisplayDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/DisplayDxe/DisplayDxe.h create mode 100644 Platform/Raspberry/Pi3/Drivers/DisplayDxe/DisplayDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/DisplayDxe/Screenshot.c create mode 100644 Platform/Raspberry/Pi3/Drivers/DwUsbHostDxe/ComponentName.c create mode 100644 Platform/Raspberry/Pi3/Drivers/DwUsbHostDxe/DriverBinding.c create mode 100644 Platform/Raspberry/Pi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.h create mode 100644 Platform/Raspberry/Pi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/DwUsbHostDxe/DwcHw.h create mode 100644 Platform/Raspberry/Pi3/Drivers/FdtDxe/FdtDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/FdtDxe/FdtDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/GraphicsConsoleDxe/ComponentName.c create mode 100644 Platform/Raspberry/Pi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.c create mode 100644 Platform/Raspberry/Pi3/Drivers/GraphicsConsoleDxe/GraphicsConsole.h create mode 100644 Platform/Raspberry/Pi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxe.uni create mode 100644 Platform/Raspberry/Pi3/Drivers/GraphicsConsoleDxe/GraphicsConsoleDxeExtra.uni create mode 100644 Platform/Raspberry/Pi3/Drivers/GraphicsConsoleDxe/NewFont.c create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/License.txt create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/Logo.bmp create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/Logo.c create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/Logo.eps create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/Logo.idf create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/Logo.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/Logo.uni create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/LogoDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/LogoDxe.uni create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/LogoDxeExtra.uni create mode 100644 Platform/Raspberry/Pi3/Drivers/LogoDxe/LogoExtra.uni create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/ComponentName.c create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/Diagnostics.c create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/Mmc.c create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/Mmc.h create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/MmcBlockIo.c create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/MmcDebug.c create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/MmcDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/MmcDxe/MmcIdentification.c create mode 100644 Platform/Raspberry/Pi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/SdHostDxe/SdHostDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/SdHostDxe/SdHostDxe.inf create mode 100644 Platform/Raspberry/Pi3/Drivers/VarBlockServiceDxe/FileIo.c create mode 100644 Platform/Raspberry/Pi3/Drivers/VarBlockServiceDxe/FvbInfo.c create mode 100644 Platform/Raspberry/Pi3/Drivers/VarBlockServiceDxe/VarBlockService.c create mode 100644 Platform/Raspberry/Pi3/Drivers/VarBlockServiceDxe/VarBlockService.h create mode 100644 Platform/Raspberry/Pi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.c create mode 100644 Platform/Raspberry/Pi3/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf create mode 100644 Platform/Raspberry/Pi3/Include/IndustryStandard/RpiMbox.h create mode 100644 Platform/Raspberry/Pi3/Include/Protocol/DwUsb.h create mode 100644 Platform/Raspberry/Pi3/Include/Protocol/ExtendedTextOut.h create mode 100644 Platform/Raspberry/Pi3/Include/Protocol/RpiFirmware.h create mode 100644 Platform/Raspberry/Pi3/Include/Protocol/RpiMmcHost.h create mode 100644 Platform/Raspberry/Pi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.c create mode 100644 Platform/Raspberry/Pi3/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf create mode 100644 Platform/Raspberry/Pi3/Library/PlatformBootManagerLib/PlatformBm.c create mode 100644 Platform/Raspberry/Pi3/Library/PlatformBootManagerLib/PlatformBm.h create mode 100644 Platform/Raspberry/Pi3/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf create mode 100644 Platform/Raspberry/Pi3/Library/PlatformLib/AArch64/RaspberryPiHelper.S create mode 100644 Platform/Raspberry/Pi3/Library/PlatformLib/PlatformLib.inf create mode 100644 Platform/Raspberry/Pi3/Library/PlatformLib/RaspberryPi.c create mode 100644 Platform/Raspberry/Pi3/Library/PlatformLib/RaspberryPiMem.c create mode 100644 Platform/Raspberry/Pi3/Library/PlatformUiAppLib/PlatformUiAppLib.c create mode 100644 Platform/Raspberry/Pi3/Library/PlatformUiAppLib/PlatformUiAppLib.inf create mode 100644 Platform/Raspberry/Pi3/Library/ResetLib/ResetLib.c create mode 100644 Platform/Raspberry/Pi3/Library/ResetLib/ResetLib.inf create mode 100644 Platform/Raspberry/Pi3/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.c create mode 100644 Platform/Raspberry/Pi3/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf create mode 100644 Platform/Raspberry/Pi3/RPi3.dec create mode 100644 Platform/Raspberry/Pi3/RPi3.dsc create mode 100644 Platform/Raspberry/Pi3/RPi3.fdf create mode 100644 Platform/Raspberry/Pi3/Readme.md create mode 100644 Platform/Raspberry/Pi3/TrustedFirmware/License.txt create mode 100644 Platform/Raspberry/Pi3/TrustedFirmware/README.md create mode 100644 Platform/Raspberry/Pi3/TrustedFirmware/bl1.bin create mode 100644 Platform/Raspberry/Pi3/TrustedFirmware/fip.bin create mode 100644 Silicon/Broadcom/Bcm283x/Bcm283x.dec create mode 100644 Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.c create mode 100644 Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf create mode 100644 Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836.h create mode 100644 Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836Gpio.h create mode 100644 Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836SdHost.h create mode 100644 Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836Sdio.h create mode 100644 Silicon/Broadcom/Bcm283x/Include/Library/GpioLib.h create mode 100644 Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.c create mode 100644 Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf -- 2.17.0.windows.1