Song,
The build time depends on how powerful the machine is. More cores will definitely reduce the build time. It can take anywhere between ~20min to multiple hours to build the image from scratch depending on machine configuration, but modifications generally take much less time to do.
Best,
Neeraj
Sktz,
It seems like +5V input to OSD3358 experiences a glitch during power up. For the 5V power input(AC) there are 2 main requirements:
1. Rise time is < 50ms
2. Inrush is ~1500mA
The scope shot indicates that the PMIC detects first power up and begins the internal power on sequence by switching SYS_VOUT ON. Then, +5V experiences a glitch resulting in a shutdown of the PMIC. It seems that +5V input does not go all the way down to 0V. In the scope shot, it only goes to ~2.7V. This is below the UVLO(default is set to 3.3V for the PMIC). So, PMIC is able to detect the next positive edge of the +5V signal for Auto turn-on.
The suspicion is that in some cases, the +5V input does not go all the way down below UVLO voltage resulting in a lockup condition. Please take a look at https://www.ti.com/lit/an/slva901/slva901.pdf for more information on this type of brownout.
I think this glitch will need to be addressed in order to get reliable boot. Please also take a look at Sheet 1 of the SM-RED schematics: https://octavosystems.com/docs/osd3358-sm-red-schematics-pdf/ for a good power monitoring circuit that implements a solution to address brownout of the power input by adding a voltage monitor and switch.
Best,
Neeraj
Dinesh,
Seems like the kernel is unable to initialize the UART devices you are trying to setup. https://elixir.bootlin.com/linux/v6.11.11/source/include/uapi/asm-generic/errno-base.h#L26 shows the generic error codes for Linux kernel, here indicating an invalid argument somewhere in the driver probe function of the UART driver for STM32 inside OSD32.
Please review https://wiki.st.com/stm32mpu/wiki/Serial_TTY_device_tree_configuration and https://wiki.st.com/stm32mpu/wiki/Trace_and_debug_scenario_-_UART_issue for a reference to device tree and a good how-to on debugging the issue. May be there is an issue with DMA channel usage, in which case you can disable the use of DMA for the UARTs by following the device tree guide linked above.
Best,
Neeraj
Answered in the original thread:
Song,
The step-by-step build instructions are provided in the README for the repository. You will need an Ubuntu host to build the image.
I have also temporarily uploaded the latest built image here: https://octavosystems.com/flashlayout_sdcard_stm32mp157f-osd32mp1-brk-optee/
Best,
Neeraj
Dinesh,
Please take a look at the examples provided here(by ST):https://github.com/STMicroelectronics/STM32CubeMP1/tree/master/Projects/STM32MP157C-DK2/Examples.
Best,
Neeraj
Song,
The step-by-step build instructions are provided in the README for the repository. You will need an Ubuntu host to build the image.
I have also temporarily uploaded the latest built image here: https://octavosystems.com/flashlayout_sdcard_stm32mp157f-osd32mp1-brk-optee/
Best,
Neeraj
Dinesh,
Check out this coarse material that walks you through working with the M4 core on OSD32MP1(STM32MP1): https://octavosystems.com/courses/getting-started-with-embedded-linux/.
Here is another resource for M4 development from ST: https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-EV1/Develop_on_Arm%C2%AE_Cortex%C2%AE-M4/Modify,_rebuild_and_reload_a_firmware.
Best,
Neeraj
Manish,
The datasheet for the crystal is unclear on the load capacitance, but the part # you posted indicates 20pF load capacitance. Given the values of C4 and C6, the load capacitance comes out to 15pF, which is not that far off. I am not sure it will make a difference, but you can try removing R33 and seeing if that starts the oscillator? If you can, I would try replacing the oscillator as well.
The clock input is critical for OSD3358 to work. So, if removing R33 does not work, you could drive an external 24MHz input to see if that boots the device.
Best,
Neeraj
Hey Song,
Please take a look here: https://github.com/octavosystems/meta-octavo-osd32mp1/tree/mickledore_6.1
Let me know if you have any issues.
Best,
Neeraj
Dinesh S,
Are you making any modifications to the meta layer?
The log seems to indicate that the init script cannot find several of the basic linux commands that should be available like mkdir and grep. You can mount the SD card into your host machine and look at the root file system to see if these are in one of the bin folders.
Please also check the Ubuntu version and packages installed are OK. The README provides information on these.
Best,
Neeraj
mark,
EEPROM ID is needed for successful boot beyond SPL(1st stage bootloader). Without the ID, it appears like there is no activity on UART0(console) because debug header print is disabled in the SPL. Please see https://octavosystems.com/app_notes/osd335x-eeprom-during-boot/ for help on programming the EEPROM and booting the board into u-boot.
Also, see https://github.com/RobertCNelson/omap-image-builder/tree/master/octavo#generate-image-file for building custom images.
Best,
Neeraj
Majda,
Unfortunately, using LTDC as RGB will not be possible on OSD32MP1-RED board. However, there are options:
1. You can use the DSI display output with X8 or JP6(Sheet 9 of the schematics).
2. You can use ST’s EV1 dev board: https://www.st.com/en/evaluation-tools/stm32mp157f-ev1.html that has an RGB header. Any software developed on ST’s dev board can easily be ported to OSD32MP1 device with a DDR include file.
Best,
Neeraj
Majda,
The LTDC interface is used for HDMI on OSD32MP1-RED. Please take a look at Sheet 7 of rev 1.1 here: https://octavosystems.com/docs/osd32mp15x-red-schematic-pdf/ for LTDC connections to a HDMI Framer chip U3 as well as the Micro HDMI slot X6.
Best,
Neeraj
Manish,
The power rail measurements look OK. The sequence of RTC_1P8 vs VDD_1P8 also looks OK.
However, lack of 24MHz on OSC0 input is concerning. This is the main clock input for the SoC and it needs this clock input to function. The lack of activity on SD_CLK and CMD lines is consistent with the fact that the main clock input for the SoC is not functional.
Please review the values for C4, C6 and R33 in your schematic. Take a look at Section “Input Clock Requirements” in AM335x datasheet: https://www.ti.com/lit/ds/symlink/am3358.pdf to understand OSC0 Crystal Circuit Requirements. Can you see 32KHz signal?
Best,
Neeraj
Gil,
Glad you found the issue and appreciate the update!
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields