eBox-3300MX (Vortex86MX): Hardware information + testing

Using Kolibri in embedded systems
  • Unduing wrote:Моей версии вообще не существует :wink: я предоставил только патч и результат его применения к той сборке которая у меня на тот момент была.
    Но в ней не было никаких перехватов исключений и все выпадало в доску отладки.
    Я писал по своему опыту - на eBox твоя версия твой патч при отсутствии MMX не выпадал в строку отладки, а начинал играть музыку без звука. Но это уже неважно, так как версия Asper-а новее и выпадает. :wink:
  • Если ориентироваться на документацию по IAD100_R3306, выложенную в соседней теме, то с точки зрения PCI устройства на 0.0.1 не существует. Вместо заголовка PCI, занимающего первые 40h байт, возвращаются FFки. В частности, VendorID:DeviceID просто не возвращаются - SIV, скорее всего, думает что-нибудь в духе "хочу показать это псевдоустройство, но у него нет DevID; я возьму DevID предыдущего устройства и прибавлю 1", но никакой прочей информации показать не может, потому что её нет. Фактически это не отдельное устройство, а набор регистров северного моста 0.0.0, не уместившихся в 100h байт основного конфигурационного пространства. Я думаю, что не имеет смысла тратить усилия на обнаружение устройства, которое не является настоящим устройством.
    Сделаем мир лучше!
  • Насколько я понимаю, в eBox есть обычный MMX.
    Я добавила вывод сообщения через @notify в r1948.
    Сделаем мир лучше!
  • CleverMouse wrote:Если ориентироваться на документацию по IAD100_R3306, выложенную в соседней теме, то с точки зрения PCI устройства на 0.0.1 не существует. Вместо заголовка PCI, занимающего первые 40h байт, возвращаются FFки. В частности, VendorID:DeviceID просто не возвращаются - SIV, скорее всего, думает что-нибудь в духе "хочу показать это псевдоустройство, но у него нет DevID; я возьму DevID предыдущего устройства и прибавлю 1", но никакой прочей информации показать не может, потому что её нет. Фактически это не отдельное устройство, а набор регистров северного моста 0.0.0, не уместившихся в 100h байт основного конфигурационного пространства. Я думаю, что не имеет смысла тратить усилия на обнаружение устройства, которое не является настоящим устройством.
    Ты всё очень точно сформулировала, и как всегда права :wink: Вот моя переписка с автором SIV:
    Ray Hinchliffe / SIV wrote:SIV has lots of new code compared to 16 months ago and I have just fixed a number of other things for the Vortex86MX. Beta-26 should also be able to read the [ 0 - 00 - 1 ] PCI Device using Direct I/O rather than the Windows HAL. Please can I have new files so I can check?
    Ray Hinchliffe / SIV wrote:Thank you for the new files. I will dig out the DMP documents tomorrow and update things. SIV has finally managed to read the [ 0 - 00 - 1 ] device (see below), so I need to do several changes to use the information that is now available. I will also look again the DIMM clock. The x30.75 CPU multiplier also merits a closer look.
    Spoiler:

    Code: Select all

    [0 - 00 - 1] <- [PCI Bus] <- SIV32X - System Information Viewer V4.15 Beta-27 U EBOX3300MX::eBox-3300MX
    
    RDC Semiconductor  - Vendor ID 17F3-FFFF-00000000-00  size 0x0100
    
    Device Class       0x000000      Other (0x000000)
    Command            0x00C0        Parity Error  Wait Cycles
    Status             0x0000        Fast Timing
    Cache Line Size 0  0 ULONGs      Latency Timer 0 PCI clocks
    Header Type 0x00   Prof IF 0x00  Built-in Self Test 0x00
    
                 0         4         8         C                 0     2     4     6     8     A     C     E
    000:  FFFF17F3  000000C0  00000000  00000000  :00C  000:  17F3  FFFF  00C0  ....  ....  ....  ....  ....  :00E
    010:  00000000  00000000  00000000  00000000  :01C  010:  ....  ....  ....  ....  ....  ....  ....  ....  :01E
    020:  00000000  00000000  00000000  00000000  :02C  020:  ....  ....  ....  ....  ....  ....  ....  ....  :02E
    030:  00000000  00000000  00000000  00000000  :03C  030:  ....  ....  ....  ....  ....  ....  ....  ....  :03E
    040:  00000000  00000000  00000000  00000000  :04C  040:  ....  ....  ....  ....  ....  ....  ....  ....  :04E
    050:  00000000  00000000  00000000  00000000  :05C  050:  ....  ....  ....  ....  ....  ....  ....  ....  :05E
    060:  00000000  00000000  00000000  00000000  :06C  060:  ....  ....  ....  ....  ....  ....  ....  ....  :06E
    070:  00000000  00000000  00000000  00000000  :07C  070:  ....  ....  ....  ....  ....  ....  ....  ....  :07E
    080:  00000000  00000000  00000000  00000000  :08C  080:  ....  ....  ....  ....  ....  ....  ....  ....  :08E
    090:  00000000  00000000  00000000  00000000  :09C  090:  ....  ....  ....  ....  ....  ....  ....  ....  :09E
    0A0:  00000000  00000000  00000000  00000000  :0AC  0A0:  ....  ....  ....  ....  ....  ....  ....  ....  :0AE
    0B0:  00000000  00000000  BE707514  00000000  :0BC  0B0:  ....  ....  ....  ....  7514  BE70  ....  ....  :0BE
    0C0:  00000000  00000000  00000000  00000000  :0CC  0C0:  ....  ....  ....  ....  ....  ....  ....  ....  :0CE
    0D0:  00000000  00000000  00000000  00000000  :0DC  0D0:  ....  ....  ....  ....  ....  ....  ....  ....  :0DE
    0E0:  00000000  00000000  000001E1  00000000  :0EC  0E0:  ....  ....  ....  ....  01E1  ....  ....  ....  :0EE
    0F0:  012D472A  000186C3  00260000  00000000  :0FC  0F0:  472A  012D  86C3  0001  ....  0026  ....  ....  :0FE
    
    Ray Hinchliffe / SIV wrote:The "RDC R6022 Memory Controller" is the name I invented for it ! When I read the PCI config space the first 64 bytes do not exist and you get back 64 bytes of 0xFF. What I do is read the last 192 bytes and then in my code I have pcp->VendorID = 0x17F3; pcp->DeviceID = 0x6022; so that SIV can process it as a normal PCI device. The device is really strange, I have never seen any other PCI device that does not have Vendor and Device IDs.
  • CleverMouse wrote:Насколько я понимаю, в eBox есть обычный MMX.
    Я добавила вывод сообщения через @notify в r1948.
    Да, именно так - есть обычный MMX, который можно включать / выключать в BIOS. Проблема возникала, когда пользователи, в процессе тестирования конфигураций BIOS, выключали MMX (из-за патентов Intel, он не называется MMX в BIOS, и пользователи не могли понять, почему вдруг музыка перестала играть, хотя раньше играла). Твоё изменение безусловно поможет в нахождении проблемы. Большое спасибо - вечером протестирую!
  • Вот, пока что получилось. Загрузка идет от точки входа, далее по jump-таблице от _j1 до decompression_entry
  • @notify работает отлично - спасибо, CleverMouse!
  • поддержку MMX можно пробовать включить в Колибри напрямую:

    Code: Select all

    reg = PCI_Byte_Read(0, 0xA0); // 0 - device, 0:0.0
    reg |= 0x60 // Enable MMX & CPUID
    PCI_Byte_Write(0, 0xA0, reg);
    
    Attachments
    Downloaded 221 times
  • XVilka wrote:поддержку MMX можно пробовать включить в Колибри напрямую
    Но это регистры, специфические для Vortex86MX, верно? Тогда уже надо сначала делать проверку на вид процессора, прежде чем эти команды запускать, а то результат будет непредсказуемый.
  • Естественно.

    Code: Select all

    read_id:
        mov dx, 0cf8h
        mov al, 090h
        out dx, ax
        mov dx, 0cfch
        in ax, dx
        jmp si
    isVortex86:
    ; Vortex86SX: 0x31504d44
    ; Vortex86DX: 0x32504d44
    ; Vortex86MX: 0x33504d44
    ; We check Vortex86MX here
       mov si, $+5
       jmp read_id
       cmp ax, 0x33504d44
       jz return_yes
       mov ax, 0
       retn
    return_yes:
       mov ax, 1
       retn
    
  • Вот пока моя переписка с производителем:
    yogev_ezra wrote:Dear Sir / Madam,
    My name is Yogev Ezra from Green Gadgets Ltd, Israel.

    Following our discussion on RoboSavvy forum: http://robosavvy.com/forum/viewtopic.php?p=31456 we are porting KolibriOS to Vortex86DX / Vortex86MX SoC, and we would be happy if DMP use it in their products, because the OS is freeware, open-source GPL and very fast.

    But if you want to get the most from KolibriOS, we would appreciate that you help us with the following:

    1) KolibriOS is very small, the OS image is only 1.44MB (like a floppy disk). So it can fit ideally into Vortex86DX/MX SoC BIOS via "Onboard Virtual Flash FDD" function, because the SPI Flash chip that you provide with the system is 2MB, and AMI BIOS is only 256KB, so there is 1.75MB left free space. But this option is not enabled in the BIOS so we cannot use it. So we would be glad if you can provide us modified BIOS with "Virtual Floppy" enabled, and the tool needed to format the "Virtual Floppy". Currently we use the following product for development: eBox-3300MX-HAP so we need modified BIOS for this product for testing. If customer loads KolibriOS directly from BIOS, then he can save on BOM cost since he does not need external storage anymore.

    2) If there are any Vortex86DX / Vortex86MX datasheets that are available after signing the NDA, then I would be happy to sign the NDA to get those datasheets, so that we can improve KolibriOS support on Vortex SoC.
    Antony (DM&P Electronics) wrote:Hi Yogev,

    Thanks for the mail and offer great KolibriOS information to us, our engineer now is doing some evaluation, regarding the Virtual Floppy issue, basically we provide 2 solutions, one is use additional SPI flash ROM (4MB or 8 MB) there is physical chipset, in RoBoard and eBox there is no such PCB layout, so external SPI flash function is not working, and 2nd method is use internal SPI flash that exist with BIOS together, as forum reply there require special BIOS update, currently this BIOS still under evaluation, I will keep you update when the new BIOS version make more stable.

    And within new BIOS there is no need datasheet, cuz we will prepare the ready modified BIOS.
    yogev_ezra wrote:Dear Antony,
    Thank you very much for your reply!

    If your engineer has any questions about using the OS, let him contact me directly by e-mail and I will help him as much as I can.
    He can also ask questions on KolibriOS forums, and our programmers will be happy to answer him: index.php

    About "Virtual Floppy", yes, we need the option 2 - to use built-in 2MB Flash ROM chip (internal SPI flash), so if you can provide us this BIOS, we would really appreciate it. Because KolibriOS needs only 1.44MB space, so if customer can use internal SPI flash chip for load KolibriOS directly, then BOM will be lower and customer can have market advantage, because he does not need to use external storage like SD card or SATA hard disk or USB flash disk.

    Also it is possible to make Coreboot working on eBox / RoBoard: http://www.coreboot.org/ - this is freeware / Open Source BIOS instead of AMI BIOS, so DMP does not need to pay any royalty fees, and you can lower eBox price and offer better value for DMP customers. So we can help you port Coreboot to eBox, but for this we need AMI BIOS NDA datasheets, if you can provide.

    And about NDA Vortex86DX/MX datasheet, I was referring to the full TRM document for the SoC, not BIOS, I understood that I can sign the NDA and receive it from you.
  • Скриншоты с новой версией pcidev будут?
    Сделаем мир лучше!
  • То есть они не ответили? по поводу доступности даташитов? В принципе, теперь не очень-то и надо :) В реверсе осталось доделать совсем чуть-чуть. А потому можно переносить на код. :)
  • CleverMouse wrote:Скриншоты с новой версией pcidev будут?
    Ну, если нужно, то вечером выложу. :)
  • Who is online

    Users browsing this forum: No registered users and 31 guests