All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/25] alsa-tools: efw-downloader: add initial version of firmwre downloader for Echo Audio Fireworks devices
@ 2020-08-21  7:30 Takashi Sakamoto
  2020-08-21  7:30 ` [PATCH 01/25] efw-downloader: start a new project to operate on-board flash memory for Fireworks board module Takashi Sakamoto
                   ` (25 more replies)
  0 siblings, 26 replies; 31+ messages in thread
From: Takashi Sakamoto @ 2020-08-21  7:30 UTC (permalink / raw)
  To: tiwai, perex; +Cc: ffado-devel, alsa-devel, clemens

Hi,

This patchset is for alsa-tool repository[1] to add a new command-line
tool, efw-downloader. The tools is designed to operate on-board flash
memory for devices based on Fireworks board module. The patches are also
available in my personal repository in github.com[2].

Fireworks board module was designed by Echo Digital Audio corporation. The
board module has on-board flash memory to store firmware blob and session
data. The contents of flash memory can be operated by software by a pair
of asynchronous transactions defined by Echo Digital Audio corporation.

Echo Digital Audio corporation also designed file format of firmware.
Hardware Vendors including Echo Digital Audio corporation shipped
several versions of firmware by the format in driver packages for
Windows and macOS.

The goal of this tool is to operate the flash memory to download any
version of firmware. In this patchset, limited functionalities are added;
read from the flash memory, and parse the content of file. The other
functionalities are planned to added in future work.

I thinks it possible to put actual firmware blobs into somewhere
suitable for them (alsa-firmware or linux-firmware repositories). I
think it better to prepare the files by reading on-board flash memory,
with enough care of copyright of original firmware files shipped by
vendor. In the case, it's preferable to use file format different
from the original one. But it's my first time for this kind of work.
I'd like to ask some advices to alsa developers.

[1] https://github.com/alsa-project/alsa-tools/
[2] https://github.com/takaswie/alsa-tools/tree/topic/efw-downloader

Takashi Sakamoto (25):
  efw-downloader: start a new project to operate on-board flash memory
    for Fireworks board module
  efw-downloader: efw-proto: define EfwProto as derived object of
    HinawaFwResp
  efw-downloader: efw-proto: add constructor, destructor, bind, unbind
    functions
  efw-downloader: efw-proto: add responded signal
  efw-downloader: efw-proto: add class virtual method to handle
    responded signal
  efw-downloader: efw-proto: add instance private structure
  efw-downloader: efw-proto: emit responded signal at receiving response
  efw-downloader: efw-proto: add function to finish transaction for
    command frame
  efw-downloader: efw-proto: add function to finish a pair of
    transactions
  efw-downloader: add parser for sub commands
  efw-downloader: subcmd-device: implement 'device' sub command to
    operate actual device
  efw-downloader: subcmd-device: open firewire character device by
    HinawaFwNode
  efw-downloader: config-rom: parse config rom to detect supported
    device
  efw-downloader: subcmd-device: check supported models or not
  efw-downloader: subcmd-device: bind Fireworks protocol
  efw-downloader: node_dispatcher: add event dispatcher utilizing GLib
    MainContext/MainLoop
  efw-downloader: subcmd-device: support debug output for response of
    Fireworks protocol
  efw-downloader: efw-commands: add support for a part of hardware
    command
  efw-downloader: efw-commands: add support for commands in flash
    category
  efw-downloader: subcmd-device: add read operation
  efw-downloader: file-cntr: add parser for data binary shipped by Echo
    Digital Audio corporation
  efw-downloader: subcmd-file: add 'file' sub command
  efw-downloader: subcmd-file: add parse operation
  efw-downloader: man: add online manual
  efw-downloader: add README formatted by reStructuredText

 efw-downloader/COPYING                        | 674 ++++++++++++++++++
 efw-downloader/README.rst                     | 167 +++++
 efw-downloader/man/efw-downloader.1           | 162 +++++
 efw-downloader/meson.build                    |  14 +
 efw-downloader/meson_options.txt              |   5 +
 efw-downloader/src/config-rom.c               |  60 ++
 efw-downloader/src/config-rom.h               |  26 +
 efw-downloader/src/efw-commands.c             | 243 +++++++
 efw-downloader/src/efw-commands.h             |  57 ++
 .../src/efw-proto-sigs-marshal.list           |   1 +
 efw-downloader/src/efw-proto.c                | 401 +++++++++++
 efw-downloader/src/efw-proto.h                |  80 +++
 efw-downloader/src/file-cntr.c                | 183 +++++
 efw-downloader/src/file-cntr.h                |  39 +
 efw-downloader/src/main.c                     |  54 ++
 efw-downloader/src/meson.build                |  54 ++
 efw-downloader/src/node-dispatcher.c          |  86 +++
 efw-downloader/src/node-dispatcher.h          |  21 +
 efw-downloader/src/op-device-read.c           | 104 +++
 efw-downloader/src/op-file-parse.c            | 106 +++
 efw-downloader/src/subcmd-device.c            | 182 +++++
 efw-downloader/src/subcmd-file.c              |  87 +++
 efw-downloader/src/subcmds.h                  |  16 +
 23 files changed, 2822 insertions(+)
 create mode 100644 efw-downloader/COPYING
 create mode 100644 efw-downloader/README.rst
 create mode 100644 efw-downloader/man/efw-downloader.1
 create mode 100644 efw-downloader/meson.build
 create mode 100644 efw-downloader/meson_options.txt
 create mode 100644 efw-downloader/src/config-rom.c
 create mode 100644 efw-downloader/src/config-rom.h
 create mode 100644 efw-downloader/src/efw-commands.c
 create mode 100644 efw-downloader/src/efw-commands.h
 create mode 100644 efw-downloader/src/efw-proto-sigs-marshal.list
 create mode 100644 efw-downloader/src/efw-proto.c
 create mode 100644 efw-downloader/src/efw-proto.h
 create mode 100644 efw-downloader/src/file-cntr.c
 create mode 100644 efw-downloader/src/file-cntr.h
 create mode 100644 efw-downloader/src/main.c
 create mode 100644 efw-downloader/src/meson.build
 create mode 100644 efw-downloader/src/node-dispatcher.c
 create mode 100644 efw-downloader/src/node-dispatcher.h
 create mode 100644 efw-downloader/src/op-device-read.c
 create mode 100644 efw-downloader/src/op-file-parse.c
 create mode 100644 efw-downloader/src/subcmd-device.c
 create mode 100644 efw-downloader/src/subcmd-file.c
 create mode 100644 efw-downloader/src/subcmds.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2020-08-27 16:03 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-21  7:30 [PATCH 00/25] alsa-tools: efw-downloader: add initial version of firmwre downloader for Echo Audio Fireworks devices Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 01/25] efw-downloader: start a new project to operate on-board flash memory for Fireworks board module Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 02/25] efw-downloader: efw-proto: define EfwProto as derived object of HinawaFwResp Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 03/25] efw-downloader: efw-proto: add constructor, destructor, bind, unbind functions Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 04/25] efw-downloader: efw-proto: add responded signal Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 05/25] efw-downloader: efw-proto: add class virtual method to handle " Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 06/25] efw-downloader: efw-proto: add instance private structure Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 07/25] efw-downloader: efw-proto: emit responded signal at receiving response Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 08/25] efw-downloader: efw-proto: add function to finish transaction for command frame Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 09/25] efw-downloader: efw-proto: add function to finish a pair of transactions Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 10/25] efw-downloader: add parser for sub commands Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 11/25] efw-downloader: subcmd-device: implement 'device' sub command to operate actual device Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 12/25] efw-downloader: subcmd-device: open firewire character device by HinawaFwNode Takashi Sakamoto
2020-08-21  7:30 ` [PATCH 13/25] efw-downloader: config-rom: parse config rom to detect supported device Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 14/25] efw-downloader: subcmd-device: check supported models or not Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 15/25] efw-downloader: subcmd-device: bind Fireworks protocol Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 16/25] efw-downloader: node_dispatcher: add event dispatcher utilizing GLib MainContext/MainLoop Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 17/25] efw-downloader: subcmd-device: support debug output for response of Fireworks protocol Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 18/25] efw-downloader: efw-commands: add support for a part of hardware command Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 19/25] efw-downloader: efw-commands: add support for commands in flash category Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 20/25] efw-downloader: subcmd-device: add read operation Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 21/25] efw-downloader: file-cntr: add parser for data binary shipped by Echo Digital Audio corporation Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 22/25] efw-downloader: subcmd-file: add 'file' sub command Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 23/25] efw-downloader: subcmd-file: add parse operation Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 24/25] efw-downloader: man: add online manual Takashi Sakamoto
2020-08-21  7:31 ` [PATCH 25/25] efw-downloader: add README formatted by reStructuredText Takashi Sakamoto
2020-08-26  9:32 ` [PATCH 00/25] alsa-tools: efw-downloader: add initial version of firmwre downloader for Echo Audio Fireworks devices Takashi Sakamoto
2020-08-26 11:31   ` Takashi Iwai
2020-08-27 12:24     ` Takashi Sakamoto
2020-08-27 12:57       ` Takashi Iwai
2020-08-27 16:02         ` Takashi Sakamoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.