[U-Boot] [PATCH v2 00/34] x86: Add support for sound

Simon Glass sjg at chromium.org
Sun Feb 17 03:24:33 UTC 2019


At present no x86 boards support sound. This series adds several options:

   - legacy beep
   - Intel HDA
   - I2S with codec

These are enabled on coreboot, link and samus, respectively.

A number of related patches are included to make the above work.

Changes in v2:
- Add a PCI ID for the HD audio class
- Add a link to the HD audio PDF fie
- Add a note about undocumented IOMMU values
- Add a note as to why the default log level must be set to LOGL_DEBUG
- Add an example to the commit message for clarity
- Add comments next to verbs in the DT mentioning the HDA spec
- Add new patch to fix up Kconfig log level names
- Add the log-level names into the Kconfig help
- Adjust code to use #defines instead of open-coded values
- Also remove this feature from the TODO
- Change the driver name to i8254_drv
- Correct the default log level to 6 (LOGL_INFO)
- Drop useless 'set' comment
- Fix capital letter in Ivybridge in Kconfig help
- Fix comment about @return value in ioctl() method and function
- Fix ordering of PCI IDs
- Fix use of C++ comments in two places
- Move comment about silencing on error so that it is clearer
- Rename PPC_PORTB to SYSCTL_PORTB
- Rename sound driver to bd82x6x-hda
- Update in codec_init() to use defines for codec access
- Use "sandbox-pch" for the compatible string, for consistency
- Use PIT_TICK_RATE instead of creating a new define
- Use a more generic "intel,hd-audio" as the compatible string
- Use defines for all azalia verbs in binding file
- User lower-case hex consistently in the DT

Simon Glass (34):
  log: Fix up Kconfig log level names
  log: Add a Kconfig option to set the default log level
  log: Add documentation for convenience functions
  log: Allow #define LOG_DEBUG to enable logging in a file
  dm: syscon: Don't require a regmap for PCI devices
  i2c: designware: Add error checking on init
  pci: Don't export pci_hose_config_device()
  pci: Fix comment in struct pci_child_platdata
  gpio: Show inactive GPIOs when explicitly requested
  gpio: Use case-insentive matching on the GPIO name
  pci: Add IDs for Intel high-definition audio
  sandbox: Add a note about the growing state_info struct
  x86: Adjust I/O macros to work on 64-bit machines
  x86: samus: Increase the pre-reloc memory
  x86: link: Increase malloc size and decrease code size
  x86: sandbox: pch: Add a CONFIG option for PCH
  sandbox: pch: Add a test for the PCH uclass
  pch: Add ioctl support
  x86: ivybridge: Add a way to get the HDA config setting
  sound: Mark sound_setup() as optional
  sound: Add uclass operations for beeping
  sound: Add support for Intel HDA
  sandbox: sound: Silence sound for testing
  sound: x86: link: Add sound support
  sound: x86: Add beeping support in i8254
  sound: Add a driver for the i8254 beep
  x86: coreboot: Enable the beeper sound driver
  x86: broadwell: Add support for the ADSP
  x86: broadwell: Don't bother probing the PCH for pinctrl
  x86: broadwell: Add support for serial I/O devices
  x86: sound: Add support for broadwell I2S
  sound: Add a driver for RealTek RT5677
  x86: sound: Add sound support for samus (broadwell)
  x86: Add sound support for samus

 arch/Kconfig                                  |    2 +
 arch/sandbox/dts/test.dts                     |    5 +
 arch/sandbox/include/asm/state.h              |    9 +
 arch/sandbox/include/asm/test.h               |   24 +
 arch/x86/cpu/broadwell/Makefile               |    1 +
 arch/x86/cpu/broadwell/adsp.c                 |  156 ++
 arch/x86/cpu/broadwell/pch.c                  |  110 ++
 arch/x86/cpu/broadwell/pinctrl_broadwell.c    |    3 +-
 arch/x86/cpu/ivybridge/Kconfig                |    1 +
 arch/x86/cpu/ivybridge/bd82x6x.c              |   27 +-
 arch/x86/cpu/ivybridge/northbridge.c          |   32 +
 arch/x86/dts/chromebook_link.dts              |   96 ++
 arch/x86/dts/chromebook_samus.dts             |   49 +-
 arch/x86/include/asm/arch-broadwell/adsp.h    |   46 +
 arch/x86/include/asm/arch-broadwell/pch.h     |    3 +
 arch/x86/include/asm/arch-broadwell/rcb.h     |    2 +
 .../x86/include/asm/arch-broadwell/serialio.h |   82 +
 .../include/asm/arch-ivybridge/sandybridge.h  |    3 +
 arch/x86/include/asm/i8254.h                  |   18 +
 arch/x86/include/asm/io.h                     |   16 +-
 arch/x86/lib/i8254.c                          |   35 +-
 cmd/gpio.c                                    |   10 +-
 common/Kconfig                                |   86 +-
 common/log.c                                  |    2 +-
 configs/chromebook_link_defconfig             |    5 +-
 configs/chromebook_samus_defconfig            |   11 +-
 configs/coreboot_defconfig                    |    3 +
 doc/README.log                                |   51 +-
 doc/device-tree-bindings/sound/intel-hda.txt  |   25 +
 drivers/Kconfig                               |    2 +
 drivers/Makefile                              |    3 +-
 drivers/core/syscon-uclass.c                  |    4 +
 drivers/i2c/designware_i2c.c                  |   29 +-
 drivers/pch/Kconfig                           |    9 +
 drivers/pch/Makefile                          |    1 +
 drivers/pch/pch-uclass.c                      |   10 +
 drivers/pch/sandbox_pch.c                     |   86 +
 drivers/pci/pci.c                             |    7 +-
 drivers/sound/Kconfig                         |   40 +
 drivers/sound/Makefile                        |    5 +
 drivers/sound/broadwell_i2s.c                 |  306 ++++
 drivers/sound/broadwell_i2s.h                 |  301 ++++
 drivers/sound/broadwell_sound.c               |   65 +
 drivers/sound/hda_codec.c                     |  556 +++++++
 drivers/sound/i8254_beep.c                    |   38 +
 drivers/sound/ivybridge_sound.c               |  137 ++
 drivers/sound/rt5677.c                        |  334 ++++
 drivers/sound/rt5677.h                        | 1428 +++++++++++++++++
 drivers/sound/sandbox.c                       |   71 +-
 drivers/sound/sound-uclass.c                  |   36 +-
 include/dt-bindings/sound/azalia.h            |   44 +
 include/hda_codec.h                           |  103 ++
 include/log.h                                 |    9 +-
 include/pch.h                                 |   51 +-
 include/pci.h                                 |    8 +-
 include/pci_ids.h                             |    5 +
 include/sound.h                               |   46 +-
 test/dm/Makefile                              |    1 +
 test/dm/pch.c                                 |   55 +
 test/dm/sound.c                               |   21 +
 60 files changed, 4623 insertions(+), 101 deletions(-)
 create mode 100644 arch/x86/cpu/broadwell/adsp.c
 create mode 100644 arch/x86/include/asm/arch-broadwell/adsp.h
 create mode 100644 arch/x86/include/asm/arch-broadwell/serialio.h
 create mode 100644 doc/device-tree-bindings/sound/intel-hda.txt
 create mode 100644 drivers/pch/Kconfig
 create mode 100644 drivers/pch/sandbox_pch.c
 create mode 100644 drivers/sound/broadwell_i2s.c
 create mode 100644 drivers/sound/broadwell_i2s.h
 create mode 100644 drivers/sound/broadwell_sound.c
 create mode 100644 drivers/sound/hda_codec.c
 create mode 100644 drivers/sound/i8254_beep.c
 create mode 100644 drivers/sound/ivybridge_sound.c
 create mode 100644 drivers/sound/rt5677.c
 create mode 100644 drivers/sound/rt5677.h
 create mode 100644 include/dt-bindings/sound/azalia.h
 create mode 100644 include/hda_codec.h
 create mode 100644 test/dm/pch.c

-- 
2.21.0.rc0.258.g878e2cd30e-goog



More information about the U-Boot mailing list