17f44205eSMasahiro Yamada# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 27f44205eSMasahiro Yamada%YAML 1.2 37f44205eSMasahiro Yamada--- 47f44205eSMasahiro Yamada$id: http://devicetree.org/schemas/bus/socionext,uniphier-system-bus.yaml# 57f44205eSMasahiro Yamada$schema: http://devicetree.org/meta-schemas/core.yaml# 67f44205eSMasahiro Yamada 77f44205eSMasahiro Yamadatitle: UniPhier System Bus 87f44205eSMasahiro Yamada 97f44205eSMasahiro Yamadadescription: | 107f44205eSMasahiro Yamada The UniPhier System Bus is an external bus that connects on-board devices to 117f44205eSMasahiro Yamada the UniPhier SoC. It is a simple (semi-)parallel bus with address, data, and 127f44205eSMasahiro Yamada some control signals. It supports up to 8 banks (chip selects). 137f44205eSMasahiro Yamada 147f44205eSMasahiro Yamada Before any access to the bus, the bus controller must be configured; the bus 157f44205eSMasahiro Yamada controller registers provide the control for the translation from the offset 167f44205eSMasahiro Yamada within each bank to the CPU-viewed address. The needed setup includes the 177f44205eSMasahiro Yamada base address, the size of each bank. Optionally, some timing parameters can 187f44205eSMasahiro Yamada be optimized for faster bus access. 197f44205eSMasahiro Yamada 207f44205eSMasahiro Yamadamaintainers: 217f44205eSMasahiro Yamada - Masahiro Yamada <yamada.masahiro@socionext.com> 227f44205eSMasahiro Yamada 237f44205eSMasahiro Yamadaproperties: 247f44205eSMasahiro Yamada compatible: 257f44205eSMasahiro Yamada const: socionext,uniphier-system-bus 267f44205eSMasahiro Yamada 277f44205eSMasahiro Yamada reg: 287f44205eSMasahiro Yamada maxItems: 1 297f44205eSMasahiro Yamada 307f44205eSMasahiro Yamada "#address-cells": 317f44205eSMasahiro Yamada description: | 327f44205eSMasahiro Yamada The first cell is the bank number (chip select). 337f44205eSMasahiro Yamada The second cell is the address offset within the bank. 347f44205eSMasahiro Yamada const: 2 357f44205eSMasahiro Yamada 367f44205eSMasahiro Yamada "#size-cells": 377f44205eSMasahiro Yamada const: 1 387f44205eSMasahiro Yamada 397f44205eSMasahiro Yamada ranges: 407f44205eSMasahiro Yamada description: | 417f44205eSMasahiro Yamada Provide address translation from the System Bus to the parent bus. 427f44205eSMasahiro Yamada 437f44205eSMasahiro Yamada Note: 447f44205eSMasahiro Yamada The address region(s) that can be assigned for the System Bus is 457f44205eSMasahiro Yamada implementation defined. Some SoCs can use 0x00000000-0x0fffffff and 467f44205eSMasahiro Yamada 0x40000000-0x4fffffff, while other SoCs only 0x40000000-0x4fffffff. 477f44205eSMasahiro Yamada There might be additional limitations depending on SoCs and the boot mode. 487f44205eSMasahiro Yamada The address translation is arbitrary as long as the banks are assigned in 497f44205eSMasahiro Yamada the supported address space with the required alignment and they do not 507f44205eSMasahiro Yamada overlap one another. 517f44205eSMasahiro Yamada 527f44205eSMasahiro Yamada For example, it is possible to map: 537f44205eSMasahiro Yamada bank 0 to 0x42000000-0x43ffffff, bank 5 to 0x46000000-0x46ffffff 547f44205eSMasahiro Yamada It is also possible to map: 557f44205eSMasahiro Yamada bank 0 to 0x48000000-0x49ffffff, bank 5 to 0x44000000-0x44ffffff 567f44205eSMasahiro Yamada There is no reason to stick to a particular translation mapping, but the 577f44205eSMasahiro Yamada "ranges" property should provide a "reasonable" default that is known to 587f44205eSMasahiro Yamada work. The software should initialize the bus controller according to it. 597f44205eSMasahiro Yamada 605be478f9SRob HerringpatternProperties: 615be478f9SRob Herring "^.*@[1-5],[1-9a-f][0-9a-f]+$": 625be478f9SRob Herring description: Devices attached to chip selects 635be478f9SRob Herring type: object 645be478f9SRob Herring 657f44205eSMasahiro Yamadarequired: 667f44205eSMasahiro Yamada - compatible 677f44205eSMasahiro Yamada - reg 687f44205eSMasahiro Yamada - "#address-cells" 697f44205eSMasahiro Yamada - "#size-cells" 707f44205eSMasahiro Yamada - ranges 717f44205eSMasahiro Yamada 725be478f9SRob HerringadditionalProperties: false 735be478f9SRob Herring 747f44205eSMasahiro Yamadaexamples: 757f44205eSMasahiro Yamada - | 767f44205eSMasahiro Yamada // In this example, 777f44205eSMasahiro Yamada // - the Ethernet device is connected at the offset 0x01f00000 of CS1 and 787f44205eSMasahiro Yamada // mapped to 0x43f00000 of the parent bus. 797f44205eSMasahiro Yamada // - the UART device is connected at the offset 0x00200000 of CS5 and 807f44205eSMasahiro Yamada // mapped to 0x46200000 of the parent bus. 817f44205eSMasahiro Yamada 8239eca91cSMasahiro Yamada system-bus@58c00000 { 837f44205eSMasahiro Yamada compatible = "socionext,uniphier-system-bus"; 847f44205eSMasahiro Yamada reg = <0x58c00000 0x400>; 857f44205eSMasahiro Yamada #address-cells = <2>; 867f44205eSMasahiro Yamada #size-cells = <1>; 877f44205eSMasahiro Yamada ranges = <1 0x00000000 0x42000000 0x02000000>, 887f44205eSMasahiro Yamada <5 0x00000000 0x46000000 0x01000000>; 897f44205eSMasahiro Yamada 900fb24d1eSMasahiro Yamada ethernet@1,1f00000 { 917f44205eSMasahiro Yamada compatible = "smsc,lan9115"; 927f44205eSMasahiro Yamada reg = <1 0x01f00000 0x1000>; 937f44205eSMasahiro Yamada interrupts = <0 48 4>; 947f44205eSMasahiro Yamada phy-mode = "mii"; 957f44205eSMasahiro Yamada }; 967f44205eSMasahiro Yamada 970fb24d1eSMasahiro Yamada serial@5,200000 { 987f44205eSMasahiro Yamada compatible = "ns16550a"; 997f44205eSMasahiro Yamada reg = <5 0x00200000 0x20>; 1007f44205eSMasahiro Yamada interrupts = <0 49 4>; 1017f44205eSMasahiro Yamada clock-frequency = <12288000>; 1027f44205eSMasahiro Yamada }; 1037f44205eSMasahiro Yamada }; 104