RFC of_boardconfig

John Crispin blogic at openwrt.org
Sat Nov 26 00:52:40 EST 2011


Hi All,

before starting to implement the following proposed wrappers, i wanted
to get some more views on the feasibility of these wrappers.

On most routers that OpenWRT supports, we will find a sector within a
MTD device that holds the board specific info like MAC, wifi calibration
data ...

These wrappers try to provide a generic representation of these board
configuration sectors.

Thank you,
John



Documentation/devicetree/bindings/boardconfig.txt -->

The boardconfig master node requires the following properties:
- compatible    - should be set to "boardconfig"
- partition     - the partition that the data is stored in
                        "<&partition offset size>"

boardconfig slave nodes require the following properties:
- label         - the name that the config element gets exported by
- data          - information describing the actual data
                        "<offset size validator>"

both node types allow to set the following optional properties
- magic         - check for magic sequence at correct offset
                        <offset byte1 byte2 ... byteN>
- no-export     - if this property is set the data will *not* be
		  exported via sysfs

It is possible to define N of these sections within the device tree.

Boardconfig example for a device with 2 macs and a wmac eeprom:
        eep: boardconfig {
                compatible = "boarconfig";
                partition = <&boardconfpart 0x0 0x100>;
                magic = <0x0 0x11 0x22>;
                lanmac {
                        label = "LAN";
                        data = <0x100 0x6>;
                };

                wanmac {
                        label = "WAN";
                        data = <0x106 0x6>;
                };

                ath9keeprom {
                        label = "eeprom";
                        partition = <0x200 0x200>;
                        magic = <0x0 0x55 0xaa 0xaa 0x55>;
                        no-export;
                };
        };

you can are then able to reference these properties from other nodes:
        ethernet {
                compatible = "ethernet";
                phy-mode = "mii";
                //mac-address = [ 00 11 22 33 44 55 ];
                mac-boardconf = <&eep lanmac>;
        };




More information about the devicetree-discuss mailing list