All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wenyou Yang <wenyou.yang@microchip.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 11/12] ARM: at91: Get the Chip ID of SAMA5D2 SiP
Date: Wed, 6 Sep 2017 13:23:42 +0800	[thread overview]
Message-ID: <20170906052343.17989-12-wenyou.yang@microchip.com> (raw)
In-Reply-To: <20170906052343.17989-1-wenyou.yang@microchip.com>

From: Wenyou Yang <wenyou.yang@atmel.com>

The SAMA5D2 SiP(System in Package) has different Chip IDs in the
CHIPID and CHIP_EXID registers.

Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

Changes in v4: None
Changes in v3: None
Changes in v2: None

 arch/arm/mach-at91/armv7/sama5d2_devices.c | 26 ++++++++++++++++++++++++--
 arch/arm/mach-at91/include/mach/sama5d2.h  |  7 ++++++-
 2 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-at91/armv7/sama5d2_devices.c b/arch/arm/mach-at91/armv7/sama5d2_devices.c
index 978eac29bd..de1d9b5bfb 100644
--- a/arch/arm/mach-at91/armv7/sama5d2_devices.c
+++ b/arch/arm/mach-at91/armv7/sama5d2_devices.c
@@ -10,11 +10,20 @@
 #include <asm/arch/clk.h>
 #include <asm/arch/sama5d2.h>
 
-char *get_cpu_name()
+int cpu_is_sama5d2(void)
 {
+	unsigned int chip_id = get_chip_id();
+
+	return ((chip_id == ARCH_ID_SAMA5D2) ||
+		(chip_id == ARCH_ID_SAMA5D2_SIP)) ? 1 : 0;
+}
+
+char *get_cpu_name(void)
+{
+	unsigned int chip_id = get_chip_id();
 	unsigned int extension_id = get_extension_chip_id();
 
-	if (cpu_is_sama5d2()) {
+	if (chip_id == ARCH_ID_SAMA5D2) {
 		switch (extension_id) {
 		case ARCH_EXID_SAMA5D21CU:
 			return "SAMA5D21";
@@ -41,6 +50,19 @@ char *get_cpu_name()
 		}
 	}
 
+	if ((chip_id == ARCH_ID_SAMA5D2) || (chip_id == ARCH_ID_SAMA5D2_SIP)) {
+		switch (extension_id) {
+		case ARCH_EXID_SAMA5D225C_D1M:
+			return "SAMA5D225 128M bits DDR2 SDRAM";
+		case ARCH_EXID_SAMA5D27C_D5M:
+			return "SAMA5D27 512M bits DDR2 SDRAM";
+		case ARCH_EXID_SAMA5D27C_D1G:
+			return "SAMA5D27 1G bits DDR2 SDRAM";
+		case ARCH_EXID_SAMA5D28C_D1G:
+			return "SAMA5D28 1G bits DDR2 SDRAM";
+		}
+	}
+
 	return "Unknown CPU type";
 }
 
diff --git a/arch/arm/mach-at91/include/mach/sama5d2.h b/arch/arm/mach-at91/include/mach/sama5d2.h
index 25c85411e5..49283ed86b 100644
--- a/arch/arm/mach-at91/include/mach/sama5d2.h
+++ b/arch/arm/mach-at91/include/mach/sama5d2.h
@@ -222,7 +222,11 @@
 #define ARCH_EXID_SAMA5D28CU	0x00000010
 #define ARCH_EXID_SAMA5D28CN	0x00000020
 
-#define cpu_is_sama5d2()	(get_chip_id() == ARCH_ID_SAMA5D2)
+#define ARCH_ID_SAMA5D2_SIP		0x8a5c08c2
+#define ARCH_EXID_SAMA5D225C_D1M	0x00000053
+#define ARCH_EXID_SAMA5D27C_D5M		0x00000032
+#define ARCH_EXID_SAMA5D27C_D1G		0x00000033
+#define ARCH_EXID_SAMA5D28C_D1G		0x00000013
 
 /* PIT Timer(PIT_PIIR) */
 #define CONFIG_SYS_TIMER_COUNTER	0xf804803c
@@ -233,6 +237,7 @@
 #ifndef __ASSEMBLY__
 unsigned int get_chip_id(void);
 unsigned int get_extension_chip_id(void);
+int cpu_is_sama5d2(void);
 unsigned int has_lcdc(void);
 char *get_cpu_name(void);
 #endif
-- 
2.13.0

  parent reply	other threads:[~2017-09-06  5:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-06  5:23 [U-Boot] [PATCH v4 00/12] board: atmel: Add new board SAMA5D27-SOM1-EK board Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 01/12] board: atmel: Create board/atmel/common folder Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 02/12] board: sama5d2_xplained: Replace code of setting mac addr Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 03/12] board: sama5d4_xplained: Set mac address from eeprom Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 04/12] lib: at91: Add logo files used via API of DM_VIDEO Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 05/12] atmel: common: Add function to display via DM_VIDEO's API Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 06/12] ARM: at91: spl: Adjust switching to oscillator for SAMA5D2 Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 07/12] ARM: at91: spl: Add mck function to lower rate while switching Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 08/12] ARM: at91: spl: Add boot device for boot from QSPI Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 09/12] board: sama5d2_xplained: Make SPL work on spiflash Wenyou Yang
2017-09-06  5:23 ` [U-Boot] [PATCH v4 10/12] ARM: at91: mach: Add missing defines of MPDDRC Wenyou Yang
2017-09-06  5:23 ` Wenyou Yang [this message]
2017-09-06  5:23 ` [U-Boot] [PATCH v4 12/12] board: atmel: Add SAMA5D27 SOM1 EK board Wenyou Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170906052343.17989-12-wenyou.yang@microchip.com \
    --to=wenyou.yang@microchip.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.