From patchwork Fri Jul 17 10:15:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 1331013 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=o5WFB/UP; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4B7RpN6nlhz9s1x for ; Fri, 17 Jul 2020 20:15:40 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6A4F581BFD; Fri, 17 Jul 2020 12:15:36 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="o5WFB/UP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B88DC81C0D; Fri, 17 Jul 2020 12:15:34 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com [IPv6:2607:f8b0:4864:20::b32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9BD12819E8 for ; Fri, 17 Jul 2020 12:15:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=bmeng.cn@gmail.com Received: by mail-yb1-xb32.google.com with SMTP id 133so4269704ybu.7 for ; Fri, 17 Jul 2020 03:15:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=fcWuijYsw+hvyzG/VM9DkuGKU/0LudOHeerhCR0x+ys=; b=o5WFB/UP8D3ERU7mnE7iDGVkHCRZK5T350ZL6Hv9I0IhXWZhDf/zOBYGWwyiCxMVdC ru250C2SqlnJs6d+OQ6GtW5L+W4IN7kVdY2jCrB80KTFmYaNk+QVRbjF/u60OAi04CI1 KecXFmuh+32REJE8RTkChUAV3W1Spquiflc23xEFdyzwu+ERVIcvg7DeBOWHMcqx+k/6 5RSYFNkJ+3u9R8YiXU29DVPt0KXIoS/2fvgd2pQiuU6ujjT745/m74+jAvg/M2uewaX8 j0OQD+K+n324vLgYWhaoDjYYOhASBvaapN2pt4faY83WRj2oiTpAMp/FQHsmhi5J4pvW PCBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=fcWuijYsw+hvyzG/VM9DkuGKU/0LudOHeerhCR0x+ys=; b=dZkLU6yLAPFTkCMpEmVD7qtUCVWNt2wkafsVdnE/bKzHGclumQ/f5tsnCgAvmUgiXd IsSVysmj3HuixgtbyPIuznQX16T7RqNe7+8xnsyZZ4TuGvPJUqnJEta+WllqsZovyHwD qZh9NbqMdaQFARq6Ya4Dege7Di3E3vN5BrLbQHUj5v4DOpJc3GjbqRILz5NBWhXj2JMF qRz5aBGAytgsldyezn/uq1lFi4b6c+TuBymT/dx3lAwMD8eJWsOMyia6InJAusFUg2pW BE9ocyIpe69OntjRXFBdcY6qlxCNFKK+PCI2vQkpdoawQ7nlhAbbMtrMw5YmnyasBzn3 89XA== X-Gm-Message-State: AOAM531l0MNsUUXCa1eijCD0CC3V4T+BdQUquYVl7STSFp6A6PAeNuZ7 Ek/AbLqKnKTqpjKWTBpa5AOk8XbFTdktrk2e0sa+ig== X-Google-Smtp-Source: ABdhPJyC941jloh+jWK3dfVl36sJVVGWzjy1HPkxyjNkIWbURZYnxLdEBX8ovZvs+BFPTXR5gWkfOi8zaTPT2/UeJoU= X-Received: by 2002:a25:e5c3:: with SMTP id c186mr13136621ybh.332.1594980929384; Fri, 17 Jul 2020 03:15:29 -0700 (PDT) MIME-Version: 1.0 From: Bin Meng Date: Fri, 17 Jul 2020 18:15:17 +0800 Message-ID: Subject: Please pull u-boot-x86 To: Tom Rini , U-Boot Mailing List Cc: Simon Glass X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean Hi Tom, This PR includes the following changes for v2020.10 release: - New timer API to allow delays with a 32-bit microsecond timer - Add dynamic ACPI structs (DSDT/SSDT) generations to the DM core - x86: Enable ACPI table generation by default - x86: Enable the copy framebuffer on Coral - x86: A few fixes to FSP2 with ApolloLake - x86: Drop setup_pcat_compatibility() - x86: Primary-to-Sideband Bus minor fixes Azure results: PASS https://dev.azure.com/bmeng/GitHub/_build/results?buildId=263&view=results The following changes since commit fee68b98fe3890631a9bdf8f8db328179011ee3f: Merge tag 'efi-2020-10-rc1-4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi (2020-07-16 16:35:15 -0400) are available in the git repository at: https://gitlab.denx.de/u-boot/custodians/u-boot-x86 for you to fetch changes up to d40d2c570600396b54dece16429727ef50cfeef0: acpi: Enable ACPI table generation by default on x86 (2020-07-17 14:32:24 +0800) ---------------------------------------------------------------- Simon Glass (82): timer: Allow delays with a 32-bit microsecond timer coral: Enable the copy framebuffer x86: Avoid #ifdef with CONFIG_HAVE_ACPI_RESUME x86: fsp: Support a warning message when DRAM init is slow dm: core: Add an ACPI name for the root node acpi: Add a function to get a device path and scope acpi: Add a way to check device status irq: Add a method to convert an interrupt to ACPI acpi: Support generation of ACPI code acpi: Support generation of interrupt descriptor gpio: Add a method to convert a GPIO to ACPI acpi: Support string output acpi: Support generation of GPIO descriptor acpi: Support generation of a GPIO/irq for a device acpi: Support generation of I2C descriptor acpi: Support generation of SPI descriptor acpigen: Support writing a length acpigen: Support writing a package acpi: Support writing an integer acpi: Support writing a string acpi: Support writing a name acpi: Support writing a UUID acpi: Support writing Device Properties objects via _DSD acpi: Support writing a GPIO acpi: Support copying properties from device tree to ACPI acpi: Add support for various misc ACPI opcodes acpi: Add support for writing a Power Resource acpi: Add support for writing a GPIO power sequence acpi: Add support for a generic power sequence acpi: Add support for SSDT generation x86: acpi: Move MADT down a bit acpi: Record the items added to SSDT acpi: Support ordering SSDT data by device x86: Allow devices to write an SSDT acpi: Add support for DSDT generation x86: Allow devices to write to DSDT pci: Avoid a crash in device_is_on_pci_bus() dm: acpi: Enhance acpi_get_name() acpi: Add an acpi command to list/dump generated ACPI items binman: Allow setting the ROM offset binman: Refactor binman_entry_find() to allow other nodes binman: Add way to locate an entry in memory acpi: Allow creating the GNVS to fail dtoc: Support ACPI paths in of-platdata dm: core: Add a way of overriding the ACPI device path dm: acpi: Add support for the NHLT table acpi: Export functions to write sized values acpi: Support generation of a scope acpi: Support generation of a generic register acpi: mmc: Generate ACPI info for the PCI SD Card x86: Add bindings for NHLT acpi: Support generation of a device acpi: Support writing named values x86: Add support for building up an NHLT structure sound: Add an ACPI driver for Dialog Semicondutor da7219 sound: Add an ACPI driver for Maxim MAX98357ac x86: pinctrl: Add a way to get the pinctrl reg address x86: pinctrl: Update comment for intel_pinctrl_get_pad() x86: pinctrl: Add multi-ACPI control x86: pinctrl: Set up itss in the probe() method x86: pinctrl: Drop the acpi_path member x86: Add error checking for csrt table generation x86: apl: Use memory-mapped access for VBT x86: gpio: Add support for obtaining ACPI info for a GPIO i2c: designware_i2c: Add a little more debugging i2c: Add log_ret() on error i2c: designware_i2c: Support ACPI table generation p2sb: Add a method to hide the bus x86: apl: Support set_hide() in p2sb driver x86: apl: Hide the p2sb on exit from U-Boot pmc: Move common registers to the header file x86: irq: Support flags for acpi_gpe x86: apl: Fix save/restore of ITSS priorities x86: Add debugging to table writing x86: apl: Set the correct boot mode in the FSP-M code x86: apl: Adjust FSP-M code to avoid hard-coded address x86: Store the coreboot table address in global_data x86: Update the comment about booting for FSP2 x86: Drop setup_pcat_compatibility() x86: acpi: Correct the version of the MADT x86: Rename board_final_cleanup() to board_final_init() acpi: Enable ACPI table generation by default on x86 Wolfgang Wallner (2): drivers: p2sb: replace Primary-to-Sideband Bus with Primary to Sideband Bridge x86: p2sb: make P2SB driver depend on P2SB uclass arch/Kconfig | 1 + arch/sandbox/dts/test.dts | 14 +- arch/x86/Kconfig | 1 + arch/x86/cpu/acpi_gpe.c | 26 +++ arch/x86/cpu/apollolake/cpu_spl.c | 13 +- arch/x86/cpu/apollolake/fsp_m.c | 18 +- arch/x86/cpu/apollolake/fsp_s.c | 66 +++---- arch/x86/cpu/baytrail/acpi.c | 6 +- arch/x86/cpu/broadwell/power_state.c | 5 +- arch/x86/cpu/coreboot/coreboot.c | 4 +- arch/x86/cpu/coreboot/tables.c | 8 +- arch/x86/cpu/cpu.c | 64 ++++--- arch/x86/cpu/efi/app.c | 2 +- arch/x86/cpu/i386/cpu.c | 7 +- arch/x86/cpu/intel_common/itss.c | 25 ++- arch/x86/cpu/intel_common/p2sb.c | 44 +++++ arch/x86/cpu/quark/acpi.c | 4 +- arch/x86/cpu/quark/quark.c | 2 +- arch/x86/cpu/start.S | 1 + arch/x86/cpu/tangier/acpi.c | 4 +- arch/x86/dts/chromebook_coral.dts | 1 + arch/x86/include/asm/acpi_nhlt.h | 314 ++++++++++++++++++++++++++++++ arch/x86/include/asm/acpi_table.h | 10 +- arch/x86/include/asm/fsp2/fsp_internal.h | 3 +- arch/x86/include/asm/global_data.h | 4 +- arch/x86/include/asm/intel_pinctrl.h | 19 +- arch/x86/include/asm/itss.h | 2 +- arch/x86/include/asm/u-boot-x86.h | 2 - arch/x86/lib/Makefile | 1 + arch/x86/lib/acpi_nhlt.c | 482 ++++++++++++++++++++++++++++++++++++++++++++++ arch/x86/lib/acpi_table.c | 87 +++++++-- arch/x86/lib/coreboot_table.c | 6 +- arch/x86/lib/fsp/fsp_common.c | 4 +- arch/x86/lib/fsp/fsp_dram.c | 26 +-- arch/x86/lib/fsp1/fsp_common.c | 16 +- arch/x86/lib/fsp2/fsp_dram.c | 7 +- arch/x86/lib/fsp2/fsp_meminit.c | 24 ++- arch/x86/lib/fsp2/fsp_silicon_init.c | 1 + arch/x86/lib/tables.c | 38 +++- arch/x86/lib/zimage.c | 10 - cmd/acpi.c | 15 +- configs/chromebook_coral_defconfig | 1 + configs/sandbox_defconfig | 4 + doc/device-tree-bindings/chosen.txt | 9 + doc/device-tree-bindings/device.txt | 36 ++++ doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-m.txt | 4 + doc/device-tree-bindings/sound/da7219.txt | 113 +++++++++++ doc/device-tree-bindings/sound/max98357a.txt | 22 +++ drivers/core/Kconfig | 2 +- drivers/core/acpi.c | 263 ++++++++++++++++++++++++- drivers/core/root.c | 13 ++ drivers/gpio/gpio-uclass.c | 22 +++ drivers/gpio/intel_gpio.c | 49 ++++- drivers/gpio/sandbox.c | 77 ++++++++ drivers/i2c/designware_i2c.c | 36 +++- drivers/i2c/designware_i2c.h | 15 ++ drivers/i2c/designware_i2c_pci.c | 96 +++++++++- drivers/i2c/i2c-uclass.c | 4 +- drivers/i2c/sandbox_i2c.c | 1 + drivers/misc/Kconfig | 12 +- drivers/misc/irq-uclass.c | 20 +- drivers/misc/irq_sandbox.c | 16 ++ drivers/misc/p2sb-uclass.c | 26 ++- drivers/mmc/pci_mmc.c | 78 +++++++- drivers/pinctrl/intel/Kconfig | 12 ++ drivers/pinctrl/intel/pinctrl.c | 21 +- drivers/pinctrl/intel/pinctrl_apl.c | 4 - drivers/power/acpi_pmc/acpi-pmc-uclass.c | 9 - drivers/rtc/sandbox_rtc.c | 13 ++ drivers/sound/Kconfig | 18 ++ drivers/sound/Makefile | 2 + drivers/sound/da7219.c | 190 ++++++++++++++++++ drivers/sound/max98357a.c | 161 ++++++++++++++++ drivers/spi/sandbox_spi.c | 1 + include/acpi/acpi_device.h | 406 +++++++++++++++++++++++++++++++++++++++ include/acpi/acpi_dp.h | 287 ++++++++++++++++++++++++++++ include/acpi/acpigen.h | 566 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/asm-generic/gpio.h | 27 +++ include/binman.h | 30 +++ include/dm/acpi.h | 119 +++++++++++- include/dm/device.h | 2 +- include/dt-bindings/interrupt-controller/x86-irq.h | 14 ++ include/dt-bindings/sound/nhlt.h | 24 +++ include/irq.h | 43 +++++ include/p2sb.h | 34 +++- include/power/acpi_pmc.h | 14 ++ include/spi.h | 4 +- include/test/ut.h | 17 ++ include/time.h | 11 ++ lib/acpi/Makefile | 3 + lib/acpi/acpi_device.c | 823 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/acpi/acpi_dp.c | 402 +++++++++++++++++++++++++++++++++++++++ lib/acpi/acpi_table.c | 1 + lib/acpi/acpigen.c | 616 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/binman.c | 59 +++++- lib/time.c | 5 + test/dm/Makefile | 2 + test/dm/acpi.c | 278 +++++++++++++++++++++++++-- test/dm/acpi.h | 32 ++++ test/dm/acpi_dp.c | 492 +++++++++++++++++++++++++++++++++++++++++++++++ test/dm/acpigen.c | 1099 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ test/dm/gpio.c | 62 ++++++ test/dm/irq.c | 23 +++ test/dm/pci.c | 14 ++ tools/dtoc/dtb_platdata.py | 4 +- tools/dtoc/dtoc_test_simple.dts | 1 + tools/dtoc/test_dtoc.py | 3 + 107 files changed, 7998 insertions(+), 256 deletions(-) create mode 100644 arch/x86/include/asm/acpi_nhlt.h create mode 100644 arch/x86/lib/acpi_nhlt.c create mode 100644 doc/device-tree-bindings/sound/da7219.txt create mode 100644 doc/device-tree-bindings/sound/max98357a.txt create mode 100644 drivers/sound/da7219.c create mode 100644 drivers/sound/max98357a.c create mode 100644 include/acpi/acpi_device.h create mode 100644 include/acpi/acpi_dp.h create mode 100644 include/acpi/acpigen.h create mode 100644 include/dt-bindings/interrupt-controller/x86-irq.h create mode 100644 include/dt-bindings/sound/nhlt.h create mode 100644 lib/acpi/acpi_device.c create mode 100644 lib/acpi/acpi_dp.c create mode 100644 lib/acpi/acpigen.c create mode 100644 test/dm/acpi.h create mode 100644 test/dm/acpi_dp.c create mode 100644 test/dm/acpigen.c Regards, Bin