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
Hi Neeraj,
I will look into the constraints when defining the resources for the SPI interfaces.
I chose SPI1 and SPI2 for my design (HW pins wise) and intend to operate them in the maximum BW (100MHz clock).
Any possibility I will not be able to clock them correctly?
thanks
Gil
Hi Neeraj,
We see output on the RPi; but we only see u-boot prints. There isn’t a single print from the Linux kernel, i.e., the Linux kernel doesn’t load. Also, there is no keyboard input.
We did use two different UART-USB adapters. Both of them work when connecting them from the PC to the RPi’s UART.
We are using a USB-C cable currently and it seems to work fine so far.
But we only get output when the Linux starts loading.
We would like to see u-boot as well. And enter to the u-boot CLI.
thanks
Gil
Hi Neeraj,
Should that be a consideration when choosing the SPI interface?
Do other SPI interfaces have less or more clock sources than SPI6 has?
Is the flexibility, of choosing a clock source, different between SPI interfaces?
thanks
Gil
Hi Neeraj,
SPI2/3 are connected to the MPU via AHB-APB1, but the MPU is not planned to be used in our application.
As I wrote, the A7 cores will handle the SPI communication (through the driver that will run under Linux).
so, taking into account that the SPI data should reach the A7 cores and the speeds of the SPI interfaces, which SPI bus should I use?
Also, you wrote “Please make sure you can set the clock speeds you need using CubeMX clock tree utility”.
Any reason why it will not be possible to do that using that utility?
thanks
Gil
hello Neeraj,
I am sorry, but I do not understand your answer.
What do the numbers represent?
USB2_N has two numbers. USB2_P has one number.
I need the routing length difference, inside the SIP package, between USB_DM2 and USB_DP2.
thank you
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