All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Mitch Bradley <wmb@firmworks.com>,
	Scott Wood <scottwood@freescale.com>,
	devicetree-discuss@lists.ozlabs.org, linuxppc-dev@ozlabs.org
Subject: Re: [PATCH] powerpc/fsl: add device tree binding for QE firmware
Date: Thu, 25 Mar 2010 12:03:17 -0500	[thread overview]
Message-ID: <4BAB9755.2080408@freescale.com> (raw)
In-Reply-To: <fa686aa41003250959v401d14e0g151aa54a57eea39@mail.gmail.com>

Grant Likely wrote:
> For indirect firmware, create a /chosen/firmware node.  Don't add a
> compatible property, 

Oh, I don't like that idea at all.  The compatible property is useful for me to know *how* to parse the binary blob.  

> compatible is for devices and this node is for
> blob data.

But the blob has a format.  For QE firmware, for example, it's this:

struct qe_firmware {
	struct qe_header {
		u32 length;	/* Length of the entire structure, in bytes */
		u8 magic[3];	/* Set to { 'Q', 'E', 'F' } */
		u8 version;	/* Version of this layout. First ver is '1' */
	} header;
	u8 id[62];		/* Null-terminated identifier string */
	u8 split;		/* 0 = shared I-RAM, 1 = split I-RAM */
	u8 count;		/* Number of microcode[] structures */
	struct {
		u16 model;	/* The SOC model  */
		u8 major;	/* The SOC revision major */
		u8 minor;	/* The SOC revision minor */
	} __attribute__ ((packed)) soc;
	u8 padding[4];		/* Reserved, for alignment */
	u64 extended_modes;	/* Extended modes */
	u32 vtraps[8];		/* Virtual trap addresses */
	u8 reserved[4];		/* Reserved, for future expansion */
	struct qe_microcode {
		u8 id[32];	/* Null-terminated identifier */
		u32 traps[16];	/* Trap addresses, 0 == ignore */
		u32 eccr;	/* The value for the ECCR register */
		u32 iram_offset;/* Offset into I-RAM for the code */
		u32 count;	/* Number of 32-bit words of the code */
		u32 code_offset;/* Offset of the actual microcode */
		u8 major;	/* The microcode version major */
		u8 minor;	/* The microcode version minor */
		u8 revision;	/* The microcode version revision */
		u8 padding;	/* Reserved, for alignment */
		u8 reserved[4];	/* Reserved, for future expansion */
	} __attribute__ ((packed)) microcode[1];
	/* All microcode binaries should be located here */
	/* CRC32 should be located here, after the microcode binaries */
} __attribute__ ((packed));

>  Put each firmware blob into a separate property, and make
> the names reasonable (ie. mpc<blah>-qe-firmware).  Have the QE
> reference the firmware blob by property name.

I don't like the idea of using the property name as a pseudo-compatible string.

-- 
Timur Tabi
Linux kernel developer at Freescale

  reply	other threads:[~2010-03-25 17:03 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-23 21:42 [PATCH] powerpc/fsl: add device tree binding for QE firmware Timur Tabi
2010-03-23 21:42 ` Timur Tabi
2010-03-24  6:07 ` Grant Likely
2010-03-24  6:07   ` Grant Likely
2010-03-24 12:05   ` Timur Tabi
2010-03-24 12:05     ` Timur Tabi
2010-03-24 17:00     ` Segher Boessenkool
2010-03-24 17:00       ` Segher Boessenkool
2010-03-24 17:07       ` Grant Likely
2010-03-24 17:07         ` Grant Likely
2010-03-24 17:31         ` Timur Tabi
2010-03-24 17:31           ` Timur Tabi
2010-03-24 18:10           ` Grant Likely
2010-03-24 18:10             ` Grant Likely
2010-03-24 18:21             ` Mitch Bradley
2010-03-24 18:21               ` Mitch Bradley
2010-03-24 18:25             ` Timur Tabi
2010-03-24 18:24           ` M. Warner Losh
2010-03-24 18:31             ` Timur Tabi
2010-03-24 18:31               ` Timur Tabi
2010-03-25  1:49           ` Segher Boessenkool
2010-03-25  1:49             ` Segher Boessenkool
2010-03-25 14:42             ` Timur Tabi
2010-03-25 14:42               ` Timur Tabi
2010-03-25 16:10               ` Grant Likely
2010-03-25 16:10                 ` Grant Likely
2010-03-25 16:34                 ` Scott Wood
2010-03-25 16:34                   ` Scott Wood
2010-03-25 16:46                   ` Timur Tabi
2010-03-25 16:46                     ` Timur Tabi
2010-03-26 18:23                     ` Rafal Jaworowski
2010-03-26 18:23                       ` Rafal Jaworowski
2010-03-25 23:53               ` M. Warner Losh
2010-03-25 23:53                 ` M. Warner Losh
2010-03-26  0:22                 ` Timur Tabi
2010-03-26  0:22                   ` Timur Tabi
2010-03-25 15:16             ` Scott Wood
2010-03-25 15:16               ` Scott Wood
2010-03-25 15:29               ` Mitch Bradley
2010-03-25 15:29                 ` Mitch Bradley
2010-03-25 16:16                 ` Grant Likely
2010-03-25 16:16                   ` Grant Likely
2010-03-25 16:36                   ` Timur Tabi
2010-03-25 16:36                     ` Timur Tabi
2010-03-25 16:50                     ` Scott Wood
2010-03-25 16:50                       ` Scott Wood
2010-03-25 16:59                     ` Grant Likely
2010-03-25 16:59                       ` Grant Likely
2010-03-25 17:03                       ` Timur Tabi [this message]
2010-03-25 17:35                         ` Grant Likely
2010-03-25 17:35                           ` Grant Likely
2010-03-25 18:05                           ` Timur Tabi
2010-03-25 19:53                           ` Scott Wood
2010-03-25 19:53                             ` Scott Wood
2010-03-25 20:04                             ` Timur Tabi
2010-03-25 21:54                               ` Grant Likely
2010-03-25 21:54                                 ` Grant Likely
2010-03-25 22:19                                 ` Timur Tabi
2010-03-25 22:19                                   ` Timur Tabi
2010-03-25 21:39                             ` Grant Likely
2010-03-25 21:39                               ` Grant Likely
2010-03-25 22:47                               ` Scott Wood
2010-03-25 22:47                                 ` Scott Wood
2010-03-25 21:22                       ` David Gibson
2010-03-25 21:22                         ` David Gibson
2010-03-26  1:26                     ` Grant Likely
2010-03-26  1:26                       ` Grant Likely
2010-03-26 15:17                       ` Timur Tabi
2010-03-26 15:17                         ` Timur Tabi
2010-03-26 18:20                         ` Grant Likely
2010-03-26 18:20                           ` Grant Likely
2010-03-26 18:39                           ` Timur Tabi
2010-03-26 18:44                             ` Grant Likely
2010-03-26 18:44                               ` Grant Likely
2010-03-26 18:48                               ` Timur Tabi
2010-03-26 18:48                                 ` Timur Tabi
2010-03-26 18:56                                 ` Grant Likely
2010-03-26 18:56                                   ` Grant Likely
2010-03-26 18:58                                 ` Mitch Bradley
2010-03-26 18:58                                   ` Mitch Bradley
2010-03-26 19:07                                   ` Grant Likely
2010-03-26 19:07                                     ` Grant Likely
2010-03-26 18:48                             ` Mitch Bradley
2010-03-26 18:48                               ` Mitch Bradley
2010-03-24 18:27         ` Scott Wood
2010-03-24 18:27           ` Scott Wood

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=4BAB9755.2080408@freescale.com \
    --to=timur@freescale.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=scottwood@freescale.com \
    --cc=wmb@firmworks.com \
    /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.