ASpeed LPC Control ================== This binding defines the LPC control for ASpeed SoCs. Partitions of the LPC bus can be access by other processors on the system, address ranges on the bus can map accesses from another processor to regions of the ASpeed SoC memory space. Reserved Memory: ================ The driver provides functionality to map the LPC bus to a region of ASpeed ram. A phandle to a reserved memory node must be provided so that the driver can safely use this region. Flash: ====== The driver provides functionality to unmap the LPC bus from ASpeed RAM, historically the default mapping has been to the SPI flash controller on the ASpeed SoC, a phandle to this node should be supplied. Device Node: ============ As LPC bus configuration registers are at the start of the LPC bus memory space, it makes most sense for the device to be within the LPC host node. See Documentation/devicetree/bindings/mfd/aspeed-lpc.txt for more information. This does not have to be the case, provided the reg property can give the full address of the LPC bus. Required properties: -------------------- - compatible: "aspeed,ast2400-lpc-ctrl" for ASpeed ast2400 SoCs "aspeed,ast2500-lpc-ctrl" for ASpeed ast2500 SoCs - reg: Location and size of the configuration registers for the LPC bus. Note that if the device node is within the LPC host node then base is relative to that. - memory-region: phandle of the reserved memory region - flash: phandle of the SPI flash controller Example: -------- reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; ... flash_memory: region@54000000 { compatible = "aspeed,ast2400-lpc-ctrl"; no-map; reg = <0x54000000 0x04000000>; /* 64M */ }; }; host_pnor: spi@1e630000 { reg = < 0x1e630000 0x18 0x30000000 0x02000000 >; #address-cells = <1>; #size-cells = <0>; compatible = "aspeed,ast2400-smc"; ... }; lpc-ctrl@0 { compatible = "aspeed,ast2400-lpc-ctrl"; memory-region = <&flash_memory>; flash = <&host_pnor>; reg = <0x0 0x80>; };