mbox series

[v2,0/6] PHYTEC SoM detection for phyCORE-i.MX8MP

Message ID 20230817085711.45339-1-t.remmet@phytec.de
Headers show
Series PHYTEC SoM detection for phyCORE-i.MX8MP | expand

Message

Teresa Remmet Aug. 17, 2023, 8:57 a.m. UTC
second version of the series to add support for EEPROM SoM detection used
by different PHYTEC SoMs. The EEPROM data consist of 32 bytes containing
information like PCB revision, RAM size and other SoM specific
configuration.

For SoMs of the i.MX8M family the data is written to two areas of the
used i2c EEPROM.

We initally add the detection support for phyCORE-i.MX8MP. Due to layout
constraints phyCORE-i.MX8MP SoMs with PCB revision 2 and older can only
make use of a lower RAM frequency. This changes with the use of newer PCB
revisions. We make use of the factory flashed EEPROM data to detect the
PCB revision and select the fitting RAM settings.

Changes in v2:
- fix wrong RAM Timing values as pointed out by Yannic
- removed superfluous goto
- removed blank line at EOF
- fix string conversion to integer
- fix typo s/revsions/revisions

Teresa

Teresa Remmet (6):
  board: phytec: Add common PHYTEC SoM detection
  board: phytec: common: Add imx8m specific EEPROM detection support
  board: phytec: phycore-imx8mp: Add EEPROM detection initialisation
  board: phytec: phycore_imx8mp: Update 2GB RAM Timings
  board: phytec: common: phytec_som_detection: Add helper for PCB
    revision
  board: phytec: phycore_imx8mp: Add 4000MTS RAM timings based on PCB
    rev

 board/phytec/common/Kconfig                 |  13 +
 board/phytec/common/Makefile                |  11 +
 board/phytec/common/imx8m_som_detection.c   | 168 ++++++++++++
 board/phytec/common/imx8m_som_detection.h   |  54 ++++
 board/phytec/common/phytec_som_detection.c  | 203 ++++++++++++++
 board/phytec/common/phytec_som_detection.h  | 109 ++++++++
 board/phytec/phycore_imx8mp/Kconfig         |   1 +
 board/phytec/phycore_imx8mp/lpddr4_timing.c | 278 ++++++++++----------
 board/phytec/phycore_imx8mp/spl.c           |  78 ++++++
 configs/phycore-imx8mp_defconfig            |   1 +
 10 files changed, 773 insertions(+), 143 deletions(-)
 create mode 100644 board/phytec/common/Kconfig
 create mode 100644 board/phytec/common/Makefile
 create mode 100644 board/phytec/common/imx8m_som_detection.c
 create mode 100644 board/phytec/common/imx8m_som_detection.h
 create mode 100644 board/phytec/common/phytec_som_detection.c
 create mode 100644 board/phytec/common/phytec_som_detection.h

Comments

Fabio Estevam Aug. 24, 2023, 11:52 a.m. UTC | #1
Hi Yannic,

On Thu, Aug 17, 2023 at 5:57 AM Teresa Remmet <t.remmet@phytec.de> wrote:
>
> second version of the series to add support for EEPROM SoM detection used
> by different PHYTEC SoMs. The EEPROM data consist of 32 bytes containing
> information like PCB revision, RAM size and other SoM specific
> configuration.
>
> For SoMs of the i.MX8M family the data is written to two areas of the
> used i2c EEPROM.
>
> We initally add the detection support for phyCORE-i.MX8MP. Due to layout
> constraints phyCORE-i.MX8MP SoMs with PCB revision 2 and older can only
> make use of a lower RAM frequency. This changes with the use of newer PCB
> revisions. We make use of the factory flashed EEPROM data to detect the
> PCB revision and select the fitting RAM settings.
>
> Changes in v2:
> - fix wrong RAM Timing values as pointed out by Yannic
> - removed superfluous goto
> - removed blank line at EOF
> - fix string conversion to integer
> - fix typo s/revsions/revisions

Could you please help review v2?

Thanks
Yannic Moog Aug. 25, 2023, 11:46 a.m. UTC | #2
Hi Fabio

On Thu, 2023-08-24 at 08:52 -0300, Fabio Estevam wrote:
> Hi Yannic,
> 
> On Thu, Aug 17, 2023 at 5:57 AM Teresa Remmet <t.remmet@phytec.de>
> wrote:
> > 
> > second version of the series to add support for EEPROM SoM
> > detection used
> > by different PHYTEC SoMs. The EEPROM data consist of 32 bytes
> > containing
> > information like PCB revision, RAM size and other SoM specific
> > configuration.
> > 
> > For SoMs of the i.MX8M family the data is written to two areas of
> > the
> > used i2c EEPROM.
> > 
> > We initally add the detection support for phyCORE-i.MX8MP. Due to
> > layout
> > constraints phyCORE-i.MX8MP SoMs with PCB revision 2 and older can
> > only
> > make use of a lower RAM frequency. This changes with the use of
> > newer PCB
> > revisions. We make use of the factory flashed EEPROM data to detect
> > the
> > PCB revision and select the fitting RAM settings.
> > 
> > Changes in v2:
> > - fix wrong RAM Timing values as pointed out by Yannic
> > - removed superfluous goto
> > - removed blank line at EOF
> > - fix string conversion to integer
> > - fix typo s/revsions/revisions
> 
> Could you please help review v2?

Yes, I will do it early next week.

> 
> Thanks