$FreeBSD$ Marvell Device bus (localbus) configuration. ============================================ 1. Properties for localbus nodes 1.1 ranges Property: ranges Value type: encoded as arbitrary number of localbus nodes specifiers. Description: ranges property defines values used for mapping devices connected to localbus, in Marvell devices it is used also for setting decoding windows. a) child node address-cells: - first cell: number of bank (chip select) - second cell: (Marvell devices) Target ID for decoding windows setup b) parent node address cells: - address offset: used with parent's node base address to specify base address of mapped device c) child node size-cells: - size: defines amount of memory that should be reserved for device 1.2 bank-count Property: bank-count Value type: Description: The bank_count property defines maximum number of banks on localbus node. Bank is most often interpreted as device chip select, but may also describe another device (e.g. SPI flash). 1.3 Example localbus@0 { #address-cells = <2>; #size-cells = <1>; compatible = "mrvl,lbc"; bank-count = <5>; /* This reflects CPU decode windows setup. */ ranges = <0x0 0x2f 0xb2200000 0x00100000 0x1 0x3e 0xb2100000 0x00100000 0x2 0x3d 0xb0000000 0x02000000 0x3 0x3b 0xb2000000 0x00100000>; }; 2. Properties for localbus consumer nodes: 2.1 reg Property: reg Value type: Description: A standard property required for localbus child nodes. Defines the device memory region. a) first cell: number of bank (chip select) b) address offset: used with address offset from parent's ranges for corresponding bank to specify base address of the device c) size: defines size of the device memory region 2.2 Example nor@0,0 { #address-cells = <1>; #size-cells = <1>; compatible = "cfi-flash"; reg = <0x0 0x0 0x00100000>; };