MotoFan.Ru — всё для Motorola > Разработки > Ломаем и строим!

Детальное описание железа(SCMA11) Полная версия
Страницы: 1, 2

 av azt59

 4.4.2009, 13:55

Итак, SCMA11 платформа разработанная Freescale Semiconductor.Данная платформа в своё время основана на mxc91231.
Имя в свободном доступе исходный код ядра для данной платформы мы можем увидеть какие именно железки есть внутри телефона также можно узнать по какому адресу можно обратиться к той или иной периферии. НО производители идут по лёгкому пути и не изобретают велосипед,поэтому при сборке платформы используют комплектующие сторонних производителей.
Данная тема создана для сборки некой спецификации по железу SCMA11 ну и соответственно даташитов на те или иные устройства.

AP Side:
Процессор:
Модель: ARM1136JF-S
Производитель:ARM
Даташит:DDI0211J_arm1136_r1p5_trm.pdf
Описание:
Полностью поддерживает ARMv6 набор инструкций.
Буква J в названии означает поддержку технологии Jazelle(Исполнение JAVA байткода на аппаратном уровне).

Память:
Память телефона организована на микросхеме TOSHOBA TY9000A000CMGF(также встречается аналог от HYNIX)
Даташит:TY9000A000CMGF
BASE_ADDR=0xB8000000
NFC_ID = 0x98, 0x72

вот описание регионов памяти
CSD0_BASE_ADDR 0x80000000
CSD1_BASE_ADDR 0x90000000 --RAM
CS0_BASE_ADDR 0xA0000000 --не задействовано
CS1_BASE_ADDR 0xA8000000
CS2_BASE_ADDR 0xB0000000
CS3_BASE_ADDR 0xB2000000
CS4_BASE_ADDR 0xB4000000
CS5_BASE_ADDR 0xB6000000 --fx2lp
X_MEMC_BASE_ADDR 0xB8000000 --контроллер NAND

Также имеется ROM память в которую записан IROM бут(Встроенный загрузчик)
BASE_ADDR= 0x0

При загруженном ядре память по адресу 0x78010000 используется для буфера дисплея а при активном FLASH режиме данный блок используется для записи в него RAMDLD(Ramdownloader)

на этом вроде как с памятью разобрались....

Пишем сюда у кого что имеется модели даташиты итд

 av Abram

 4.4.2009, 14:11

В буте от dimichxp есть описано несколько NAND-ов. Сейчас посмотрю.
Кто не знает - http://hg.ezxdev.org/2ndboot/
Блин. Там производителей нет sad.gif. Только идентификаторы.
Код
static struct nand_dev_id nand_dev_ids[] = {
  {0x98, 0xb1, 128, 0, 0},
  {0x20, 0xb1, 128, 0, 0},
  {0x2c, 0xb1, 128, 0, 0},
  {0x98, 0x72, 128, 512, 0x4000},
  {0xad, 0x49, 128, 512, 0x4000},
};

 av yakk

 4.4.2009, 14:28

Abram
0x98 - toshiba
0x2c - micron
0xad - hynix
0x20 - stmicro
это в исходниках ядра есть..

azt59
TOSHIBA TY9000A000CMGF - это и есть оперативка+nand
в z6 пока встречалось только два типа - от TOSHIBA и от HYNIX.
на 0xA0000000 - может быть подключена nor-флешка - но судя по схеме ничего такого там нет.

 av azt59

 4.4.2009, 14:28

Abram,
dimichxp мне не отвечает)) видимо игнорирует а может занят....думаю у него есть инфа...

yakk,
даташит на TOSHIBA TY9000A000CMGF у меня есть
а вот модель HYNIX кто скажет?

 av yakk

 4.4.2009, 14:44

azt59
точную модель не знаю - попробуй узнать у кого в ветке z6 не пошла самая версия загрузчика от dimichxp которую Abram выкладывал (тогда и узнали что кроме toshiba есть еще hynix).. знаю только что в буте эти две модели описаны абсолютно одинаково, т.е. для программы - разницы нет..
кстати по-поводу внешней памяти адресуемой процом - там есть ещё fx2lp - висит на cs5 проца, по сорцам ядра можно опять-же глянуть что это за адреса..

 av azt59

 4.4.2009, 15:01

Вопросик модераторам почему пропала возможность редактирования первого сообщения?????

вот описание регионов памяти
CSD0_BASE_ADDR 0x80000000
CSD1_BASE_ADDR 0x90000000
CS0_BASE_ADDR 0xA0000000 --сюда должна была поцепляться NOR флешка
CS1_BASE_ADDR 0xA8000000
CS2_BASE_ADDR 0xB0000000
CS3_BASE_ADDR 0xB2000000
CS4_BASE_ADDR 0xB4000000
CS5_BASE_ADDR 0xB6000000 --fx2lp(В поиске описания...)
X_MEMC_BASE_ADDR 0xB8000000 --сюда подключена NAND

 av yakk

 4.4.2009, 16:58

0x90000000 - ram, т.е. оперативка (на va76r кстати, включена на cs0 - 0x80000000. но там аргон так что это оффтоп)..
nor-flash не подключается на этой платформе ни на одном телефоне..
дока по fx2lp - в гугле элементарно находится, но вроде никто с этим серъезно не занимался, хотя туда можно залить любую прошивку, по идее (на norsa буте)..

по поводу 0xB8000000 - nand туда не подключена - это адреса nand-контроллера встроенного в процессор, контроллер сам работает с nand - ему нужно только отдавать команды и забирать результаты их выполнения..

 av yakk

 12.4.2009, 6:27

пара доков по атласу (mc13783 - менеджер питания/звука на scma11-телах):
link1
link2

ps: там же у фрискейла можно поискать доки на starcore - бп этих телефонов..

 no av MOTOGeneration

 13.8.2009, 17:10

Ещё есть какая-нибудь инфа?

 av yakk

 13.8.2009, 17:27

MOTOGeneration
а какая инфа нужна?
вот к примеру приблизительная дока на bp этой платформы:
http://www.freescale.com/files/dsp/doc/ref...T=Documentation
дока приблизительная, т.к. не вполне соответствует тому что реально в телефоне, но из всего что удалось найти в свободном доступе - самое близкое к правде.. (это я с год назад искал, может уже что и поменялось smile.gif - гугл рулит)

 no av MOTOGeneration

 13.8.2009, 18:06

Допустим,хотелось бы увидеть небольшую инструкцию по работе с идой! Какие адреса прописывать,какой профиль выбирать и тд...

smile.gif

 av yakk

 13.8.2009, 18:26

MOTOGeneration
вообще это явно не в тему..
но что именно ты хочешь делать так и не ясно.. если скажем хочешь смотреть бут ap части (cg30), то тебе пойдёт адрес для загрузки 0x90010000, процессор - "ARM processor: xScaleL".. для других частей прошивки - по другому.. если хочешь ковырять bp - этого вообще нет в иде в стандартной поставке..
ps: в теме про взлом rsa на magx я выкладывал самодельный модуль к иде который с кодом bp работает..
pps: готовой инструкции по работе с идой скорее всего не найдется ph34r.gif

 av fill.sa

 8.10.2016, 22:46

zreladdr-$(CONFIG_MACH_SCMA11PHONE) := 0x90008000
params_phys-y := 0x80000100
initrd_phys-y := 0x80800000

 av fill.sa

 21.10.2016, 12:25

Обсуждали мы тут как-то с EXL структуру нашей платформы.
И вот решил поведать наши труды другим, дабы небыло путаницы да и вообще для общего развития полезно ))
И так, вы наверняка слышали кучу слов вроди scma11 arm1136 soc mxc91231 BP AP и куча всего и во всем этом можно легко запутаться.
И вот захотелось в этом все разобраться и т.с. разложить по полочкам. Я небуду писать откуда чего да как мы узнал - было пролистано много статей и документиков и потом все соеденено воедино.
Возможно будет маленько скучно, но без этого никак, тема обьямная и все важное, сплошные платформы внутри платформ.

Постараяюсь вкратце:
Изобрел както freescale такую платформу Mobile eXtreme Convergence(MXC) Platforms, название это сильно обобщенное и не стоит особо в него вдавать.
Нажмите для просмотра прикрепленного файла
Нас же там интересует одно семейство Freescale i.MX31. Согласно викепедии это
Цитата
Серия i.MX3x - это семейство процессоров на базе архитектуры ARM11 (в основном ARM1136J (F) -S), разработанных по процессу CMOS 90 нм.

Семейство i.MX 31
I.MX31 был выпущен в 2005 году. Он объединяет платформу ЦП ARM1136JF-S с тактовой частотой 532 МГц (с векторным блоком с плавающей запятой, кэшем L1 и 128 КБ кэша L2) + блок обработки видео (VPU) + 3D GPU ( OpenGL ES 1.1) + IPU + блок безопасности. Он поддерживает mDDR-SDRAM на частоте 133 МГц. Ускорение 3D и VPU обеспечивается PowerVR MBX Lite .

i.MX31 (потребительский / промышленный / автомобильный) = платформа ARM1136 532 МГц + VPU + 3D GPU + IPU + безопасность
i.MX31L (потребительский / промышленный / автомобильный) = платформа ARM1136 532 МГц + VPU + IPU + безопасность

Обратите внимание есть вариант с GPU, а есть light без него, все эти light как раз и используются в магиксе(Хотя есть подозрение, что был некий аппарат по имени kassos с GPU).
Вот описание этого семейства.
Нажмите для просмотра прикрепленного файла

И так примерно выглядит ref. плата этого семейства(первое mxc91231 , а на второй правда более позднее mx31ads)
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла

Из этого семейства нас интересуют две (вообще три, но с третьей, которая для Iden сетей, пока непонятки) вещи mcx275-30 и mxc300-30.
mcx275-30 и mxc300-30.1 это такие две платформы которые легли в основу телефонов, на которых стояла ОС MotoMagx. Первой, если кому интересно появилась mcx275-30, в 2005г. И freescale писал, что в начале 2006г уже сможет начать поставку.
Так же тут есть небольшая инфа о этих платформах
http://www.mobile-review.com/articles/2006/february.shtml

И вот картинки структурной схемы платформ mcx275-30 и mxc300-30.1, а также ранняя картинка mxc300-30, где SOC подписан ArgonPlus(онже mxc91331).
Как видно структура представляет собой SoC + rf переферия + обвес в виде камер, клавиатур и чего вам там захочется добавить.
Разница этих двух(трех, но не суть) платфор в том, что mcx275-30 это 2.75G Cellular Platform , а mxc300-30 это 3G Single Core Modem Platform, т.е. с раиомодулем для сетей 3g, 3ю платформе я незнаю как называется, но в ее проце mxc91131 используется уже радиомодуль для iden сетей. Собственно по этой части и есть основные различия, заменили ядро ВР с поддержкой 3г и рядом с SOC поставили второй трассивер для 3G или iden сети.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Была еще ревизия mxc300-30.2, где радиочасть уже RFX300-30 RF Subsystem, т.е. два чипа заменили на один MMM7210. https://www.ixbt.com/news/hard/index.shtml?07/75/01
Нажмите для просмотра прикрепленного файла. Но в серийных телефоных я не видел 2 ревизии. Хотя были проект bute и python, которые как-то связаны с RF частью телефона, возможно тут есть связь.
По iden овской платформе zeus сведений сложно найти, но есть литература на иденовский телефон i897, с zeus платформой
https://firmware.center/firmware/Motorola/i...M_i897_A4_C.pdf
Нажмите для просмотра прикрепленного файла

Самым важным компонентов в этих платформах является SOC, в народе обзываемый процем.
В этих платформах используются SOC с наименованием аля mxc91ххх, например
- mxc91231(SCM-A11)
- mxc91321(ArgonLV)
- третий для иденов mxc91131(Zeus)
- есть 4ый mxc91331(ArgonPlus)
и еще много разновидностей как позже выяснилось.
Этот проц( SOC) на тот момент был революционной вещью, т.к. разработчики смогли запихать в один чип много разных деталей, а если быть точнее то в одонй чипе скрываются два процессорных ядра AP процессор(ARM ARM1136J-S) и ВР процессор(в mxc91231 это StarCore SC140) и всякие модули аля кэша для ядер, модули шин памяти, шины SDHC USB и многих других.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла

Само процессорное ядро, которое внутри mcu arm11, структурно выглядит так
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла

Внешне сам SOC чип выглядик так, под нумерациями от motorola
- mxc91231(SCM-A11) - SC29364VK или SC29364VKR2 (R2 это ревизия/pass )
- mxc91331(ArgonPlus) - судя по начинке телефона M702iG "Scorpius", у которого должен стоять ArgonPlus - маркировка будет PC28424VKD0 как на картинке.
- mxc91321(ArgonLV) - SC29432VZ0
А вот например у BlackBerry есть такие маркировки SC29433VKR2 - PC29433VK0 и SC29766VKR2
В Z8, где от argon используется только BP часть, маркировка чуть отличается - РС29432VZD0R2 (R2 это ревизия/pass )
Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
А оригинальный imx31 с нумерацией от freescale так
Нажмите для просмотра прикрепленного файла
А вот еще такая маркировка в брошурах от freescale
Нажмите для просмотра прикрепленного файла
Ну и литературка на распайку сокета
Нажмите для просмотра прикрепленного файла


Судя по всему моторала брала не в полном виде эти процы, а решила что-то да подправить - так на свет появились SCMA11(mxc91231) и ARGON(mxc91321) ну и третий zeus(mxc91131) (цитата от моторолы At this time, product families are defined based on system-on-chip (SOC) type: scma11, argon, zeus.) К слову SCM-A11 – Single Core Modem(SC140e) with ARM11 Processor .
Что в них изменили сказать сложно, но факт - что название поменяли.
Так же было несколько ревизий этих процов(SoC). Из того что нашел
SCMA11(mxc91231) [SC29364VK...]
Цитата
{0x00, CHIP_REV_1_0}, /* MXC91231 PASS 1 */
{0x10, CHIP_REV_2_0}, /* MXC91231 PASS 2 */
{0x11, CHIP_REV_2_1}, /* MXC91231 PASS 2.1 *

ArgonPlus(MXC91331) / ArgonLV(mxc91321)
Цитата

//MXC91331
{0x00, CHIP_REV_2_0},
{0x40, CHIP_REV_2_1}, /* MXC91331 PASS 2.1 */

//MXC91321
{0x00, CHIP_REV_1_0},
#ifdef CONFIG_MOT_WFN423
{0x11, CHIP_REV_1_1},
{0x22, CHIP_REV_1_2},
#endif



Вторым важным компонентом после SOC Идет микросхемка mc13783(он же у нас как ATLAS [версия обычно 3.5]),на чипе помечен иногда как SC13783. К слову на более поздних платформах где уже андроид ставили MC13883(онже SC55112) .
Управляет эта микруха всем остальным(подсветка, зарядка, аудио и многое другое)
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Внешне выглядит вот так в телефоне(TAIWAN), А вот так(CHINA) в карманнм проигрывателе Toshiba Gigabeat
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Литература на них
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла


Так же стоит упнянуть , что на zn5, Ve66 и еще у протика Paros применяется сопроцессор для камеры(OMAP-DM MMP) OMAP DM299 и OMAP DM500.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
На сегодня такая схема кажется странной, но тогда такое много где применялась,у той же нокии например(Nokia 5800) или blackberry. Сопроцессор просто включен между SOC и камерой и помогает обрабатывать картинку с камеры, ибо встроеный IPU в SOC сам по себе способен обработать такую большую картинку.
Нажмите для просмотра прикрепленного файла
Литературы конкретно на эти микрухи я не нашел, но часто они упоминаются как DM29X/DM50X family, так что думаю можно искать что-то похожее с любым числом вместо Х. Точно известны модели OMAP-DM290, DM299, DM500, DM501(в схемах на NOKIA еще упоминается DM5011), но не выше, чем DM51Х, (всякие DM510/DM515/DM525 уже идут с другим ядром.)
Ближайшее что удалось найти в открытом доступе, это про DM270, который тоже на ARM7 как и наши DM29X/DM50X.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
И до кучи приложу про DM51Х (DM510/DM515/DM525)
Нажмите для просмотра прикрепленного файла
Позже удалось найти, что DM270, все таки имеет отличия от DM299
Нажмите для просмотра прикрепленного файла
Но зато удалось найти литературу, по работе с нашими DM299/DM500
Нажмите для просмотра прикрепленного файла
А схему мы может взять из схем NOKIA, например 6600 , где также стоит DM500

Еще есть по видюхе IPU небольшая презентация и в целом о планах на графику в магиксах.
Нажмите для просмотра прикрепленного файла



Зная эту инфу будут проще искать те или иные документы.
Так, теперь какая у меня есть литературка.
Это по платформеMXC275-30:
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла

Это по платформеMXC300-30
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла


Некоторые тех сведения для разработки драйверов и управления
Нажмите для просмотра прикрепленного файла
и
Цитата
Setup/Display clock (max AHB=133MHz, max IPG=66.5MHz)
Syntax:
clock [<core clock in MHz> [:<AHB-to-core divider>[:<IPG-to-AHB divider>]]]
If a divider is zero or no divider is specified, the optimal divider values
will be chosen. Examples:
10 Freescale Semiconductor
[clock] -> Show various clocks
[clock 532] -> Core=532 AHB=133 IPG=66.5
[clock 399] -> Core=399 AHB=133 IPG=66.5
[clock 532:8] -> Core=532 AHB=66.5(Core/8) IPG=66.5
[clock 532:8:2] -> Core=532 AHB=66.5(Core/8) IPG=33.25(AHB/2)

-Ну вроде все что хотел написал, надеюсь теперь все на своих местах. Остальное если захочит добавит EXL.

======================================================================

 av fill.sa

 3.11.2022, 2:38

Еще какая-то литература по работе с железом данных платформ
https://www.datasheetarchive.com/pdf/downlo...amp;term=AN3290

 av EXL

 3.11.2022, 4:15

fill.sa,
А скачать PDF-ку оттуда можно?

 av fill.sa

 3.11.2022, 4:50

Там же в принципе кпнока есть.
Вот прямая ссылка если что
https://datasheet.datasheetarchive.com/orig...SASW0020027.pdf

Тут еще параллельно попалось, что в наших платформах usb-otg организован на основе спек ISP1301
Тут подробнее что за чудо https://www.ixbt.com/news/hard/index.shtml?01/08/56

 av EXL

 3.11.2022, 15:45

Цитата(fill.sa @ Сегодня, 11:50)
* Вот прямая ссылка если что

Дублируй мелкие файлики помимо ссылки на форум, так есть шанс они подольше останутся в Интернете.

Интересно, в PDF-ке упомянут MXC91221, он имеется в исходниках MotoMAGX ядер? Почему-то в PDF'ке сказано мол это ARM9, а я насколько помню все MXC91*** были на ARM11.

Цитата(fill.sa @ Сегодня, 11:50)
* Тут еще параллельно попалось, что в наших платформах usb-otg организован на основе спек ISP1301

А сервис-манах на схемах он есть? Если да, что там на него повешано? У EZX'ов два проца между собой общаются по USB-OTG, насколько я помню. Это в относительно новых: A1200, E6, E2. А первые EZX'ы вроде A760 и возможно E680, A780 общались между собой по RS232.

А в MotoMAGX ведь всё на одном кристале и общаются между собой ядра ARM11 и StarCore этот по какому-то специфичному и новому протоколу, забыл его название, но в исходниках ядра он описан.

 av EXL

 3.11.2022, 15:51

Ах да, крутил в руках тут Motorola VE66 на LJ 7.4 который, там USB-стек основательно перепилен и добавлена огромна куча всяких режимов подключения, вроде как даже ныне стандартный MTP там есть. Для их жонглированием там используется специальный модуль usb-switchd вроде как. Из интересного, OTG в нём и много где там тоже упоминается.

Но в каком именно контексте, я не смотрел.

 av fill.sa

 2.6.2023, 19:07

Еще презенташка по этому железу,
https://image.itmedia.co.jp/l/im/bizmobile/.../l_os_arch1.jpg

Слил фоточки сюда. Текст на японском гласит примерно следующее

Это не простое добавление каждого ядра существующей архитектуры, а оптимизированная интеграция. Вы можете видеть, что количество частей значительно уменьшено по сравнению с обычной системой (слева) с отдельными процессорами основной полосы частот и процессорами приложений.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла

Блок-схема MXC300-30 (слева). Ядро StarCore SC140e установлено в основной полосе частот, а ядро ​​ARM11 установлено в процессоре приложений. Разработка программного обеспечения упрощается, потому что основная полоса частот и процессор приложений разделены.
Нажмите для просмотра прикрепленного файла

Демонстрация (слева), показывающая, как можно сделать голосовой вызов, подключившись к сети W-CDMA. Кроме того, в эталонной системе работал Linux, и было продемонстрировано, что графический интерфейс Qtopia работает (в центре) и что игру можно запустить с помощью пера (справа).
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла

Справочная доска, используемая для демонстрации. Чип в центре — MXC300-30.
Нажмите для просмотра прикрепленного файла
Страницы: 1, 2

Полная версия:


MotoFan.ru (©) 2024    Слушать Radio