Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 369237ab authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'renesas-r8a7778-ccf-and-multiplatform-for-v4.1' of...

Merge tag 'renesas-r8a7778-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform

Pull "Renesas ARM Based SoC r8a7778 CCF and Multiplatform Updates
for v4.1" from Simon Horman:

* Add CCF and them multiplatform support to r8a7778 SoC and its
  bockw board.

* tag 'renesas-r8a7778-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (21 commits)
  ARM: shmobile: r8a7778: enable multiplatform target
  ARM: shmobile: bockw: add sound to DT
  ARM: shmobile: r8a7778: add sound to DT
  ARM: shmobile: bockw: add devices hooked up to i2c0 to DT
  DT: i2c: add trivial binding for OKI ML86V7667 video decoder
  ARM: shmobile: r8a7778: common clock framework CPG driver
  ARM: shmobile: bockw dts: set extal clock frequency
  ARM: shmobile: bockw dts: Move Ethernet node to BSC
  ARM: shmobile: r8a7778 dtsi: Add Bus State Controller node
  ARM: shmobile: bockw: add USB, VIN pin descriptions to DT
  ARM: shmobile: r8a7778: add internal ethernet controller to DT
  ARM: shmobile: r8a7778: add MSTP clock assignments to DT
  ARM: shmobile: r8a7778: implement SoC and board CCF support
  ARM: shmobile: r8a7778: Common clock framework DT description
  ARM: shmobile: r8a7778: add CPG register bits header
  ARM: shmobile: r8a7778: synchronize dts with reference platform
  drivers: bus: Add Simple Power-Managed Bus Driver
  drivers: bus: Add Renesas Bus State Controller (BSC) DT Bindings
  drivers: bus: Add Simple Power-Managed Bus DT Bindings
  drivers: bus: Sort Makefile entries alphabetically
  ...
parents 605e0f90 3915d36f
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
Renesas Bus State Controller (BSC)
==================================

The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus
Bridge", or "External Bus Interface") can be found in several Renesas ARM SoCs.
It provides an external bus for connecting multiple external devices to the
SoC, driving several chip select lines, for e.g. NOR FLASH, Ethernet and USB.

While the BSC is a fairly simple memory-mapped bus, it may be part of a PM
domain, and may have a gateable functional clock.
Before a device connected to the BSC can be accessed, the PM domain
containing the BSC must be powered on, and the functional clock
driving the BSC must be enabled.

The bindings for the BSC extend the bindings for "simple-pm-bus".


Required properties
  - compatible: Must contain an SoC-specific value, and "renesas,bsc" and
		"simple-pm-bus" as fallbacks.
                SoC-specific values can be:
		"renesas,bsc-r8a73a4" for R-Mobile APE6 (r8a73a4)
		"renesas,bsc-sh73a0" for SH-Mobile AG5 (sh73a0)
  - #address-cells, #size-cells, ranges: Must describe the mapping between
		parent address and child address spaces.
  - reg: Must contain the base address and length to access the bus controller.

Optional properties:
  - interrupts: Must contain a reference to the BSC interrupt, if available.
  - clocks: Must contain a reference to the functional clock, if available.
  - power-domains: Must contain a reference to the PM domain, if available.


Example:

	bsc: bus@fec10000 {
		compatible = "renesas,bsc-sh73a0", "renesas,bsc",
			     "simple-pm-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0 0x20000000>;
		reg = <0xfec10000 0x400>;
		interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&zb_clk>;
		power-domains = <&pd_a4s>;
	};
+44 −0
Original line number Diff line number Diff line
Simple Power-Managed Bus
========================

A Simple Power-Managed Bus is a transparent bus that doesn't need a real
driver, as it's typically initialized by the boot loader.

However, its bus controller is part of a PM domain, or under the control of a
functional clock.  Hence, the bus controller's PM domain and/or clock must be
enabled for child devices connected to the bus (either on-SoC or externally)
to function.

While "simple-pm-bus" follows the "simple-bus" set of properties, as specified
in ePAPR, it is not an extension of "simple-bus".


Required properties:
  - compatible: Must contain at least "simple-pm-bus".
		Must not contain "simple-bus".
		It's recommended to let this be preceded by one or more
		vendor-specific compatible values.
  - #address-cells, #size-cells, ranges: Must describe the mapping between
		parent address and child address spaces.

Optional platform-specific properties for clock or PM domain control (at least
one of them is required):
  - clocks: Must contain a reference to the functional clock(s),
  - power-domains: Must contain a reference to the PM domain.
Please refer to the binding documentation for the clock and/or PM domain
providers for more details.


Example:

	bsc: bus@fec10000 {
		compatible = "renesas,bsc-sh73a0", "renesas,bsc",
			     "simple-pm-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0 0x20000000>;
		reg = <0xfec10000 0x400>;
		interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&zb_clk>;
		power-domains = <&pd_a4s>;
	};
+25 −0
Original line number Diff line number Diff line
* Renesas R8A7778 Clock Pulse Generator (CPG)

The CPG generates core clocks for the R8A7778. It includes two PLLs and
several fixed ratio dividers

Required Properties:

  - compatible: Must be "renesas,r8a7778-cpg-clocks"
  - reg: Base address and length of the memory resource used by the CPG
  - #clock-cells: Must be 1
  - clock-output-names: The names of the clocks. Supported clocks are
    "plla", "pllb", "b", "out", "p", "s", and "s1".


Example
-------

	cpg_clocks: cpg_clocks@ffc80000 {
		compatible = "renesas,r8a7778-cpg-clocks";
		reg = <0xffc80000 0x80>;
		#clock-cells = <1>;
		clocks = <&extal_clk>;
		clock-output-names = "plla", "pllb", "b",
				     "out", "p", "s", "s1";
	};
+1 −0
Original line number Diff line number Diff line
@@ -77,6 +77,7 @@ nxp,pca9556 Octal SMBus and I2C registered interface
nxp,pca9557		8-bit I2C-bus and SMBus I/O port with reset
nxp,pcf8563		Real-time clock/calendar
nxp,pcf85063		Tiny Real-Time Clock
oki,ml86v7667		OKI ML86V7667 video decoder
ovti,ov5642		OV5642: Color CMOS QSXGA (5-megapixel) Image Sensor with OmniBSI and Embedded TrueFocus
pericom,pt7c4338	Real-time Clock Module
plx,pex8648		48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
+1 −0
Original line number Diff line number Diff line
@@ -477,6 +477,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \
	r7s72100-genmai.dtb \
	r8a73a4-ape6evm.dtb \
	r8a7740-armadillo800eva.dtb \
	r8a7778-bockw.dtb \
	r8a7779-marzen.dtb \
	r8a7790-lager.dtb \
	r8a7791-henninger.dtb \
Loading