Path: blob/master/Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml
26308 views
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause1%YAML 1.22---3$id: http://devicetree.org/schemas/bus/socionext,uniphier-system-bus.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: UniPhier System Bus78description: |9The UniPhier System Bus is an external bus that connects on-board devices to10the UniPhier SoC. It is a simple (semi-)parallel bus with address, data, and11some control signals. It supports up to 8 banks (chip selects).1213Before any access to the bus, the bus controller must be configured; the bus14controller registers provide the control for the translation from the offset15within each bank to the CPU-viewed address. The needed setup includes the16base address, the size of each bank. Optionally, some timing parameters can17be optimized for faster bus access.1819maintainers:20- Masahiro Yamada <yamada.masahiro@socionext.com>2122properties:23compatible:24const: socionext,uniphier-system-bus2526reg:27maxItems: 12829"#address-cells":30description: |31The first cell is the bank number (chip select).32The second cell is the address offset within the bank.33const: 23435"#size-cells":36const: 13738ranges:39description: |40Provide address translation from the System Bus to the parent bus.4142Note:43The address region(s) that can be assigned for the System Bus is44implementation defined. Some SoCs can use 0x00000000-0x0fffffff and450x40000000-0x4fffffff, while other SoCs only 0x40000000-0x4fffffff.46There might be additional limitations depending on SoCs and the boot mode.47The address translation is arbitrary as long as the banks are assigned in48the supported address space with the required alignment and they do not49overlap one another.5051For example, it is possible to map:52bank 0 to 0x42000000-0x43ffffff, bank 5 to 0x46000000-0x46ffffff53It is also possible to map:54bank 0 to 0x48000000-0x49ffffff, bank 5 to 0x44000000-0x44ffffff55There is no reason to stick to a particular translation mapping, but the56"ranges" property should provide a "reasonable" default that is known to57work. The software should initialize the bus controller according to it.5859patternProperties:60"^.*@[1-5],[1-9a-f][0-9a-f]+$":61description: Devices attached to chip selects62type: object6364required:65- compatible66- reg67- "#address-cells"68- "#size-cells"69- ranges7071additionalProperties: false7273examples:74- |75// In this example,76// - the Ethernet device is connected at the offset 0x01f00000 of CS1 and77// mapped to 0x43f00000 of the parent bus.78// - the UART device is connected at the offset 0x00200000 of CS5 and79// mapped to 0x46200000 of the parent bus.8081system-bus@58c00000 {82compatible = "socionext,uniphier-system-bus";83reg = <0x58c00000 0x400>;84#address-cells = <2>;85#size-cells = <1>;86ranges = <1 0x00000000 0x42000000 0x02000000>,87<5 0x00000000 0x46000000 0x01000000>;8889ethernet@1,1f00000 {90compatible = "smsc,lan9115";91reg = <1 0x01f00000 0x1000>;92interrupts = <0 48 4>;93phy-mode = "mii";94};9596serial@5,200000 {97compatible = "ns16550a";98reg = <5 0x00200000 0x20>;99interrupts = <0 49 4>;100clock-frequency = <12288000>;101};102};103104105