hello Neeraj,
I connected the I2C port of the PMIC in our board (Pz4, Pz5 in the Octavo) to the Octavo RED evb to JP20, pins 3,5,6, which connect to I2C5 of the Octavo in the RED evb.
Our board is not running any code. Power-up and that’s it (no FSBL, SSBL, etc.).
We connected to the RED evb using SSH (to the IP of the RED). We used the I2C tools to detect and dump the registers of the I2C devices.
I was unable to read anything from the PMIC. Not from the faulty SiP (wrong PMIC_VOUT4) and not from a working SiP.
I2C detect did not find any slave devices on this bus. Then, I specifically searched for I2C address 0x33. Nothing there.
What was I doing wrong?
thanks
Gil
hello Neeraj,
I am re-opening this thread.
You wrote we can program the PMIC NVM using the STM32CubeProgrammer.
We ran the programmer (connected to the board via USB) and I did not find the PMICÂ NVM partition (identified by the reserved Id 0xF4).
Documentation states it is supported only in U-BOOT and since we are in the SiP boot stage (no FSBL, SSBL, etc), I guess we cannot see it.
Is there any other way I can view the PMIC NVM and program it? (besides using the M4).
I understand JTAG cannot help us here.
I2C perhaps? If yes, using which software?
This is my 1st question.
2nd Q: The reason I am asked the 1st Q, is that PMIC_VOUT4 outputs the wrong voltage in one of our boards (it worked fine and suddenly something changed).
I would like to see whether, somehow, the PMIC NVM changed its content, thus a different voltage on PMIC_VOUT4.
Is anything like this happened to you?
Adding to that:
If a voltage is forced on PMIC_VOUt4 output before it is regulated (2.5V from another source): can it damage the PMIC_VOUT4 output stage?
thanks,
Gil
Hi Neeraj,
The design is over. For the current board revision.
SDMMC2_D4 is routed to PA8.
If I do not need this functionality, can I use the USBS interface without any issues?
There is no SOF pin on the USBC connector. Does a design that do use this functionality, need to route some signal to this pin? (internally in the board).
thanks,
Gil
hello Neeraj,
In addition to the above:
It seems there is an issue with PA8 I chose for SDMMC2_D4.
When choosing PB8 or PE4 the conflict is not there.
PA8 also occupies the role of OTG_HS_SOF.
If PA8 is used as SDMMC2_D4, OTG_HS_SOF cannot be asserted externally.
However, internally, this token can be used and is used as part of the protocol.
Am I correct with all that I wrote?
Will we have an issue with our USB interface?
thanks,
Gil
hello Neeraj,
Can a SPI interface be used with the A7 also as a Slave?
You wrote “You can use any GPIO as a chip select”: Do you mean not only those that are designated to be SPI1_NSS (PA4, PA15, PZ3)?
I can configure any GPIO as SPI1_NSS? How do I do that?
Thanks
Gil
hello Neeraj,
Thank you for your answer, but this is not what I asked.
I asked if I can change the default UART4 pins?
So, on power-up the SIP will try to communicate through UART4 via different pins than what is defined now (this happens before FSBL, SSBL, etc.).
(On power it scans the UART and USB – this is my boot mode).
If it is possible, which fields should I change in the OTP and what do I program there?
By default RX is PB2 (AF08) and TX is PG11 (AF06).
I want to have RX on PA11 (AF06) and TX on PA12 (AF06)
thank you
Gil
Hi Neeraj,
I haven’t been contacted by anyone from Octavo.
Can you update on the issue?
thanks
Gil
Hi Neeraj,
We require the recommended Developers SDK for the OSD32MP1 (not the Debian distribution).
so, we can tailor it to our needs.
Where do we find it and its documentation (the sdk documentation)?
thanks
Gil
Hi Neeraj,
Very well.
USB, by default, uses DP2/DM2 so I am using these pins.
I also use eMMC2 default pins as defined in the ROM.
However, I am NOT using UART4 default pins.
I will define the non-default UART4 pins in the device trees in TF-A/UBOOT/Linux and will see messages through UART4 after the device tree in the TF-A loads.
Am I correct here?
thanks
Gil
Hi Neeraj,
When I disconnect the TX of PC/RPi to RED, the boot process proceeds fully until Linux is up and I see the heartbeat led blinking.
However, the terminal shows RX data as garbage (I sent a picture in the previous message).
when the PC/RPi are connected fully to the RED, the boot process stops.
RX data is still garbage.
We tried different UART setup combinations. Garbage remains.
thanks
Gil
hello Neeraj,
I am re-opening this thread.
My design will boot from the USB.
Our boot mode will be UART4/5/7/8 and USB (OTG HS).
We intend to use UART4 for debug messages during boot time (before Linux loads up), mainly for UBOOT messages.
Do the ROM, FSBL and SSBL send messages during run time?
So, when the on-chip ROM runs, USB will be used to communicate with the board.
Then, we will use STM32CubeMX to define everything we need.
Then, the correct binaries are created and we will upload them into the FSBL and SSBL in the Octavo.
Is that correct?
Where is the first point (during power up) that pin muxing is defined?
Where is the first point that the software stdout is defined? (so UART4 will be the standard output for us).
Is it in the device tree in TF-A? Does the TF-A reside in the FSBL?
Which application will we use to program the full image to the eMMC Flash? (FSBL, SSBL, UBOOT and Linux).
I’d appreciate your comments on the above.
Thank you
Gil
Very well.
thank you!
Hi Neeraj, aedancullen,
Good call with the TX.
When we disconnect the TX from the OSD32MP1-RED, the software loads all the way including Linux (the heartbeat is there).
This happens when using both setups, i.e PC/RPi-RED.
It seems something is electrically wrong with the RED evb.
When connecting another RPi to the RED (including the TX) the software load completed fully.
Another issue is with the data received in the terminal from the RED UART.
It is garbage. No matter which UART setup we use (different parity bits setup, speeds, etc.).
Attached a screen shot of that.
Gil
Hi Neeraj,
Q1:
YES!!!, The output is as follows:
CPU: STM32MP157C?? Rev.?
Model: Octavo OSD32MP1-RED board
Board: stm32mp1 in trusted mode (octavo,osd32mp1-red)
DRAM: 512 MiB
Clocks:
– MPU : 650 MHz
– MCU : 187.500 MHz
– AXI : 266.500 MHz
– PER : 24 MHz
– DDR : 533 MHz
board_check_usb_power: Can’t get adc device(-19)
NAND: 0 MiB
MMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1
Loading Environment from EXT4… OK
In: serial
Out: serial
Err: serial
invalid MAC address in OTP 00:00:00:00:00:00Net:
Error: ethernet@5800a000 address not set.
eth-1: ethernet@5800a000
Hit any key to stop autoboot: 0
STM32MP> ??J%NOTICE: CPU: STM32MP157C?? Rev.?
NOTICE: Model: Octavo OSD32MP1-RED board
INFO: Reset reason (0x15):
INFO: Power-on Reset (rst_por)
INFO: Using SDMMC
INFO: Instance 1
INFO: Boot used partition fsbl1
WARNING: VDD unknownNOTICE: BL2: v2.0-r1.5(debug):v2.0-stm32mp-r1.5
NOTICE: BL2: Built : 03:23:08, Feb 16 2021
INFO: BL2: Doing platform setup
INFO: PMIC version = 0x21
INFO: RAM: DDR3-DDR3L 16bits 533000Khz
INFO: Memory size = 0x20000000 (512 MB)
INFO: BL2 runs SP_MIN setup
INFO: BL2: Loading image id 4
INFO: Loading image id=4 at address 0x2fff0000
INFO: Image id=4 loaded: 0x2fff0000 – 0x30000000
INFO: BL2: Loading image id 5
INFO: Loading image id=5 at address 0xc0100000
INFO: STM32 Image size : 807412
WARNING: Skip signature check (header option)
INFO: Image id=5 loaded: 0xc0100000 – 0xc01c51f4
INFO: read version 0 current version 0
NOTICE: BL2: Booting BL32
INFO: Entry point address = 0x2fff0000
INFO: SPSR = 0x1d3
INFO: PMIC version = 0x21
NOTICE: SP_MIN: v2.0-r1.5(debug):v2.0-stm32mp-r1.5
NOTICE: SP_MIN: Built : 03:23:08, Feb 16 2021
INFO: ARM GICv2 driver initialized
INFO: stm32mp HSI (18): Secure only
INFO: stm32mp HSE (20): Secure only
INFO: stm32mp PLL2 (27): Secure only
INFO: stm32mp PLL2_R (30): Secure only
INFO: SP_MIN: Initializing runtime services
INFO: SP_MIN: Preparing exit to normal world
U-Boot 2018.11-stm32mp-r3-dirty (Feb 16 2021 – 04:28:39 +0000)
CPU: STM32MP157C?? Rev.?
Model: Octavo OSD32MP1-RED board
Board: stm32mp1 in trusted mode (octavo,osd32mp1-red)
DRAM: 512 MiB
Clocks:
– MPU : 650 MHz
– MCU : 187.500 MHz
– AXI : 266.500 MHz
– PER : 24 MHz
– DDR : 533 MHz
board_check_usb_power: Can’t get adc device(-19)
NAND: 0 MiB
MMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1
Loading Environment from EXT4… OK
In: serial
Out: serial
Err: serial
invalid MAC address in OTP 00:00:00:00:00:00Net:
Error: ethernet@5800a000 address not set.
eth-1: ethernet@5800a000
Hit any key to stop autoboot: 0
STM32MP>
Q2:
Yes !!!
Regarding the ‘garbage’ output on UART:
We are unable to reproduce it.
As soon as I have it, I will send you.
thanks
Gil
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