Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
android и SK-iMX53-OEM
z00b
Добавлено 14.11.2012 15:24
0
Сообщение: 1
z00b
0

Пункты: 5587
Регистрация: 11.02.2012
запустил андроид на данной плате используя http://code.google.com/p/starterkit-org/wiki/Imx53Android (большое спасибо sasamy) c дисплеем NHD-5.0-800480TF-ATXI#-CTP. Не работает звук, судя по логам драйвера грузятся, но андроид с ними не работает нормально.
Цитата
# cat /dev/urandom | alsa_aplay
aplay: main:655: audio open error: Device or resource busy
write: Broken pipe

Подскажите что где почитать по поводу того как заставить драйвера linux работать с андроид, что то то что нашел связано с написанием java приложений под него.И еще, теоретически можно как-то видео с плага adv7180 увидеть в приложении на андроид ( в камере например)?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 14.11.2012 18:50 Редактировалось 14.11.2012 19:09 Сообщение: 2
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
По звуку - на OEM по-моему аудиокодек к другому порту DAI подключен, править нужно board-файл в исходниках андроидного ядра.
По камере - изначально поддержки adv7180 для android не было, на форуме
https://community.freescale.com/community/imx

были какие-то патчи, не уверен что они для этой версии андроида, а UVC веб-камеры работают.
Спуститься к концу Подняться к началу
Персональная информация
z00b
Добавлено 16.11.2012 08:38 Сообщение: 3
z00b
0

Пункты: 5587
Регистрация: 11.02.2012
спасибо за наводку, буду разбираться
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.11.2012 09:22 Редактировалось 16.11.2012 09:52 Сообщение: 4
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Чтобы ускорить - см. reference manual
Chapter 16
Digital Audio Multiplexer (AUDMUX)

в ядре Linux см. arch/arm/mach-mx5/mx53_loco.c
для OEM внешний порт к которому подключен аудиокодек - 5

static struct mxc_audio_platform_data sgtl5000_data = {
.ssi_num = 1,
.src_port = 2,
.ext_port = 5,
.init = mxc_sgtl5000_init,
.ext_ram_rx = 1,
};

Кроме этого нужно настроить соответственно пины для 5 порта (в том же файле)
static iomux_v3_cfg_t mx53_loco_pads[] = {
....
/* AUDMUX5 */
MX53_PAD_KEY_COL0__AUDMUX_AUD5_TXC,
MX53_PAD_KEY_ROW0__AUDMUX_AUD5_TXD,
MX53_PAD_KEY_COL1__AUDMUX_AUD5_TXFS,
MX53_PAD_KEY_ROW1__AUDMUX_AUD5_RXD,
....

в общем смотрите ядро для своей платы и андроидное ядро для обычной SK-IMX53 (файл mx53_loco.c) - там еще есть отличия, аудиокодек на другом интерфейсе i2c подключен и тд, вам надо подправить все эти отличия кроме тех изменений которые android касаются. Если не сможете сами исправить и пересобрать - отпишите, у меня только платы OEM нет.

PS тут патчи для поддержки adv7180 в андроиде
https://community.freescale.com/message/295321#295321
правда там только предпросмотр поддерживается - непонятно в чем сакральный смысл такой поддержки
Цитата

The followed functions are supported:

1) Android camera application can preview the tvin.
Спуститься к концу Подняться к началу
Персональная информация
z00b
Добавлено 16.11.2012 15:31 Сообщение: 5
z00b
0

Пункты: 5587
Регистрация: 11.02.2012
Бордовый файл ( mx53_loco.c) я приводил в соответствие . Вроде поправлено все.
при загрузке:

Цитата
asoc: tlv320aic23 <-> imx-ssi-2-0 mapping ok
ALSA device list:
#0: imx-3stack (tlv320aic23)


Так же такой вывод:

Цитата
alsa_aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: imx3stack [imx-3stack], device 0: tlv320aic23 tlv320aic23-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0


Цитата
alsa_aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=imx3stack
imx-3stack,
Default Audio Device
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.11.2012 15:58 Сообщение: 6
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Цитата

Бордовый файл ( mx53_loco.c) я приводил в соответствие . Вроде поправлено все.


На обычной SK-IMX53 у меня звук прекрасно работает в Linux и Android, андроид пел у меня при тестировании пару суток подряд.
Спуститься к концу Подняться к началу
Персональная информация
z00b
Добавлено 22.11.2012 15:12 Сообщение: 7
z00b
0

Пункты: 5587
Регистрация: 11.02.2012
Цитата
# cat /dev/urandom | alsa_aplay
aplay: main:655: audio open error: Device or resource busy
write: Broken pipe


девайс действительно busy, нашел что может помочь stop media
Цитата
stop media
tlv320aic23_write cannot write 00c to register R5
tlv320aic23_write cannot write 000 to register R9


Цитата
cat /dev/urandom | alsa_aplay
Playing raw data 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono


Выставлял громкость alsa_amixer, но звука нет
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.11.2012 09:40 Сообщение: 8
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
У вас в Linux с "заводской" прошивкой звук есть ? если есть - в андроиде тоже должен быть - смотрите внимательно board файл - что-то вы упустили.
Спуститься к концу Подняться к началу
Персональная информация
z00b
Добавлено 23.11.2012 10:19 Сообщение: 9
z00b
0

Пункты: 5587
Регистрация: 11.02.2012
Да, в linux со звуком все нормально, специально проверял, буду перепроверять борд файл снова.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.02.2013 13:16 Редактировалось 10.02.2013 14:46 Сообщение: 10
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Если еще актуально - на OEM не надо менять местами TXD и RXD в AUDMUX, уберите в исходниках андроидного ядра пару строк

sound/soc/imx/imx-3stack-sgtl5000.c

#if SGTL5000_SSI_MASTER
/* set Rx sources ssi_port <--> dai_port */
ssi_pdcr |= AUDMUX_PDCR_RXDSEL(dai_port);
dai_pdcr |= AUDMUX_PDCR_RXDSEL(ssi_port);
// dai_pdcr |= AUDMUX_PDCR_TXDXEN;

/* set Tx frame direction and source dai_port--> ssi_port output */
ssi_ptcr |= AUDMUX_PTCR_TFSDIR;
ssi_ptcr |= AUDMUX_PTCR_TFSSEL(AUDMUX_FROM_TXFS, dai_port);

/* set Tx Clock direction and source dai_port--> ssi_port output */
ssi_ptcr |= AUDMUX_PTCR_TCLKDIR;
ssi_ptcr |= AUDMUX_PTCR_TCSEL(AUDMUX_FROM_TXFS, dai_port);
#else
/* set Rx sources ssi_port <--> dai_port */
ssi_pdcr |= AUDMUX_PDCR_RXDSEL(dai_port);
dai_pdcr |= AUDMUX_PDCR_RXDSEL(ssi_port);
// dai_pdcr |= AUDMUX_PDCR_TXDXEN;

/* set Tx frame direction and source ssi_port --> dai_port output */
dai_ptcr |= AUDMUX_PTCR_TFSDIR;
dai_ptcr |= AUDMUX_PTCR_TFSSEL(AUDMUX_FROM_TXFS, ssi_port);

/* set Tx Clock direction and source ssi_port--> dai_port output */
dai_ptcr |= AUDMUX_PTCR_TCLKDIR;
dai_ptcr |= AUDMUX_PTCR_TCSEL(AUDMUX_FROM_TXFS, ssi_port);
#endif
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux