Skip to content

bcm270x: Get bus address from Device Tree #1693

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

Closed
wants to merge 144 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
5f168ea
Revert "SUNRPC: Make NFS swap work with multipath"
popcornmix Apr 27, 2016
b57b907
smsx95xx: fix crimes against truesize
Feb 19, 2015
1b91528
smsc95xx: Disable turbo mode by default
popcornmix Apr 17, 2015
ea71b37
add smsc95xx packetsize module_param
samnazarko Apr 1, 2016
d95335f
Allow mac address to be set in smsc95xx
popcornmix Mar 26, 2013
326beec
smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default
popcornmix Aug 9, 2016
790d18e
serial: Take care starting a hung-up tty's port
Mar 9, 2016
bda0c49
Protect __release_resource against resources without parents
Mar 13, 2015
59df9e9
mm: Remove the PFN busy warning
anholt Dec 19, 2014
518dc33
BCM2835_DT: Fix I2S register map
rtiemann Jul 20, 2015
83ce9f1
irq-bcm2836: Prevent spurious interrupts, and trap them early
Dec 4, 2015
f4e282a
irqchip: bcm2835: Add FIQ support
notro Jun 12, 2015
d7817ee
irqchip: irq-bcm2835: Add 2836 FIQ support
notro Oct 23, 2015
f0857ea
spidev: Add "spidev" compatible string to silence warning
Jul 14, 2015
6bf68a2
serial: 8250: Don't crash when nr_uarts is 0
Jun 30, 2015
7543bd6
pinctrl-bcm2835: Set base to 0 give expected gpio numbering
notro Jul 10, 2014
314aafa
pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53
Feb 24, 2015
087946e
pinctrl-bcm2835: Only request the interrupts listed in the DTB
Feb 26, 2015
2a20b5b
pinctrl-bcm2835: Return pins to inputs when freed
May 6, 2016
f177dcc
spi-bcm2835: Support pin groups other than 7-11
Jun 24, 2015
96874b4
spi-bcm2835: Disable forced software CS
Jul 1, 2016
bbebb0c
ARM: bcm2835: Set Serial number and Revision
notro Jun 3, 2015
4eca98b
dmaengine: bcm2835: Load driver early and support legacy API
notro Oct 3, 2015
3cc6245
bcm2835: Add support for uart1
notro Aug 15, 2015
1426cf7
firmware: Updated mailbox header
popcornmix Jan 25, 2016
e0c8cc9
clk: bcm2835: Mark the VPU clock as critical
anholt Apr 26, 2016
abb7f9e
clk: bcm2835: Mark GPIO clocks enabled at boot as critical.
anholt May 10, 2016
f91627e
clk: bcm2835: Skip PLLC clocks when deciding on a new clock parent
anholt Apr 26, 2016
a47ea61
clk: bcm2835: Mark the CM SDRAM clock's parent as critical
anholt Jun 1, 2016
467295b
Enable upstream BCM2835 auxiliar mini UART support
popcornmix Oct 3, 2016
67563c7
rtc: Add SPI alias for pcf2123 driver
Jun 15, 2016
b8dd54d
ARM: bcm2708: Enable building power domain driver.
anholt Apr 19, 2016
61dcee3
Main bcm2708/bcm2709 linux port
popcornmix May 12, 2013
19a8491
reboot: Use power off rather than busy spinning when halt is requested
popcornmix Apr 5, 2016
d4ca226
squash: include ARCH_BCM2708 / ARCH_BCM2709
popcornmix Nov 11, 2015
cf2afc7
Add dwc_otg driver
popcornmix May 1, 2013
5609963
bcm2708 framebuffer driver
popcornmix Jun 17, 2015
907a0b7
dmaengine: Add support for BCM2708
koalo Nov 22, 2013
794afca
MMC: added alternative MMC driver
weiszg Aug 15, 2014
1daa639
Adding bcm2835-sdhost driver, and an overlay to enable it
Mar 25, 2015
8a2419e
mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards
May 11, 2016
dcd6f39
cma: Add vc_cma driver to enable use of CMA
popcornmix Jul 2, 2013
c8216ff
bcm2708: alsa sound driver
popcornmix Mar 26, 2012
0f683d0
bcm2708 vchiq driver
popcornmix Jul 2, 2013
d457ca1
vc_mem: Add vc_mem driver
popcornmix Jun 17, 2015
bcdbbb9
vcsm: VideoCore shared memory service for BCM2835
Jul 22, 2014
a7429bf
Add /dev/gpiomem device for rootless user GPIO access
Wren6991 Aug 21, 2015
0a911c7
Add SMI driver
Wren6991 Sep 5, 2015
bb3a013
MISC: bcm2835: smi: use clock manager and fix reload issues
msperl Apr 26, 2016
0e031f8
Add SMI NAND driver
Wren6991 Sep 5, 2015
c3698a8
lirc: added support for RaspberryPi GPIO
Jun 16, 2012
ebe8368
Add cpufreq driver
popcornmix Jul 2, 2013
01c9c95
Added hwmon/thermal driver for reporting core temperature. Thanks Dorian
popcornmix Mar 26, 2013
bef6ae3
Add Chris Boot's i2c driver
popcornmix Jun 17, 2015
af3405e
char: broadcom: Add vcio module
notro Jun 26, 2015
749a971
firmware: bcm2835: Support ARCH_BCM270x
notro Jun 26, 2015
b42e7a5
bcm2835: add v4l2 camera device
Jan 30, 2013
18b5ab4
scripts: Add mkknlimg and knlinfo scripts from tools repo
May 11, 2015
1dd324a
scripts/dtc: Update to upstream version 1.4.1
Aug 10, 2015
8408e22
BCM2708: Add core Device Tree support
notro Jul 9, 2014
34fc507
kbuild: Ignore dtco targets when filtering symbols
Aug 24, 2016
b936ffb
BCM270X_DT: Add a .dtbo target, use for overlays
Mar 13, 2015
e7ec9b6
BCM270X_DT: Don't generate "linux,phandle" props
Apr 8, 2016
cc97745
BCM270x_DT: Add pwr_led, and the required "input" trigger
Feb 6, 2015
8b5af7a
fbdev: add FBIOCOPYAREA ioctl
ssvb Jun 17, 2013
7a2283c
Speed up console framebuffer imageblit function
hglm Jun 20, 2013
6917833
enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (a…
popcornmix May 8, 2013
0f177d2
Added Device IDs for August DVB-T 205
popcornmix Jul 2, 2013
ce06d28
config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cos…
popcornmix Dec 18, 2013
dd00413
hid: Reduce default mouse polling interval to 60Hz
popcornmix Jul 14, 2014
44f2258
rpi-ft5406: Add touchscreen driver for pi LCD display
ghollingworth May 12, 2015
4fa59ed
Improve __copy_to_user and __copy_from_user performance
Oct 13, 2014
ef1f1a4
gpio-poweroff: Allow it to work on Raspberry Pi
Jun 25, 2015
32d8598
mfd: Add Raspberry Pi Sense HAT core driver
pelwell Jul 14, 2015
c483711
ASoC: Add support for HifiBerry DAC
koalo Nov 22, 2013
22f243e
ASoC: Add support for Rpi-DAC
koalo Jan 25, 2016
b2be88f
ASoC: wm8804: Implement MCLK configuration options, add 32bit support…
Jan 15, 2014
c16b176
ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patc…
Jan 15, 2014
481f1c6
Add IQaudIO Sound Card support for Raspberry Pi
Mar 8, 2014
5bf2b4a
iqaudio-dac: Compile fix - untested
popcornmix Jul 25, 2016
ac380ae
Added support for HiFiBerry DAC+
Aug 4, 2014
3b6b2d9
Added driver for HiFiBerry Amp amplifier add-on board
Aug 4, 2014
13338d9
Added HiFiBerry Digi+ Pro driver
Jul 26, 2016
2f2b2d3
Update ds1307 driver for device-tree support
ryco-dev Feb 1, 2015
0f498ca
Add driver for rpi-proto
Mar 25, 2015
f4ccdea
RaspiDAC3 support
Aug 24, 2015
aa21493
tpa6130a2: Add headphone switch control
popcornmix Aug 9, 2016
9135172
Revert "tpa6130a2: Add headphone switch control"
popcornmix Aug 9, 2016
bc696ed
Add Support for JustBoom Audio boards
shawaj Apr 7, 2016
62cf52d
ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver.
andrey2805 May 4, 2016
b3531ec
New AudioInjector.net Pi soundcard with low jitter audio in and out.
flatmax May 16, 2016
de658d1
Add IQAudIO Digi WM8804 board support
DigitalDreamtime Jun 30, 2016
57b1d09
New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804
escalator2015 May 24, 2016
e4d61e4
Add support for Dion Audio LOCO DAC-AMP HAT
DigitalDreamtime Jul 2, 2016
ce39c04
Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645)
clivem Sep 19, 2016
cc5d2f8
rpi_display: add backlight driver and overlay
Oct 21, 2015
165b83f
bcm2835-virtgpio: Virtual GPIO driver
popcornmix Feb 23, 2016
00a3d89
DRM_VC4: Allow to be built for ARCH_BCM270x
popcornmix Mar 4, 2016
946751e
amba_pl011: Don't use DT aliases for numbering
Feb 23, 2016
e786650
net: Add non-mainline source for rtl8192cu wlan
popcornmix Sep 3, 2012
f356654
net: Fix rtl8192cu build errors on other platforms
Mar 23, 2016
2ef9030
OF: DT-Overlay configfs interface
pantoniou Dec 3, 2014
9aeb2c6
brcm: adds support for BCM43341 wifi
Cheong2K Feb 26, 2016
9808042
brcmfmac: Disable power management
Mar 9, 2016
2a13eea
brcmfmac: Use original country code as a fallback
Apr 28, 2016
6c96037
brcmfmac: Plug memory leak in brcmf_fill_bss_param
May 19, 2016
e3bf648
brcmfmac: do not use internal roaming engine by default
popcornmix Sep 13, 2016
3f530e5
brcmfmac: Change stop_ap sequence
Aug 31, 2016
beeb83c
hci_h5: Don't send conf_req when ACTIVE
Dec 17, 2015
1e9aa88
drm/vc4: Add a debugfs node for tracking execution state.
anholt Jan 22, 2016
b483d5e
drm/vc4: Include vc4_drm.h in uapi in downstream build.
anholt Jan 25, 2016
1117a37
drm/vc4: Force HDMI to connected.
anholt Oct 14, 2015
dc7738d
config: Add default configs
popcornmix Apr 13, 2015
e42e86f
Add arm64 configuration and device tree differences.
Electron752 Aug 24, 2016
4580fb6
bcm2835-cpufreq: Only report a single frequency when max and min freq…
popcornmix Oct 5, 2016
4659c33
scripts/mkknlimg: Change string for DDT detection
Oct 7, 2016
ab26a32
build: support for .dtbo files for dtb overlays
hjourdain May 20, 2016
2a9d767
[media]bcm2835-camera: fix compilation warning/werror
kraj Oct 7, 2016
a36a485
bcm2709: Drop platform smp and timer init code
notro Oct 8, 2016
f2328df
BCM270X_DT: Use bcm283x.dtsi, bcm2835.dtsi and bcm2836.dtsi
notro Oct 3, 2016
78e3244
watchdog: bcm2835: Support setting reboot partition
notro Oct 7, 2016
f1eefcb
bcm270x: Use watchdog for reboot/poweroff
notro Oct 7, 2016
578a221
bcm270x: Remove dead files
notro Oct 10, 2016
95595e0
bcm270x: Drop bcm2835-aux-uart hack
notro Oct 10, 2016
0b15c43
Revert "bcm2835: Add support for uart1"
notro Oct 10, 2016
55cd6ad
bcm270x: Remove unnecessary of_platform_populate
notro Oct 10, 2016
bf8ed6c
bcm270x: Remove 4MB dma coherent pool
notro Oct 10, 2016
24aae61
bcm270x: Drop map_io device mapping
notro Oct 10, 2016
7486903
bcm270x: Use DT_MACHINE_START
notro Oct 10, 2016
f0aebd8
Use DT rather than modules params for board rev and serial
Oct 11, 2016
9979c7b
Register the clocks early during the boot process,
msperl Sep 2, 2016
5a9eca9
Add Adafruit pitft35 touchscreen support (#1657)
Sep 27, 2016
cc000ab
BCM270X_DT: Update CM3 to use sdhost interface
Oct 10, 2016
a965a6f
Revert "Register the clocks early during the boot process,"
popcornmix Oct 11, 2016
509529a
mmc: info (not err) msg on clock probe deferral
Oct 12, 2016
0105b0e
ARM64: Modify default config to get raspbian to boot (#1686)
Electron752 Oct 15, 2016
0cd577f
bcm270x: Remove NEED_MACH_IO_H
notro Oct 19, 2016
26d1c76
dwc_otg: Pass struct device to dma_alloc*()
notro Oct 19, 2016
170a166
mmc: bcm2835-sdhost: Pass struct device to dma_alloc*()
notro Oct 19, 2016
291ba9d
bcm270x: Drop NEED_MACH_MEMORY_H and use DT dma-ranges
notro Oct 19, 2016
a4cb5bf
bcm2708: Use BCM2835_TIMER
notro Oct 19, 2016
07ffda1
bcm270x: Remove bcm2708_reboot_mode parameter
notro Oct 19, 2016
bdf74bd
bcm2708: kconfig: Cleanup selects
notro Oct 19, 2016
120e120
kconfig: Always use ARCH_BCM270X for depends on
notro Oct 19, 2016
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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ Example:

bcm2835_i2s: i2s@7e203000 {
compatible = "brcm,bcm2835-i2s";
reg = < 0x7e203000 0x20>,
< 0x7e101098 0x02>;
reg = < 0x7e203000 0x24>,
< 0x7e101098 0x08>;

dmas = <&dma 2>,
<&dma 3>;
Expand Down
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
* Broadcom BCM2835 SMI character device driver.

SMI or secondary memory interface is a peripheral specific to certain Broadcom
SOCs, and is helpful for talking to things like parallel-interface displays
and NAND flashes (in fact, most things with a parallel register interface).

This driver adds a character device which provides a user-space interface to
an instance of the SMI driver.

Required properties:
- compatible: "brcm,bcm2835-smi-dev"
- smi_handle: a phandle to the smi node.

Optional properties:
- None.


48 changes: 48 additions & 0 deletions Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
* Broadcom BCM2835 SMI driver.

SMI or secondary memory interface is a peripheral specific to certain Broadcom
SOCs, and is helpful for talking to things like parallel-interface displays
and NAND flashes (in fact, most things with a parallel register interface).

Required properties:
- compatible: "brcm,bcm2835-smi"
- reg: Should contain location and length of SMI registers and SMI clkman regs
- interrupts: *the* SMI interrupt.
- pinctrl-names: should be "default".
- pinctrl-0: the phandle of the gpio pin node.
- brcm,smi-clock-source: the clock source for clkman
- brcm,smi-clock-divisor: the integer clock divisor for clkman
- dmas: the dma controller phandle and the DREQ number (4 on a 2835)
- dma-names: the name used by the driver to request its channel.
Should be "rx-tx".

Optional properties:
- None.

Examples:

8 data pin configuration:

smi: smi@7e600000 {
compatible = "brcm,bcm2835-smi";
reg = <0x7e600000 0x44>, <0x7e1010b0 0x8>;
interrupts = <2 16>;
pinctrl-names = "default";
pinctrl-0 = <&smi_pins>;
brcm,smi-clock-source = <6>;
brcm,smi-clock-divisor = <4>;
dmas = <&dma 4>;
dma-names = "rx-tx";

status = "okay";
};

smi_pins: smi_pins {
brcm,pins = <2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
/* Alt 1: SMI */
brcm,function = <5 5 5 5 5 5 5 5 5 5 5 5 5 5>;
/* /CS, /WE and /OE are pulled high, as they are
generally active low signals */
brcm,pull = <2 2 2 2 2 2 0 0 0 0 0 0 0 0>;
};

42 changes: 42 additions & 0 deletions Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
* BCM2835 SMI NAND flash

This driver is a shim between the BCM2835 SMI driver (SMI is a peripheral for
talking to parallel register interfaces) and Linux's MTD layer.

Required properties:
- compatible: "brcm,bcm2835-smi-nand"
- status: "okay"

Optional properties:
- partition@n, where n is an integer from a consecutive sequence starting at 0
- Difficult to store partition table on NAND device - normally put it
in the source code, kernel bootparams, or device tree (the best way!)
- Sub-properties:
- label: the partition name, as shown by mtdinfo /dev/mtd*
- reg: the size and offset of this partition.
- (optional) read-only: an empty property flagging as read only

Example:

nand: flash@0 {
compatible = "brcm,bcm2835-smi-nand";
status = "okay";

partition@0 {
label = "stage2";
// 128k
reg = <0 0x20000>;
read-only;
};
partition@1 {
label = "firmware";
// 16M
reg = <0x20000 0x1000000>;
read-only;
};
partition@2 {
label = "root";
// 2G
reg = <0x1020000 0x80000000>;
};
};
4 changes: 2 additions & 2 deletions Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ Example:

bcm2835_i2s: i2s@7e203000 {
compatible = "brcm,bcm2835-i2s";
reg = <0x7e203000 0x20>,
<0x7e101098 0x02>;
reg = <0x7e203000 0x24>,
<0x7e101098 0x08>;

dmas = <&dma 2>,
<&dma 3>;
Expand Down
31 changes: 31 additions & 0 deletions Documentation/devicetree/configfs-overlays.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Howto use the configfs overlay interface.

A device-tree configfs entry is created in /config/device-tree/overlays
and and it is manipulated using standard file system I/O.
Note that this is a debug level interface, for use by developers and
not necessarily something accessed by normal users due to the
security implications of having direct access to the kernel's device tree.

* To create an overlay you mkdir the directory:

# mkdir /config/device-tree/overlays/foo

* Either you echo the overlay firmware file to the path property file.

# echo foo.dtbo >/config/device-tree/overlays/foo/path

* Or you cat the contents of the overlay to the dtbo file

# cat foo.dtbo >/config/device-tree/overlays/foo/dtbo

The overlay file will be applied, and devices will be created/destroyed
as required.

To remove it simply rmdir the directory.

# rmdir /config/device-tree/overlays/foo

The rationalle of the dual interface (firmware & direct copy) is that each is
better suited to different use patterns. The firmware interface is what's
intended to be used by hardware managers in the kernel, while the copy interface
make sense for developers (since it avoids problems with namespaces).
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
50 changes: 50 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,53 @@ choice
default ARM_SINGLE_ARMV7M if !MMU
default ARCH_MULTIPLATFORM if MMU

config ARCH_BCM2708
bool "Broadcom BCM2708 family"
select CPU_V6
select ARM_AMBA
select CLKSRC_OF
select HAVE_SCHED_CLOCK
select COMMON_CLK
select ARCH_HAS_CPUFREQ
select GENERIC_CLOCKEVENTS
select ARM_ERRATA_411920
select MACH_BCM2708
select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select BCM2835_TIMER
select VC4
select FIQ
select USE_OF
select ARCH_REQUIRE_GPIOLIB
select PINCTRL
select PINCTRL_BCM2835

help
This enables support for Broadcom BCM2708 boards.

config ARCH_BCM2709
bool "Broadcom BCM2709 family"
select CPU_V7
select HAVE_SMP
select ARM_AMBA
select MIGHT_HAVE_CACHE_L2X0
select HAVE_SCHED_CLOCK
select COMMON_CLK
select ARCH_HAS_CPUFREQ
select GENERIC_CLOCKEVENTS
select MACH_BCM2709
select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select MFD_SYSCON
select VC4
select FIQ
select USE_OF
select ARCH_REQUIRE_GPIOLIB
select PINCTRL
select PINCTRL_BCM2835
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 @@ -711,6 +758,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
10 changes: 6 additions & 4 deletions arch/arm/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,12 @@ choice

config DEBUG_BCM2835
bool "Kernel low-level debugging on BCM2835 PL011 UART"
depends on ARCH_BCM2835 && ARCH_MULTI_V6
depends on (ARCH_BCM2835 && ARCH_MULTI_V6) || ARCH_BCM2708
select DEBUG_UART_PL01X

config DEBUG_BCM2836
bool "Kernel low-level debugging on BCM2836 PL011 UART"
depends on ARCH_BCM2835 && ARCH_MULTI_V7
depends on (ARCH_BCM2835 && ARCH_MULTI_V7) || ARCH_BCM2709
select DEBUG_UART_PL01X

config DEBUG_BCM_5301X
Expand Down Expand Up @@ -1695,7 +1695,8 @@ config DEBUG_UART_8250_FLOW_CONTROL

config DEBUG_UNCOMPRESS
bool
depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
ARCH_BCM2708 || ARCH_BCM2709
default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
(!DEBUG_TEGRA_UART || !ZBOOT_ROM)
help
Expand All @@ -1712,7 +1713,8 @@ config DEBUG_UNCOMPRESS
config UNCOMPRESS_INCLUDE
string
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
ARCH_BCM2708 || ARCH_BCM2709
default "mach/uncompress.h"

config EARLY_PRINTK
Expand Down
4 changes: 4 additions & 0 deletions arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,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_ARTPEC) += artpec
machine-$(CONFIG_ARCH_AT91) += at91
Expand Down Expand Up @@ -335,6 +337,8 @@ $(INSTALL_TARGETS):

%.dtb: | scripts
$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
%.dtbo: | scripts
$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@

PHONY += dtbs dtbs_install

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ zImage
xipImage
bootpImage
uImage
*.dtb
*.dtb*
32 changes: 32 additions & 0 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
ifeq ($(CONFIG_OF),y)

dtb-$(CONFIG_ARCH_BCM2708) += bcm2708-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM2708) += bcm2708-rpi-b-plus.dtb
dtb-$(CONFIG_ARCH_BCM2708) += bcm2708-rpi-cm.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-cm.dtb
dtb-$(CONFIG_ARCH_BCM2709) += bcm2709-rpi-2-b.dtb
dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb
dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-cm3.dtb

# Raspberry Pi
ifeq ($(CONFIG_ARCH_BCM2708),y)
RPI_DT_OVERLAYS=y
endif
ifeq ($(CONFIG_ARCH_BCM2709),y)
RPI_DT_OVERLAYS=y
endif
ifeq ($(CONFIG_ARCH_BCM2835),y)
RPI_DT_OVERLAYS=y
endif
ifeq ($(RPI_DT_OVERLAYS),y)
dts-dirs += overlays
endif

dtb-$(CONFIG_ARCH_ALPINE) += \
alpine-db.dtb
dtb-$(CONFIG_MACH_ARTPEC6) += \
Expand Down Expand Up @@ -919,10 +941,20 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \
aspeed-ast2500-evb.dtb

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

endif

dtstree := $(srctree)/$(src)
dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))

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

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