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

Commit 64ebda3a authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'arm/soc/for-4.4/rpi-dt-v2' of https://github.com/Broadcom/stblinux into next/dt

This pull request contains the DT changes for BCM2835 in 4.4.  It
pulls in clk/clk-bcm2835 (which Stephen Boyd has said would be stable)
because the DT changes to enable the clock driver need the driver
itself to be present. These changes include the following:

- Eric Anholt, moves the bcm2835 clock driver under bcm/ where it belongs with
  other Broadcom clock providers drivers, defines the binding for new clock
  driver, adds support for programming the BCM2835 audio domain, adds the DDC I2C
  controller to Device Tree, and finally migrates the Device Tree to use the new
  clock driver binding

- Lubomir Rintel adds support for the Raspberry Pi Model A+ and B revision 2, and
  remove the I2S controller which is non-existent on Raspberry Pi Model B

- Stefan Wahren adds an uart0 label for referencing the UART adapter

* tag 'arm/soc/for-4.4/rpi-dt-v2' of https://github.com/Broadcom/stblinux

:
  ARM: bcm2835: Add the DDC I2C controller to the device tree.
  ARM: bcm2835: Switch to using the new clock driver support.
  ARM: bcm2835: dt: Add Raspberry Pi Model A+
  ARM: bcm2835: dt: Add Raspberry Pi Model B rev2
  ARM: bcm2835: dt: Raspberry Pi Model B had no I2S
  ARM: bcm2835: add label for uart0
  clk: bcm2835: Add support for programming the audio domain clocks
  clk: bcm2835: Add binding docs for the new platform clock driver.
  clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers.

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 5f760486 121432c7
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
Broadcom BCM2835 CPRMAN clocks

This binding uses the common clock binding:
    Documentation/devicetree/bindings/clock/clock-bindings.txt

The CPRMAN clock controller generates clocks in the audio power domain
of the BCM2835.  There is a level of PLLs deriving from an external
oscillator, a level of PLL dividers that produce channels off of the
few PLLs, and a level of mostly-generic clock generators sourcing from
the PLL channels.  Most other hardware components source from the
clock generators, but a few (like the ARM or HDMI) will source from
the PLL dividers directly.

Required properties:
- compatible:	Should be "brcm,bcm2835-cprman"
- #clock-cells:	Should be <1>. The permitted clock-specifier values can be
		  found in include/dt-bindings/clock/bcm2835.h
- reg:		Specifies base physical address and size of the registers
- clocks:	The external oscillator clock phandle

Example:

	clk_osc: clock@3 {
		compatible = "fixed-clock";
		reg = <3>;
		#clock-cells = <0>;
		clock-output-names = "osc";
		clock-frequency = <19200000>;
	};

	clocks: cprman@7e101000 {
		compatible = "brcm,bcm2835-cprman";
		#clock-cells = <1>;
		reg = <0x7e101000 0x2000>;
		clocks = <&clk_osc>;
	};

	i2c0: i2c@7e205000 {
		compatible = "brcm,bcm2835-i2c";
		reg = <0x7e205000 0x1000>;
		interrupts = <2 21>;
		clocks = <&clocks BCM2835_CLOCK_VPU>;
		#address-cells = <1>;
		#size-cells = <0>;
	};
+3 −1
Original line number Diff line number Diff line
@@ -58,7 +58,9 @@ dtb-$(CONFIG_ARCH_AXXIA) += \
	axm5516-amarillo.dtb
dtb-$(CONFIG_ARCH_BCM2835) += \
	bcm2835-rpi-b.dtb \
	bcm2835-rpi-b-plus.dtb
	bcm2835-rpi-b-rev2.dtb \
	bcm2835-rpi-b-plus.dtb \
	bcm2835-rpi-a-plus.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
	bcm4708-asus-rt-ac56u.dtb \
	bcm4708-asus-rt-ac68u.dtb \
+30 −0
Original line number Diff line number Diff line
/dts-v1/;
#include "bcm2835-rpi.dtsi"

/ {
	compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
	model = "Raspberry Pi Model A+";

	leds {
		act {
			gpios = <&gpio 47 0>;
		};

		pwr {
			label = "PWR";
			gpios = <&gpio 35 0>;
			default-state = "keep";
			linux,default-trigger = "default-on";
		};
	};
};

&gpio {
	pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;

	/* I2S interface */
	i2s_alt0: i2s_alt0 {
		brcm,pins = <18 19 20 21>;
		brcm,function = <BCM2835_FSEL_ALT0>;
	};
};
+23 −0
Original line number Diff line number Diff line
/dts-v1/;
#include "bcm2835-rpi.dtsi"

/ {
	compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
	model = "Raspberry Pi Model B rev2";

	leds {
		act {
			gpios = <&gpio 16 1>;
		};
	};
};

&gpio {
	pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;

	/* I2S interface */
	i2s_alt2: i2s_alt2 {
		brcm,pins = <28 29 30 31>;
		brcm,function = <BCM2835_FSEL_ALT2>;
	};
};
+1 −7
Original line number Diff line number Diff line
@@ -13,11 +13,5 @@
};

&gpio {
	pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;

	/* I2S interface */
	i2s_alt2: i2s_alt2 {
		brcm,pins = <28 29 30 31>;
		brcm,function = <BCM2835_FSEL_ALT2>;
	};
	pinctrl-0 = <&gpioout &alt0 &alt3>;
};
Loading