[U-Boot] [PATCH 2/2 v4] powerpc/p1023rds: Disable nor flash node and enable nand flash node
Chunhe Lan
b25806 at freescale.com
Mon Aug 29 11:02:27 CEST 2011
On Mon, 29 Aug 2011 15:42:09 +0800, Wolfgang Denk <wd at denx.de> wrote:
> Dear Chunhe Lan,
>
> In message <1314602152-9114-1-git-send-email-Chunhe.Lan at freescale.com>
> you wrote:
>> In the p1023rds, accessing exclusively nor flash or nand flash device by
>> BR0/OR0.
> ...
>> When booting from nor flash, the status of nor node is null that means
>> it
>> is enabled and the status of nand node is disabled in the default dts
>> file,
>> so do not do anything.
>
> It would be more intuitive to the reader, when the enabled node would
> use an explicit
>
> status = "enabled";
>
>> +#ifdef CONFIG_NAND_U_BOOT
>> + do_fixup_by_path_string(fdt, "nor_flash", "status", "disabled");
>> + do_fixup_by_path_string(fdt, "nand_flash", "status", "okay");
>> +#endif
>
> What does ""okay" mean? This is not documented anywhere. Is this
> supposed to mean "enabled"? Then please write "enabled" - for certain
> configurations it is definitely OK to disable the device.
In the kernel, whether the status of node is enabled or not, it is
determined by
of_device_is_available( ).
The following content of of_device_is_available( ):
245 /**
246 * of_device_is_available - check if a device is available for use
247 *
248 * @device: Node to check for availability
249 *
250 * Returns 1 if the status property is absent or set to "okay" or
"ok",
251 * 0 otherwise
252 */
253 int of_device_is_available(const struct device_node *device)
254 {
255 const char *status;
256 int statlen;
257
258 status = of_get_property(device, "status", &statlen);
259 if (status == NULL)
260 return 1;
261
262 if (statlen > 0) {
263 if (!strcmp(status, "okay") || !strcmp(status, "ok"))
264 return 1;
265 }
266
267 return 0;
268 }
" return 1" is enabled.
" return 0" is disabled.
So, we do NOT use "enabled" to set status.
Thanks.
-Jack Lan
> Best regards,
>
> Wolfgang Denk
>
More information about the U-Boot
mailing list