mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
This pull request contains Broadcom ARM-based SoC Device Tree changes:
- Rafal adds proper VCC GPIO to be fed to the USB host controllers for known BCM5301x devices needing that, he also enables earlycon, and enables the SPI-NOR flashes on relevant devices - Eric adds the VideoCore 4 Device Tree nodes to the BCM283x Device Tree and provides a DRM patch to kick out the simplefb framebuffer to avoid conflicts - Stephan adds proper CPU nodes for the ARM processor on the BCM2835 SoC Device Tree - Martin provides a binding fix for the DMA channel interrupt numbers and description -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJXG8vRAAoJEIfQlpxEBwcEDHYP/RlOgJ3ZR/Hi5HEatpgrmMXr 0woUBrOJBwYTwOr2CjM0WUYhcwHUdCu+/ttDW0e+2Aau3tEoTkIA8XkJ7f8TQHXV y5hxYqADcXIedgZvQNpDnGH3zLTBad8l/Na+9VQDiCLQ21p68aKrByavWtcWafDG tdmVXGcfE9PuDVvG7c+qIaHJZZmgP84NI0uSE671c0OS1PulQi7+auyluhfHVOTW I4Cgat+gR0WKaxgqkuIywDDd3wCKxCaXGmaIMQI2XKQ0VUBrJ+h1Wet+YBUrpNI5 sIzH/Zd0syd1HzWFB+xjA1aFi+su2rYlvF+lP0FAom/ZSaGhYw+Z0/UJf+i9CL6Z M1v5MO33aZu88TYRS4IFcmVvl2QYLfXbyA4WL1/KYRw2hWq46lbA1fWm9rMNoK93 a5q5Zyb5a60mAKOp53B9g4XKeqAxg9spaLK7Yk5Sdi+2Zel4g+g0WFD2nSry6plz hnc6wd88sPZBMMq2nWYC5cxNbSOzkcBXzDcLes1wqtG3MTZngBUDLYIvEMiWe5CI lT431vMSHJeBAAWg+CrZlAYZ+uEQsLA3HhqSJeXrcJ04pHOOp9W8o8sfxJ3TaNaK Bppuqd2YJhTatX+KwpoFKmgxudVsZ+lU9j/+r+gPCEc0iFTRDP7eZiyI5uG02v65 bt1zHKb+hO68jUmALZbI =UhGj -----END PGP SIGNATURE----- Merge tag 'arm-soc/for-4.7/devicetree' of http://github.com/Broadcom/stblinux into next/dt Merge "Broadcom ARM-based SoC Device Tree changes" from Florian Fainelli: - Rafal adds proper VCC GPIO to be fed to the USB host controllers for known BCM5301x devices needing that, he also enables earlycon, and enables the SPI-NOR flashes on relevant devices - Eric adds the VideoCore 4 Device Tree nodes to the BCM283x Device Tree and provides a DRM patch to kick out the simplefb framebuffer to avoid conflicts - Stephan adds proper CPU nodes for the ARM processor on the BCM2835 SoC Device Tree - Martin provides a binding fix for the DMA channel interrupt numbers and description * tag 'arm-soc/for-4.7/devicetree' of http://github.com/Broadcom/stblinux: ARM: BCM5301X: Add DT entry for SPI controller and NOR flash dt/bindings: bcm2835: correct description for DMA-int ARM: bcm2835: add CPU node for ARM core ARM: bcm2835: Add VC4 to the device tree. drm/vc4: Kick out the simplefb framebuffer before we set up KMS. ARM: BCM5301X: Enable earlycon on tested devices ARM: BCM5301X: Set vcc-gpio for USB controllers of few devices
This commit is contained in:
commit
312ce1d191
|
|
@ -71,8 +71,8 @@ Bank 1:
|
|||
24: DMA8
|
||||
25: DMA9
|
||||
26: DMA10
|
||||
27: DMA11
|
||||
28: DMA12
|
||||
27: DMA11-14 - shared interrupt for DMA 11 to 14
|
||||
28: DMAALL - triggers on all dma interrupts (including chanel 15)
|
||||
29: AUX
|
||||
30: ARM
|
||||
31: VPUDMA
|
||||
|
|
|
|||
|
|
@ -29,3 +29,7 @@ i2s_alt0: i2s_alt0 {
|
|||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,3 +22,7 @@ i2s_alt2: i2s_alt2 {
|
|||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -29,3 +29,7 @@ i2s_alt0: i2s_alt0 {
|
|||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,3 +22,7 @@ i2s_alt2: i2s_alt2 {
|
|||
brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -16,3 +16,7 @@ act {
|
|||
&gpio {
|
||||
pinctrl-0 = <&gpioout &alt0 &alt3>;
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -74,3 +74,12 @@ &pwm {
|
|||
&usb {
|
||||
power-domains = <&power RPI_POWER_DOMAIN_USB>;
|
||||
};
|
||||
|
||||
&v3d {
|
||||
power-domains = <&power RPI_POWER_DOMAIN_V3D>;
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,6 +3,17 @@
|
|||
/ {
|
||||
compatible = "brcm,bcm2835";
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,arm1176jzf-s";
|
||||
reg = <0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
ranges = <0x7e000000 0x20000000 0x02000000>;
|
||||
dma-ranges = <0x40000000 0x00000000 0x20000000>;
|
||||
|
|
|
|||
|
|
@ -33,3 +33,7 @@ i2s_alt0: i2s_alt0 {
|
|||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include <dt-bindings/pinctrl/bcm2835.h>
|
||||
#include <dt-bindings/clock/bcm2835.h>
|
||||
#include <dt-bindings/clock/bcm2835-aux.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "skeleton.dtsi"
|
||||
|
||||
/* This include file covers the common peripherals and configuration between
|
||||
|
|
@ -153,6 +154,18 @@ i2c0: i2c@7e205000 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
pixelvalve@7e206000 {
|
||||
compatible = "brcm,bcm2835-pixelvalve0";
|
||||
reg = <0x7e206000 0x100>;
|
||||
interrupts = <2 13>; /* pwa0 */
|
||||
};
|
||||
|
||||
pixelvalve@7e207000 {
|
||||
compatible = "brcm,bcm2835-pixelvalve1";
|
||||
reg = <0x7e207000 0x100>;
|
||||
interrupts = <2 14>; /* pwa1 */
|
||||
};
|
||||
|
||||
aux: aux@0x7e215000 {
|
||||
compatible = "brcm,bcm2835-aux";
|
||||
#clock-cells = <1>;
|
||||
|
|
@ -206,6 +219,12 @@ sdhci: sdhci@7e300000 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
hvs@7e400000 {
|
||||
compatible = "brcm,bcm2835-hvs";
|
||||
reg = <0x7e400000 0x6000>;
|
||||
interrupts = <2 1>;
|
||||
};
|
||||
|
||||
i2c1: i2c@7e804000 {
|
||||
compatible = "brcm,bcm2835-i2c";
|
||||
reg = <0x7e804000 0x1000>;
|
||||
|
|
@ -226,11 +245,39 @@ i2c2: i2c@7e805000 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
pixelvalve@7e807000 {
|
||||
compatible = "brcm,bcm2835-pixelvalve2";
|
||||
reg = <0x7e807000 0x100>;
|
||||
interrupts = <2 10>; /* pixelvalve */
|
||||
};
|
||||
|
||||
hdmi: hdmi@7e902000 {
|
||||
compatible = "brcm,bcm2835-hdmi";
|
||||
reg = <0x7e902000 0x600>,
|
||||
<0x7e808000 0x100>;
|
||||
interrupts = <2 8>, <2 9>;
|
||||
ddc = <&i2c2>;
|
||||
clocks = <&clocks BCM2835_PLLH_PIX>,
|
||||
<&clocks BCM2835_CLOCK_HSM>;
|
||||
clock-names = "pixel", "hdmi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb: usb@7e980000 {
|
||||
compatible = "brcm,bcm2835-usb";
|
||||
reg = <0x7e980000 0x10000>;
|
||||
interrupts = <1 9>;
|
||||
};
|
||||
|
||||
v3d: v3d@7ec00000 {
|
||||
compatible = "brcm,bcm2835-v3d";
|
||||
reg = <0x7ec00000 0x1000>;
|
||||
interrupts = <1 10>;
|
||||
};
|
||||
|
||||
vc4: gpu {
|
||||
compatible = "brcm,bcm2835-vc4";
|
||||
};
|
||||
};
|
||||
|
||||
clocks {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ / {
|
|||
model = "Buffalo WZR-1750DHP (BCM4708)";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory {
|
||||
|
|
@ -139,3 +139,11 @@ eject {
|
|||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ / {
|
|||
model = "Luxul XWC-1000 (BCM4708)";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory {
|
||||
|
|
@ -59,3 +59,7 @@ restart {
|
|||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi_nor {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,24 +17,13 @@ / {
|
|||
model = "Netgear R6250 V1 (BCM4708)";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x00000000 0x08000000>;
|
||||
};
|
||||
|
||||
axi@18000000 {
|
||||
usb3@23000 {
|
||||
reg = <0x00023000 0x1000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
|
|
@ -97,3 +86,7 @@ restart {
|
|||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ / {
|
|||
model = "SmartRG SR400ac";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory {
|
||||
|
|
@ -122,3 +122,7 @@ restart {
|
|||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi_nor {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ / {
|
|||
model = "Buffalo WZR-600DHP2 (BCM47081)";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory {
|
||||
|
|
|
|||
|
|
@ -126,3 +126,8 @@ eject {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&usb2 {
|
||||
vcc-gpio = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -106,3 +106,11 @@ restart {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ / {
|
|||
model = "D-Link DIR-885L";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
bootargs = "console=ttyS0,115200 earlycon";
|
||||
};
|
||||
|
||||
memory {
|
||||
|
|
@ -109,3 +109,7 @@ &uart0 {
|
|||
status = "okay";
|
||||
clock-frequency = <125000000>;
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -18,6 +18,10 @@
|
|||
/ {
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart0;
|
||||
};
|
||||
|
||||
chipcommonA {
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x00000000 0x18000000 0x00001000>;
|
||||
|
|
@ -207,6 +211,34 @@ chipcommon: chipcommon@0 {
|
|||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
usb2: usb2@21000 {
|
||||
reg = <0x00021000 0x1000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
|
||||
usb3: usb3@23000 {
|
||||
reg = <0x00023000 0x1000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
};
|
||||
|
||||
spi@29000 {
|
||||
reg = <0x00029000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
spi_nor: spi-nor@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
linux,part-probe = "ofpart", "bcm47xxpart";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lcpll0: lcpll0@1800c100 {
|
||||
|
|
|
|||
|
|
@ -153,6 +153,24 @@ static void vc4_match_add_drivers(struct device *dev,
|
|||
}
|
||||
}
|
||||
|
||||
static void vc4_kick_out_firmware_fb(void)
|
||||
{
|
||||
struct apertures_struct *ap;
|
||||
|
||||
ap = alloc_apertures(1);
|
||||
if (!ap)
|
||||
return;
|
||||
|
||||
/* Since VC4 is a UMA device, the simplefb node may have been
|
||||
* located anywhere in memory.
|
||||
*/
|
||||
ap->ranges[0].base = 0;
|
||||
ap->ranges[0].size = ~0;
|
||||
|
||||
remove_conflicting_framebuffers(ap, "vc4drmfb", false);
|
||||
kfree(ap);
|
||||
}
|
||||
|
||||
static int vc4_drm_bind(struct device *dev)
|
||||
{
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
|
|
@ -186,6 +204,8 @@ static int vc4_drm_bind(struct device *dev)
|
|||
if (ret)
|
||||
goto gem_destroy;
|
||||
|
||||
vc4_kick_out_firmware_fb();
|
||||
|
||||
ret = drm_dev_register(drm, 0);
|
||||
if (ret < 0)
|
||||
goto unbind_all;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user