soc: ti: add k3 platforms chipid module driver
authorGrygorii Strashko <grygorii.strashko@ti.com>
Thu, 28 May 2020 03:39:14 +0000 (20:39 -0700)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Thu, 28 May 2020 03:39:14 +0000 (20:39 -0700)
commit907a2b7e2fc746ac3b57b7eb64c220b81d74fc42
tree038747ac1c82c9e42d2aba0b862c4567a1df2308
parent232150cc32ea375dc5d6b0a05ecab224c87ca7ee
soc: ti: add k3 platforms chipid module driver

The Texas Instruments K3 Multicore SoC platforms have chipid module which
is represented by CTRLMMR_xxx_JTAGID register and contains information
about SoC id and revision.
 Bits:
  31-28 VARIANT Device variant
  27-12 PARTNO  Part number
  11-1  MFG     Indicates TI as manufacturer (0x17)
  1             Always 1

This patch adds corresponding driver to identify the TI K3 SoC family and
revision, and registers this information with the SoC bus. It is available
under /sys/devices/soc0/ for user space, and can be checked, where needed,
in Kernel using soc_device_match().

Identification is done by:
- checking MFG to be TI ID
 - retrieving Device variant (revision)
 - retrieving Part number and convert it to the family
 - retrieving machine from DT "/model"

Example J721E:
  # cat /sys/devices/soc0/{machine,family,revision}
  Texas Instruments K3 J721E SoC
  J721E
  SR1.0

Example AM65x:
  # cat /sys/devices/soc0/{machine,family,revision}
  Texas Instruments AM654 Base Board
  AM65X
  SR1.0

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
drivers/soc/ti/Kconfig
drivers/soc/ti/Makefile
drivers/soc/ti/k3-socinfo.c [new file with mode: 0644]