Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile fixes for vc4-kms-v3d-rpi2 #4

Closed
wants to merge 79 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
8e2bdce
Main bcm2708/bcm2709 linux port
popcornmix May 12, 2013
aa090a7
power: Add power driver
popcornmix Jun 16, 2015
9409d45
Add bcm2708_gpio driver
popcornmix Oct 8, 2014
4b9ec02
mailbox: bcm2708: Add bcm2708-vcio
notro May 1, 2015
c921ec1
Add dwc_otg driver
popcornmix May 1, 2013
560486d
bcm2708 watchdog driver
popcornmix May 1, 2013
7014dbd
bcm2708 framebuffer driver
popcornmix Jun 17, 2015
5efe288
dmaengine: Add support for BCM2708
koalo Nov 22, 2013
be30ad8
MMC: added alternative MMC driver
weiszg Aug 15, 2014
81cff32
Adding bcm2835-sdhost driver, and an overlay to enable it
Mar 25, 2015
34fb9ba
cma: Add vc_cma driver to enable use of CMA
popcornmix Jul 2, 2013
0e6896e
bcm2708: alsa sound driver
popcornmix Mar 26, 2012
b2b5ab2
bcm2708 vchiq driver
popcornmix Jul 2, 2013
6290b45
vc_mem: Add vc_mem driver
popcornmix Jun 17, 2015
e9ebded
vcsm: VideoCore shared memory service for BCM2835
Jul 22, 2014
7f769de
Add hwrng (hardware random number generator) driver
popcornmix Jul 2, 2013
68990b2
lirc: added support for RaspberryPi GPIO
Jun 16, 2012
b359d4f
Add cpufreq driver
popcornmix Jul 2, 2013
37e551c
Added hwmon/thermal driver for reporting core temperature. Thanks Dorian
popcornmix Mar 26, 2013
4957488
Add Chris Boot's spi driver.
popcornmix Jun 17, 2015
854b4bf
Add Chris Boot's i2c driver
popcornmix Jun 17, 2015
bb7d2b6
bcm2835: add v4l2 camera device
Jan 30, 2013
2cc5e0d
scripts/dtc: Update to upstream version with overlay patches
Jan 23, 2015
f9c79c8
scripts: Add mkknlimg and knlinfo scripts from tools repo
May 11, 2015
885d18f
fdt: Add support for the CONFIG_CMDLINE_EXTEND option
Dec 5, 2014
a7be1e9
BCM2708: Add core Device Tree support
notro Jul 9, 2014
5fb6c16
fbdev: add FBIOCOPYAREA ioctl
ssvb Jun 17, 2013
e734144
Add non-mainline source for rtl8192cu wireless driver version v4.0.2_…
popcornmix Sep 3, 2012
6759149
rtl8192cu: Add PID for D-Link DWA 131
popcornmix Feb 10, 2015
d938c07
Speed up console framebuffer imageblit function
hglm Jun 20, 2013
a1372fb
Allow mac address to be set in smsc95xx
popcornmix Mar 26, 2013
bc59f62
enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (a…
popcornmix May 8, 2013
15cda73
Added Device IDs for August DVB-T 205
popcornmix Jul 2, 2013
6b11a0c
config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cos…
popcornmix Dec 18, 2013
afaaecf
ASoC: Add support for BCM2708
koalo Nov 22, 2013
2563ead
ASoC: Add support for PCM5102A codec
koalo Nov 22, 2013
7b432fa
BCM2708: Add I2S support to board file
koalo Nov 22, 2013
a44c3e7
ASoC: Add support for HifiBerry DAC
koalo Nov 22, 2013
8146ef3
BCM2708: Add HifiBerry DAC to board file
koalo Nov 22, 2013
85cb691
ASoC: BCM2708: Add support for RPi-DAC
koalo Dec 6, 2013
1f265ac
ASoC: wm8804: Implement MCLK configuration options, add 32bit support…
Jan 15, 2014
58acd70
ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patc…
Jan 15, 2014
81050f0
BCM2708: Added support for HiFiBerry Digi board Board initalization b…
Jan 16, 2014
f75c8c7
ASoC: wm8804: Set idle_bias_off to false Idle bias has been change to…
Jan 16, 2014
c1fd764
Add IQaudIO Sound Card support for Raspberry Pi
Mar 8, 2014
45be46e
vmstat: Workaround for issue where dirty page count goes negative
popcornmix Jun 18, 2014
c325cd9
hid: Reduce default mouse polling interval to 60Hz
popcornmix Jul 14, 2014
e151697
Added support for HiFiBerry DAC+
Aug 4, 2014
2460a14
Added driver for HiFiBerry Amp amplifier add-on board
Aug 4, 2014
7385e0e
bcm2708: Allow option card devices to be configured via DT
Apr 13, 2015
99e04c0
Adding Device Tree support for some RPi audio cards
popcornmix Apr 13, 2015
8da554b
Added support to reserve/enable a GPIO pin to be used from pps-gpio m…
tjko Oct 30, 2014
a0bfa6b
Update ds1307 driver for device-tree support
ryco-dev Feb 1, 2015
21ccb81
BCM270x_DT: Add pwr_led, and the required "input" trigger
Feb 6, 2015
25ae55d
bcm2709: Simplify and strip down IRQ handler
popcornmix Jun 20, 2014
af6f256
Fix LED "input" trigger implementation for 3.19
Feb 12, 2015
b84892c
pinctrl-bcm2835: Set base to 0 give expected gpio numbering
notro Jul 10, 2014
ea795f7
pinctrl-bcm2835: bcm2835_gpio_direction_output must set the value
Feb 4, 2015
bc6abbf
pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53
Feb 24, 2015
5aa6eae
pinctrl-bcm2835: Only request the interrupts listed in the DTB
Feb 26, 2015
65e2faf
enc28j60: Add device tree compatible string and an overlay
Feb 27, 2015
02bb677
Add driver for rpi-proto
Mar 25, 2015
92e725e
Add Device Tree support for RPi-DAC.
clivem Apr 2, 2015
215f24e
config: Add default configs
popcornmix Apr 13, 2015
ad032de
smsx95xx: fix crimes against truesize
Feb 19, 2015
f9f9051
smsc95xx: Disable turbo mode by default
popcornmix Apr 17, 2015
192e02b
Add blk_pos parameter to mmc multi_io_quirk callback
Apr 17, 2015
24f444e
bcm2835: bcm2835_defconfig
notro Apr 29, 2015
806251b
BCM270x_DT: Add mailbox bcm2708-vcio
notro May 1, 2015
4cf93c2
rpi-ft5406: Add touchscreen driver for pi LCD display
ghollingworth May 12, 2015
b84e9b8
Improve __copy_to_user and __copy_from_user performance
Oct 13, 2014
134b3dd
bcm2835-audio: Create the platform device if the DT node is disabled
May 27, 2015
b552d5f
ARM: bcm2835: Set Serial number and Revision
notro Jun 3, 2015
f977b89
platform: Add force_core command line setting to boot from a differen…
popcornmix Jun 16, 2015
6e781aa
Merge vc4-kms-v3d into vc4-kms-v3d-rpi2.
anholt Jun 18, 2015
f5bd442
ARM: BCM2709: Make the upstream-targeted mbox functions work on 2709 …
anholt May 13, 2015
c21dbb6
drm/vc4: Switch the driver from 2835 to 2708/2709.
anholt Apr 16, 2015
d969706
Remove references to now undefined IRQF_DISABLED
gohai Jun 18, 2015
fb914f4
spi-bcm2708.c is missing
gohai Jun 18, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 29 additions & 2 deletions Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,35 @@
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";
14 changes: 14 additions & 0 deletions Documentation/devicetree/bindings/arm/bcm/raspberrypi,firmware.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Raspberry Pi VideoCore firmware driver

Required properties:

- compatible: Should be "rasbperrypi,firmware"
- mboxes: Phandle to the firmware device's Mailbox.
(See: ../mailbox/mailbox.txt for more information)

Example:

firmware {
compatible = "raspberrypi,firmware";
mboxes = <&mailbox>;
};
26 changes: 26 additions & 0 deletions Documentation/devicetree/bindings/mailbox/brcm,bcm2835-mbox.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Broadcom BCM2835 VideoCore mailbox IPC

Required properties:

- compatible: Should be "brcm,bcm2835-mbox"
- reg: Specifies base physical address and size of the registers
- interrupts: The interrupt number
See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
- #mbox-cells: Specifies the number of cells needed to encode a mailbox
channel. The value shall be 0, since there is only one
mailbox channel implemented by the device.

Example:

mailbox: mailbox@7e00b800 {
compatible = "brcm,bcm2835-mbox";
reg = <0x7e00b880 0x40>;
interrupts = <0 1>;
#mbox-cells = <0>;
};

firmware: firmware {
compatible = "raspberrypi,firmware";
mboxes = <&mailbox>;
#power-domain-cells = <1>;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
NVIDIA Tegra XUSB mailbox
=========================

The Tegra XUSB mailbox is used by the Tegra xHCI controller's firmware to
communicate requests to the host and PHY drivers.

Refer to ./mailbox.txt for generic information about mailbox device-tree
bindings.

Required properties:
--------------------
- compatible: For Tegra124, must contain "nvidia,tegra124-xusb-mbox".
Otherwise, must contain '"nvidia,<chip>-xusb-mbox",
"nvidia,tegra124-xusb-mbox"' where <chip> is tegra132.
- #mbox-cells: Should be 0. There is only one physical channel.

Example:
--------
mailbox {
compatible = "nvidia,tegra124-xusb-mbox";

#mbox-cells = <0>;
};

usb-host {
...
mboxes = <&xusb_mbox>;
mbox-names = "xusb";
...
};
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/vendor-prefixes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ radxa Radxa
raidsonic RaidSonic Technology GmbH
ralink Mediatek/Ralink Technology Corp.
ramtron Ramtron International
raspberrypi Raspberry Pi Foundation
realtek Realtek Semiconductor Corp.
renesas Renesas Electronics Corporation
ricoh Ricoh Co. Ltd.
Expand Down
60 changes: 60 additions & 0 deletions Documentation/video4linux/bcm2835-v4l2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@

BCM2835 (aka Raspberry Pi) V4L2 driver
======================================

1. Copyright
============

Copyright © 2013 Raspberry Pi (Trading) Ltd.

2. License
==========

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

3. Quick Start
==============

You need a version 1.0 or later of v4l2-ctl, available from:
git://git.linuxtv.org/v4l-utils.git

$ sudo modprobe bcm2835-v4l2

Turn on the overlay:

$ v4l2-ctl --overlay=1

Turn off the overlay:

$ v4l2-ctl --overlay=0

Set the capture format for video:

$ v4l2-ctl --set-fmt-video=width=1920,height=1088,pixelformat=4

(Note: 1088 not 1080).

Capture:

$ v4l2-ctl --stream-mmap=3 --stream-count=100 --stream-to=somefile.h264

Stills capture:

$ v4l2-ctl --set-fmt-video=width=2592,height=1944,pixelformat=3
$ v4l2-ctl --stream-mmap=3 --stream-count=1 --stream-to=somefile.jpg

List of available formats:

$ v4l2-ctl --list-formats
6 changes: 6 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2153,6 +2153,12 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi.git
S: Maintained
N: bcm2835

BROADCOM BCM2835 DRM DRIVER
M: Eric Anholt <[email protected]>
T: git git://github.com/anholt/linux
S: Maintained
F: drivers/gpu/drm/vc4/*

BROADCOM BCM33XX MIPS ARCHITECTURE
M: Kevin Cernekee <[email protected]>
L: [email protected]
Expand Down
39 changes: 39 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,42 @@ choice
default ARCH_VERSATILE if !MMU
default ARCH_MULTIPLATFORM if MMU

config ARCH_BCM2708
bool "Broadcom BCM2708 family"
select CPU_V6
select ARM_AMBA
select HAVE_SCHED_CLOCK
select NEED_MACH_GPIO_H
select NEED_MACH_MEMORY_H
select COMMON_CLK
select ARCH_HAS_CPUFREQ
select GENERIC_CLOCKEVENTS
select ARM_ERRATA_411920
select MACH_BCM2708
select VC4
select FIQ
help
This enables support for Broadcom BCM2708 boards.

config ARCH_BCM2709
bool "Broadcom BCM2709 family"
select ARCH_HAS_BARRIERS if SMP
select CPU_V7
select HAVE_SMP
select ARM_AMBA
select MIGHT_HAVE_CACHE_L2X0
select HAVE_SCHED_CLOCK
select NEED_MACH_MEMORY_H
select NEED_MACH_IO_H
select COMMON_CLK
select ARCH_HAS_CPUFREQ
select GENERIC_CLOCKEVENTS
select MACH_BCM2709
select VC4
select FIQ
help
This enables support for Broadcom BCM2709 boards.

config ARCH_MULTIPLATFORM
bool "Allow multiple platforms to be selected"
depends on MMU
Expand Down Expand Up @@ -823,6 +859,9 @@ config ARCH_VIRT
# Kconfigs may be included either alphabetically (according to the
# plat- suffix) or along side the corresponding mach-* source.
#
source "arch/arm/mach-bcm2708/Kconfig"
source "arch/arm/mach-bcm2709/Kconfig"

source "arch/arm/mach-mvebu/Kconfig"

source "arch/arm/mach-alpine/Kconfig"
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,14 @@ choice
options; the platform specific options are deprecated
and will be soon removed.

config DEBUG_BCM2708_UART0
bool "Broadcom BCM2708 UART0 (PL011)"
depends on MACH_BCM2708
help
Say Y here if you want the debug print routines to direct
their output to UART 0. The port must have been initialised
by the boot-loader before use.

endchoice

config DEBUG_AT91_UART
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000

# Machine directory name. This list is sorted alphanumerically
# by CONFIG_* macro name.
machine-$(CONFIG_ARCH_BCM2708) += bcm2708
machine-$(CONFIG_ARCH_BCM2709) += bcm2709
machine-$(CONFIG_ARCH_ALPINE) += alpine
machine-$(CONFIG_ARCH_AT91) += at91
machine-$(CONFIG_ARCH_AXXIA) += axxia
Expand Down
27 changes: 27 additions & 0 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
ifeq ($(CONFIG_OF),y)

dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-cm.dtb
dtb-$(CONFIG_BCM2709_DT) += bcm2709-rpi-2-b.dtb

# Raspberry Pi
ifeq ($(CONFIG_BCM2708_DT),y)
RPI_DT_OVERLAYS=y
endif
ifeq ($(CONFIG_BCM2709_DT),y)
RPI_DT_OVERLAYS=y
endif
ifeq ($(CONFIG_ARCH_BCM2835),y)
RPI_DT_OVERLAYS=y
endif

dtb-$(CONFIG_ARCH_ALPINE) += \
alpine-db.dtb
dtb-$(CONFIG_MACH_ASM9260) += \
Expand Down Expand Up @@ -660,7 +676,18 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
mt6592-evb.dtb \
mt8127-moose.dtb \
mt8135-evbp1.dtb

targets += dtbs dtbs_install
targets += $(dtb-y)

endif

always := $(dtb-y)
clean-files := *.dtb

# Enable fixups to support overlays on BCM2708 platforms
ifeq ($(RPI_DT_OVERLAYS),y)
DTC_FLAGS ?= -@
endif

subdir-y += overlays
Loading