[PATCH] Initial DT support for SIMpad devices.
Jochen Friedrich
jochen at scram.de
Tue Nov 22 01:32:56 EST 2011
Hi Jamie,
>> + localbus {
>> + compatible = "intel,sa1110-localbus";
>
> Could this claim compatibility with simple-bus?
I wasn't sure about this. I took a look in the powerpc DTS files for reference and they used
some kind of <chip>-localbus compatible entries. So I took the same approach here.
>> + uart2: serial at 0x80050000 {
>> + compatible = "intel,sa1100-uart";
>> + reg =<0x80050000 0x24>;
>> + interrupts =<17>;
>> + status = "disabled";
>
> Hmm, I couldn't see status defined in the UART binding or where it was
> used... Is this required?
status is a global property and it's being used in drivers/of/base.c, of_device_is_available().
It is used in other dtsi files like e.g. at91sam9g45.dtsi as well to define optional nodes.
>> +/ {
>> + model = "SIEMENS, SIMpad";
>> + compatible = "siemens,simpad";
>
> It may be worth adding the SoC compatible string after the board one for
> completeness.
Do you mean something like this?
compatible = "siemens,simpad", "intel,sa1100";
>> + chosen {
>> + bootargs = "console=ttySA0";
>
> It is preferred for the bootloader to set these up rather than having
> them statically in the DTS if at all possible.
Yes, my boot loader does this, but simpad support is not in official U-BOOT yet.
This allows testing with a different boot loader like the hh.org one and a Linux
binary with DTB appended.
>> +const struct of_device_id simpad_bus_match_table[] = {
>> + { .compatible = "simple-bus", },
>> + { .compatible = "intel,sa1110-localbus", },
>> + {} /* Empty terminated list */
>> +};
>> +
>> +static void __init simpad_dt_device_init(void)
>> +{
>> + of_platform_populate(NULL, simpad_bus_match_table, NULL, NULL);
>> +}
>
> If the localbus was compatible with simple-bus then you could do:
>
> of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
>
> and remove simpad_bus_match_table.
True, I just wasn't sure if it's OK to do so.
>> +static const char *simpad_dt_board_compat[] __initdata = {
>
> I think this should be __initconst.
OK.
Thanks,
Jochen
More information about the devicetree-discuss
mailing list