-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'bcm63138-v4' of http://github.com/brcm/linux into next/soc
Merge "ARM: BCM: Broadcom BCM63138 support" from Florian Fainelli: This patchset adds very minimal support for the BCM63138 SoC which is a xDSL SoC using a dual Cortex A9 CPU complex. * tag 'bcm63138-v4' of http://github.com/brcm/linux: MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs ARM: BCM63XX: add BCM963138DVT Reference platform DTS ARM: BCM63XX: add BCM63138 minimal Device Tree ARM: BCM63XX: add low-level UART debug support ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC Conflicts: arch/arm/Kconfig.debug Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Loading branch information
Showing
10 changed files
with
278 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Broadcom BCM63138 DSL System-on-a-Chip device tree bindings | ||
----------------------------------------------------------- | ||
|
||
Boards compatible with the BCM63138 DSL System-on-a-Chip should have the | ||
following properties: | ||
|
||
Required root node property: | ||
|
||
compatible: should be "brcm,bcm63138" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
/* | ||
* Broadcom BCM63138 DSL SoCs Device Tree | ||
*/ | ||
|
||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
|
||
#include "skeleton.dtsi" | ||
|
||
/ { | ||
compatible = "brcm,bcm63138"; | ||
model = "Broadcom BCM63138 DSL SoC"; | ||
interrupt-parent = <&gic>; | ||
|
||
aliases { | ||
uart0 = &serial0; | ||
uart1 = &serial1; | ||
}; | ||
|
||
cpus { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
cpu@0 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a9"; | ||
next-level-cache = <&L2>; | ||
reg = <0>; | ||
}; | ||
|
||
cpu@1 { | ||
device_type = "cpu"; | ||
compatible = "arm,cortex-a9"; | ||
next-level-cache = <&L2>; | ||
reg = <1>; | ||
}; | ||
}; | ||
|
||
clocks { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
arm_timer_clk: arm_timer_clk { | ||
#clock-cells = <0>; | ||
compatible = "fixed-clock"; | ||
clock-frequency = <500000000>; | ||
}; | ||
|
||
periph_clk: periph_clk { | ||
#clock-cells = <0>; | ||
compatible = "fixed-clock"; | ||
clock-frequency = <50000000>; | ||
clock-output-names = "periph"; | ||
}; | ||
}; | ||
|
||
/* ARM bus */ | ||
axi@80000000 { | ||
compatible = "simple-bus"; | ||
ranges = <0 0x80000000 0x784000>; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
L2: cache-controller@1d000 { | ||
compatible = "arm,pl310-cache"; | ||
reg = <0x1d000 0x1000>; | ||
cache-unified; | ||
cache-level = <2>; | ||
cache-sets = <16>; | ||
cache-size = <0x80000>; | ||
interrupts = <GIC_PPI 0 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
|
||
scu: scu@1e000 { | ||
compatible = "arm,cortex-a9-scu"; | ||
reg = <0x1e000 0x100>; | ||
}; | ||
|
||
gic: interrupt-controller@1e100 { | ||
compatible = "arm,cortex-a9-gic"; | ||
reg = <0x1f000 0x1000 | ||
0x1e100 0x100>; | ||
#interrupt-cells = <3>; | ||
#address-cells = <0>; | ||
interrupt-controller; | ||
}; | ||
|
||
global_timer: timer@1e200 { | ||
compatible = "arm,cortex-a9-global-timer"; | ||
reg = <0x1e200 0x20>; | ||
interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&arm_timer_clk>; | ||
}; | ||
|
||
local_timer: local-timer@1e600 { | ||
compatible = "arm,cortex-a9-twd-timer"; | ||
reg = <0x1e600 0x20>; | ||
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&arm_timer_clk>; | ||
}; | ||
|
||
twd_watchdog: watchdog@1e620 { | ||
compatible = "arm,cortex-a9-twd-wdt"; | ||
reg = <0x1e620 0x20>; | ||
interupts = <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
}; | ||
|
||
/* Legacy UBUS base */ | ||
ubus@fffe8000 { | ||
compatible = "simple-bus"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges = <0 0xfffe8000 0x8100>; | ||
|
||
serial0: serial@600 { | ||
compatible = "brcm,bcm6345-uart"; | ||
reg = <0x600 0x1b>; | ||
interrupts = <GIC_SPI 32 0>; | ||
clocks = <&periph_clk>; | ||
clock-names = "periph"; | ||
status = "disabled"; | ||
}; | ||
|
||
serial1: serial@620 { | ||
compatible = "brcm,bcm6345-uart"; | ||
reg = <0x620 0x1b>; | ||
interrupts = <GIC_SPI 33 0>; | ||
clocks = <&periph_clk>; | ||
clock-names = "periph"; | ||
status = "disabled"; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* Broadcom BCM63138 Reference Board DTS | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include "bcm63138.dtsi" | ||
|
||
/ { | ||
compatible = "brcm,BCM963138DVT", "brcm,bcm63138"; | ||
model = "Broadcom BCM963138DVT"; | ||
|
||
chosen { | ||
bootargs = "console=ttyS0,115200"; | ||
stdout-path = &serial0; | ||
}; | ||
|
||
memory { | ||
reg = <0x0 0x08000000>; | ||
}; | ||
|
||
}; | ||
|
||
&serial0 { | ||
status = "okay"; | ||
}; | ||
|
||
&serial1 { | ||
status = "okay"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
* Broadcom BCM63xx low-level UART debug | ||
* | ||
* Copyright (C) 2014 Broadcom Corporation | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
|
||
#include <linux/serial_bcm63xx.h> | ||
|
||
.macro addruart, rp, rv, tmp | ||
ldr \rp, =CONFIG_DEBUG_UART_PHYS | ||
ldr \rv, =CONFIG_DEBUG_UART_VIRT | ||
.endm | ||
|
||
.macro senduart, rd, rx | ||
/* word access do not work */ | ||
strb \rd, [\rx, #UART_FIFO_REG] | ||
.endm | ||
|
||
.macro waituart, rd, rx | ||
1001: ldr \rd, [\rx, #UART_IR_REG] | ||
tst \rd, #(1 << UART_IR_TXEMPTY) | ||
beq 1001b | ||
.endm | ||
|
||
.macro busyuart, rd, rx | ||
1002: ldr \rd, [\rx, #UART_IR_REG] | ||
tst \rd, #(1 << UART_IR_TXTRESH) | ||
beq 1002b | ||
.endm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/* | ||
* Copyright (C) 2014 Broadcom Corporation | ||
* | ||
* 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 version 2. | ||
* | ||
* This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
* kind, whether express or implied; without even the implied warranty | ||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
*/ | ||
|
||
#include <linux/of_platform.h> | ||
|
||
#include <asm/mach/arch.h> | ||
|
||
static const char * const bcm63xx_dt_compat[] = { | ||
"brcm,bcm63138", | ||
NULL | ||
}; | ||
|
||
DT_MACHINE_START(BCM63XXX_DT, "BCM63xx DSL SoC") | ||
.dt_compat = bcm63xx_dt_compat, | ||
.l2c_aux_val = 0, | ||
.l2c_aux_mask = ~0, | ||
MACHINE_END |