Commit d0d89bb6 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'rpi-dt-for-armsoc-v4.2' of...

Merge tag 'rpi-dt-for-armsoc-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi into next/dt

Merge "RaspberryPi Device Tree changes due for v4.2" from Lee Jones:

* tag 'rpi-dt-for-armsoc-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi:
  ARM: bcm2835: dt: Use 0x4 prefix for DMA bus addresses to SDRAM.
  ARM: bcm2835: dt: Add the mailbox to the device tree
  ARM: bcm2835: dt: Fix i2c0 node name
  ARM: bcm2835: dt: Use pinctrl header
  ARM: bcm2835: dt: Add header file for pinctrl constants
  ARM: bcm2835: dt: Add root properties for Raspberry Pi
  ARM: bcm2835: dt: Add vendor prefix for Raspberry Pi
parents 48793410 1215baa7
Broadcom BCM2835 device tree bindings Broadcom BCM2835 device tree bindings
------------------------------------------- -------------------------------------------
Boards with the BCM2835 SoC shall have the following properties: Raspberry Pi Model A
Required root node properties:
compatible = "raspberrypi,model-a", "brcm,bcm2835";
Required root node property: Raspberry Pi Model A+
Required root node properties:
compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
Raspberry Pi Model B
Required root node properties:
compatible = "raspberrypi,model-b", "brcm,bcm2835";
Raspberry Pi Model B (no P5)
early model B with I2C0 rather than I2C1 routed to the expansion header
Required root node properties:
compatible = "raspberrypi,model-b-i2c0", "brcm,bcm2835";
Raspberry Pi Model B rev2
Required root node properties:
compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
Raspberry Pi Model B+
Required root node properties:
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
Raspberry Pi Compute Module
Required root node properties:
compatible = "raspberrypi,compute-module", "brcm,bcm2835";
Generic BCM2835 board
Required root node properties:
compatible = "brcm,bcm2835"; compatible = "brcm,bcm2835";
...@@ -160,6 +160,7 @@ radxa Radxa ...@@ -160,6 +160,7 @@ radxa Radxa
raidsonic RaidSonic Technology GmbH raidsonic RaidSonic Technology GmbH
ralink Mediatek/Ralink Technology Corp. ralink Mediatek/Ralink Technology Corp.
ramtron Ramtron International ramtron Ramtron International
raspberrypi Raspberry Pi Foundation
realtek Realtek Semiconductor Corp. realtek Realtek Semiconductor Corp.
renesas Renesas Electronics Corporation renesas Renesas Electronics Corporation
ricoh Ricoh Co. Ltd. ricoh Ricoh Co. Ltd.
......
/dts-v1/; /dts-v1/;
/include/ "bcm2835-rpi.dtsi" #include "bcm2835-rpi.dtsi"
/ { / {
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
...@@ -25,6 +25,6 @@ &gpio { ...@@ -25,6 +25,6 @@ &gpio {
/* I2S interface */ /* I2S interface */
i2s_alt0: i2s_alt0 { i2s_alt0: i2s_alt0 {
brcm,pins = <18 19 20 21>; brcm,pins = <18 19 20 21>;
brcm,function = <4>; /* alt0 */ brcm,function = <BCM2835_FSEL_ALT0>;
}; };
}; };
/dts-v1/; /dts-v1/;
/include/ "bcm2835-rpi.dtsi" #include "bcm2835-rpi.dtsi"
/ { / {
compatible = "raspberrypi,model-b", "brcm,bcm2835"; compatible = "raspberrypi,model-b", "brcm,bcm2835";
...@@ -18,6 +18,6 @@ &gpio { ...@@ -18,6 +18,6 @@ &gpio {
/* I2S interface */ /* I2S interface */
i2s_alt2: i2s_alt2 { i2s_alt2: i2s_alt2 {
brcm,pins = <28 29 30 31>; brcm,pins = <28 29 30 31>;
brcm,function = <6>; /* alt2 */ brcm,function = <BCM2835_FSEL_ALT2>;
}; };
}; };
/include/ "bcm2835.dtsi" #include "bcm2835.dtsi"
/ { / {
memory { memory {
...@@ -21,17 +21,17 @@ &gpio { ...@@ -21,17 +21,17 @@ &gpio {
gpioout: gpioout { gpioout: gpioout {
brcm,pins = <6>; brcm,pins = <6>;
brcm,function = <1>; /* GPIO out */ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
}; };
alt0: alt0 { alt0: alt0 {
brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>; brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
brcm,function = <4>; /* alt0 */ brcm,function = <BCM2835_FSEL_ALT0>;
}; };
alt3: alt3 { alt3: alt3 {
brcm,pins = <48 49 50 51 52 53>; brcm,pins = <48 49 50 51 52 53>;
brcm,function = <7>; /* alt3 */ brcm,function = <BCM2835_FSEL_ALT3>;
}; };
}; };
......
/include/ "skeleton.dtsi" #include <dt-bindings/pinctrl/bcm2835.h>
#include "skeleton.dtsi"
/ { / {
compatible = "brcm,bcm2835"; compatible = "brcm,bcm2835";
...@@ -14,6 +15,7 @@ soc { ...@@ -14,6 +15,7 @@ soc {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges = <0x7e000000 0x20000000 0x02000000>; ranges = <0x7e000000 0x20000000 0x02000000>;
dma-ranges = <0x40000000 0x00000000 0x20000000>;
timer@7e003000 { timer@7e003000 {
compatible = "brcm,bcm2835-system-timer"; compatible = "brcm,bcm2835-system-timer";
...@@ -60,6 +62,13 @@ rng@7e104000 { ...@@ -60,6 +62,13 @@ rng@7e104000 {
reg = <0x7e104000 0x10>; reg = <0x7e104000 0x10>;
}; };
mailbox: mailbox@7e00b800 {
compatible = "brcm,bcm2835-mbox";
reg = <0x7e00b880 0x40>;
interrupts = <0 1>;
#mbox-cells = <0>;
};
gpio: gpio@7e200000 { gpio: gpio@7e200000 {
compatible = "brcm,bcm2835-gpio"; compatible = "brcm,bcm2835-gpio";
reg = <0x7e200000 0xb4>; reg = <0x7e200000 0xb4>;
...@@ -112,7 +121,7 @@ spi: spi@7e204000 { ...@@ -112,7 +121,7 @@ spi: spi@7e204000 {
status = "disabled"; status = "disabled";
}; };
i2c0: i2c@20205000 { i2c0: i2c@7e205000 {
compatible = "brcm,bcm2835-i2c"; compatible = "brcm,bcm2835-i2c";
reg = <0x7e205000 0x1000>; reg = <0x7e205000 0x1000>;
interrupts = <2 21>; interrupts = <2 21>;
......
/*
* Header providing constants for bcm2835 pinctrl bindings.
*
* Copyright (C) 2015 Stefan Wahren <stefan.wahren@i2se.com>
*
* The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License
* Version 2 at the following locations:
*
* http://www.opensource.org/licenses/gpl-license.html
* http://www.gnu.org/copyleft/gpl.html
*/
#ifndef __DT_BINDINGS_PINCTRL_BCM2835_H__
#define __DT_BINDINGS_PINCTRL_BCM2835_H__
/* brcm,function property */
#define BCM2835_FSEL_GPIO_IN 0
#define BCM2835_FSEL_GPIO_OUT 1
#define BCM2835_FSEL_ALT5 2
#define BCM2835_FSEL_ALT4 3
#define BCM2835_FSEL_ALT0 4
#define BCM2835_FSEL_ALT1 5
#define BCM2835_FSEL_ALT2 6
#define BCM2835_FSEL_ALT3 7
#endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment