[Arm64-baikalm] Исходники прошивки для платы Элпитех ET-101

Alexey Sheplyakov asheplyakov на basealt.ru
Чт Янв 27 19:46:26 MSK 2022


Здравствуйте!

On Thu, Jan 27, 2022 at 01:08:52PM +0300, Nikolay Zhuravlev wrote:
> Коллеги,
> 
> Поскольку плата ЕТ101 на Байкал-М сейчас начинает потихоньку распространяться,
> мы выложили наш вариант исходников БИОС на базе предыдущего байкальского
> SDK 5.3. Скрипт для сборки тут:
> 
> git at github.com:Elpitech/spi_builder.git, ветка sdk-5.3
> 
> Наше ядро 5.4 лежит тут:
> https://github.com/Elpitech/baikal-m-linux-kernel

Спасибо!

> Там можно посмотреть dts для et101
> (./arch/arm64/boot/dts/baikal/bm-et101.dts)
> 
> Ядро 5.10 в принципе тоже на подходе, но пока там есть проблемы с поддержкой
> baikalhda звука и PS/2. Поэтому пока не выкладываем.

Очень хотелось бы взглянуть (и оценить объём работы) даже несмотря на проблемы
(тем более что какие-то проблемы всегда будут).
Попытаюсь на примере пояснить, что именно я там хочу увидеть.

https://github.com/Elpitech/baikal-m-linux-kernel/blob/linux-5.4-elp/sound/hda/hdac_controller.c#L83

Во-первых, сразу возникает вопрос - данное изменение необходимо только для
hda контроллера, встроенного в Байкал-М? А для hda контроллера, который на
PCIe видеокарте - надо или нет?

Во-вторых,

#if IS_ENABLED(CONFIG_SND_HDA_BAIKAL_M)
	/* response irq not working in Baikal-M HDA controller */
	snd_hdac_chip_writeb(bus, RIRBCTL, AZX_RBCTL_DMA_EN);

Такого рода код для нас неприемлем - мы собираем одно ядро, которое
поддерживает достаточно широкий спектр процессоров/плат. И избегаем
добавлять поддержку одной платы ценой того, что всё остальное будет
сломано. Тем более, если нет технической необходимости ломать.

Как минимум

	if (of_device_is_compatible(of_root, "baikal,baikal-m")) {
		/* response irq not working in Baikal-M HDA controller */ 
		snd_hdac_chip_writeb(bus, RIRBCTL, AZX_RBCTL_DMA_EN);
	} else {
		/* enable rirb dma and response irq */
		snd_hdac_chip_writeb(bus, RIRBCTL, AZX_RBCTL_DMA_EN | AZX_RBCTL_IRQ_EN);
	}

А ещё лучше - понять, как это сделать собственно в драйвере hda-baikal.

Всего доброго,
    Алексей


Подробная информация о списке рассылки Arm64-baikalm