From: Thomas Chou <thomas@wytron.com.tw>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] dm: implement a cfi flash uclass
Date: Fri, 9 Oct 2015 21:31:59 +0800 [thread overview]
Message-ID: <5617C1CF.4020408@wytron.com.tw> (raw)
In-Reply-To: <CAPnjgZ20oJhdOvzYfAZRPDkxDKPhYO7xjB9dLsKBjG+Ku5P66g@mail.gmail.com>
Hi Simon,
On 10/09/2015 05:36 PM, Simon Glass wrote:
> Can you create a sandbox driver for this so you can add a test?
Yes. I will add a sandbox driver and test later.
>> @@ -348,6 +349,8 @@ static int initr_flash(void)
>> /* update start of FLASH memory */
>> #ifdef CONFIG_SYS_FLASH_BASE
>> bd->bi_flashstart = CONFIG_SYS_FLASH_BASE;
>> +#else
>> + bd->bi_flashstart = cfi_flash_bank_addr(0);
>> #endif
>
> Can we make this dynamic - i.e. only probe the device when it is used?
> Then we could remove initr_flash() in the DM case.
I will add this to the TODO list. Though the flash is probed to find the
size and print message here in initr_flash. It is almost the same time
for use.
>> +menu "CFI Flash Support"
>> +
>> +config DM_CFI_FLASH
>> + bool "Enable Driver Model for CFI Flash drivers"
>> + depends on DM
>> + help
>> + Enable driver model for CFI flash access. It uses the same API as
>> + drivers/mtd/cfi_flash.c. But now implemented by the uclass.
>
> In the help can you explain what CFI is and what it is for?
Yes, I will do.
>> +UCLASS_DRIVER(cfi_flash) = {
>> + .id = UCLASS_CFI_FLASH,
>> + .name = "cfi_flash",
>> + .per_device_auto_alloc_size = sizeof(struct cfi_flash_dev_priv),
>> +};
>> +
>> +struct cfi_flash_platdata {
>> + phys_addr_t base;
>> +};
>
> Can you put this declaration at the top of the file?
I will put it to the top, as I did it at the very early version.
> Is there a binding somewhere for this?
A dts binding of cfi-flash will be added.
>> +#ifdef CONFIG_DM_CFI_FLASH
>> +phys_addr_t cfi_flash_bank_addr(int i)
>> +{
>> + struct udevice *dev;
>> + int ret;
>> +
>> + ret = uclass_get_device(UCLASS_CFI_FLASH, i, &dev);
>> + if (ret)
>> + return ret;
>> + if (!dev)
>> + return -ENODEV;
>
> That function will never return a NULL dev, unless it returns an
> error. It is different from uclass_first_device(). Also are you sure
> you want uclass_get_device() and not uclass_get_device_by_seq()?
Yes, I should use by_seq. Thanks for reminding.
Best regards,
Thomas
next prev parent reply other threads:[~2015-10-09 13:31 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-08 7:34 [U-Boot] [PATCH] dm: implement a cfi flash uclass Thomas Chou
2015-10-09 9:36 ` Simon Glass
2015-10-09 13:31 ` Thomas Chou [this message]
2015-10-11 5:16 ` Thomas Chou
2015-10-11 5:41 ` Bin Meng
2015-10-11 7:25 ` Thomas Chou
2015-10-11 7:30 ` [U-Boot] [PATCH v2] " Thomas Chou
2015-10-11 7:54 ` Bin Meng
2015-10-11 8:54 ` Thomas Chou
2015-10-11 9:10 ` Bin Meng
2015-10-11 12:24 ` Thomas Chou
2015-10-11 12:43 ` Bin Meng
2015-10-11 13:29 ` Thomas Chou
2015-10-11 21:47 ` Simon Glass
2015-10-12 0:07 ` Thomas Chou
2015-10-12 3:07 ` Bin Meng
2015-10-11 9:35 ` Thomas Chou
2015-10-30 13:33 ` [U-Boot] [PATCH v3 1/3] dm: implement a MTD uclass Thomas Chou
2015-10-30 13:33 ` [U-Boot] [PATCH v3 2/3] cfi_flash: convert to driver model Thomas Chou
2015-11-02 8:20 ` Stefan Roese
2015-11-03 0:23 ` Thomas Chou
2015-11-03 5:56 ` Stefan Roese
2015-11-03 6:25 ` Thomas Chou
2015-11-03 7:22 ` Stefan Roese
2015-10-30 13:33 ` [U-Boot] [PATCH v3 3/3] nios2: use cfi flash " Thomas Chou
2015-11-03 13:09 ` [U-Boot] [PATCH v4 1/3] dm: implement a MTD uclass Thomas Chou
2015-11-03 13:09 ` [U-Boot] [PATCH v4 2/3] cfi_flash: convert to driver model Thomas Chou
2015-11-03 13:54 ` Stefan Roese
2015-11-06 1:09 ` Thomas Chou
2015-11-06 6:04 ` Stefan Roese
2015-11-06 6:33 ` Thomas Chou
2015-11-06 3:15 ` Simon Glass
2015-11-06 4:34 ` Thomas Chou
2015-11-06 23:58 ` Simon Glass
2015-11-03 13:09 ` [U-Boot] [PATCH v4 3/3] nios2: use cfi flash " Thomas Chou
2015-11-03 14:41 ` [U-Boot] [PATCH v4 1/3] dm: implement a MTD uclass Jagan Teki
2015-11-03 14:49 ` Thomas Chou
2015-11-03 14:55 ` Jagan Teki
2015-11-03 14:58 ` Jagan Teki
2015-11-04 3:12 ` Thomas Chou
2015-11-07 12:35 ` Jagan Teki
2015-11-07 13:43 ` Thomas Chou
2015-11-06 12:06 ` Simon Glass
2015-11-06 13:25 ` Thomas Chou
2015-11-06 23:58 ` Simon Glass
2015-11-07 7:57 ` [U-Boot] [PATCH v5 " Thomas Chou
2015-11-07 7:57 ` [U-Boot] [PATCH v5 2/3] cfi_flash: convert to driver model Thomas Chou
2015-11-09 20:24 ` Simon Glass
2015-12-06 8:23 ` Jagan Teki
2015-12-06 11:37 ` Thomas Chou
2015-12-06 13:10 ` Jagan Teki
2015-12-06 13:35 ` Thomas Chou
2015-12-06 15:03 ` Jagan Teki
2015-12-07 9:11 ` Thomas Chou
2015-11-07 7:57 ` [U-Boot] [PATCH v5 3/3] nios2: use cfi flash " Thomas Chou
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=5617C1CF.4020408@wytron.com.tw \
--to=thomas@wytron.com.tw \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox