From: rnayak@ti.com (Rajendra Nayak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: DRA752: add detection of SoC information
Date: Tue, 20 May 2014 11:34:56 +0530 [thread overview]
Message-ID: <537AF088.4000506@ti.com> (raw)
In-Reply-To: <1400513231-25092-1-git-send-email-nm@ti.com>
On Monday 19 May 2014 08:57 PM, Nishanth Menon wrote:
> Currently the files in /sys/devices/soc0/ show no information about
> DRA7. Few userspace programs do depend on this information to make SoC
> specific support. So update logic to detect the relevant information and
> provide to userspace.
>
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
> based on v3.15-rc5
>
> Test log: http://slexy.org/view/s2FDZatq6f
>
> arch/arm/mach-omap2/id.c | 37 +++++++++++++++++++++++++++++++++++++
> arch/arm/mach-omap2/io.c | 1 +
> arch/arm/mach-omap2/soc.h | 5 +++++
> 3 files changed, 43 insertions(+)
>
> diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
> index 157412e..71bf216 100644
> --- a/arch/arm/mach-omap2/id.c
> +++ b/arch/arm/mach-omap2/id.c
> @@ -628,6 +628,41 @@ void __init omap5xxx_check_revision(void)
> pr_info("%s %s\n", soc_name, soc_rev);
> }
>
> +void __init dra7xxx_check_revision(void)
> +{
> + u32 idcode;
> + u16 hawkeye;
> + u8 rev;
> +
> + idcode = read_tap_reg(OMAP_TAP_IDCODE);
> + hawkeye = (idcode >> 12) & 0xffff;
> + rev = (idcode >> 28) & 0xff;
> + switch (hawkeye) {
> + case 0xb990:
> + switch (rev) {
> + case 0:
> + omap_revision = DRA752_REV_ES1_0;
> + break;
> + case 1:
> + default:
> + omap_revision = DRA752_REV_ES1_1;
> + }
> + break;
So we are back to checking revisions based on idcode register then?
This patch was posted almost a year back and was shot down by you
included saying we need to use dt compatibles for it.
https://www.mail-archive.com/linux-omap at vger.kernel.org/msg93136.html
> +
> + default:
> + /* Unknown default to latest silicon rev as default*/
> + pr_warn("%s: unknown idcode=0x%08x (hawkeye=0x%08x,rev=0x%d)\n",
> + __func__, idcode, hawkeye, rev);
> + omap_revision = DRA752_REV_ES1_1;
> + }
> +
> + sprintf(soc_name, "DRA%03x", omap_rev() >> 16);
> + sprintf(soc_rev, "ES%d.%d", (omap_rev() >> 12) & 0xf,
> + (omap_rev() >> 8) & 0xf);
> +
> + pr_info("%s %s\n", soc_name, soc_rev);
> +}
> +
> /*
> * Set up things for map_io and processor detection later on. Gets called
> * pretty much first thing from board init. For multi-omap, this gets
> @@ -669,6 +704,8 @@ static const char * __init omap_get_family(void)
> return kasprintf(GFP_KERNEL, "OMAP5");
> else if (soc_is_am43xx())
> return kasprintf(GFP_KERNEL, "AM43xx");
> + else if (soc_is_dra7xx())
> + return kasprintf(GFP_KERNEL, "DRA7");
> else
> return kasprintf(GFP_KERNEL, "Unknown");
> }
> diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
> index f14f9ac..4ec3b4a 100644
> --- a/arch/arm/mach-omap2/io.c
> +++ b/arch/arm/mach-omap2/io.c
> @@ -693,6 +693,7 @@ void __init dra7xx_init_early(void)
> omap_prm_base_init();
> omap_cm_base_init();
> omap44xx_prm_init();
> + dra7xxx_check_revision();
> dra7xx_powerdomains_init();
> dra7xx_clockdomains_init();
> dra7xx_hwmod_init();
> diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h
> index 30abcc8..de2a34c 100644
> --- a/arch/arm/mach-omap2/soc.h
> +++ b/arch/arm/mach-omap2/soc.h
> @@ -459,10 +459,15 @@ IS_OMAP_TYPE(3430, 0x3430)
> #define OMAP5430_REV_ES2_0 (OMAP54XX_CLASS | (0x30 << 16) | (0x20 << 8))
> #define OMAP5432_REV_ES2_0 (OMAP54XX_CLASS | (0x32 << 16) | (0x20 << 8))
>
> +#define DRA7XX_CLASS 0x07000000
> +#define DRA752_REV_ES1_0 (DRA7XX_CLASS | (0x52 << 16) | (0x10 << 8))
> +#define DRA752_REV_ES1_1 (DRA7XX_CLASS | (0x52 << 16) | (0x11 << 8))
> +
> void omap2xxx_check_revision(void);
> void omap3xxx_check_revision(void);
> void omap4xxx_check_revision(void);
> void omap5xxx_check_revision(void);
> +void dra7xxx_check_revision(void);
> void omap3xxx_check_features(void);
> void ti81xx_check_features(void);
> void am33xx_check_features(void);
>
next prev parent reply other threads:[~2014-05-20 6:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-19 15:27 [PATCH] ARM: DRA752: add detection of SoC information Nishanth Menon
2014-05-20 0:34 ` Tony Lindgren
2014-05-20 6:04 ` Rajendra Nayak [this message]
2014-05-20 11:20 ` Nishanth Menon
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=537AF088.4000506@ti.com \
--to=rnayak@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).