[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