Skip to content

Commit

Permalink
zynq: use pl310 device tree bindings
Browse files Browse the repository at this point in the history
The Zynq has a PL310 L2 cache controller.  Convert in-tree uses to using
the device tree.

Signed-off-by: Josh Cartwright <josh.cartwright@ni.com>
Cc: John Linn <john.linn@xilinx.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Michal Simek <michal.simek@xilinx.com>
  • Loading branch information
Josh Cartwright authored and Michal Simek committed Oct 29, 2012
1 parent f447ed2 commit 0fcfdbc
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 12 deletions.
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/zynq-ep107.dts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,15 @@
<0xF8F00100 0x100>;
};

L2: cache-controller {
compatible = "arm,pl310-cache";
reg = <0xF8F02000 0x1000>;
arm,data-latency = <2 3 2>;
arm,tag-latency = <2 3 2>;
cache-unified;
cache-level = <2>;
};

uart0: uart@e0000000 {
compatible = "xlnx,xuartps";
reg = <0xE0000000 0x1000>;
Expand Down
9 changes: 1 addition & 8 deletions arch/arm/mach-zynq/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,10 @@ static struct of_device_id zynq_of_bus_ids[] __initdata = {
*/
static void __init xilinx_init_machine(void)
{
#ifdef CONFIG_CACHE_L2X0
/*
* 64KB way size, 8-way associativity, parity disabled
*/
l2x0_init(PL310_L2CC_BASE, 0x02060000, 0xF0F0FFFF);
#endif
l2x0_of_init(0x02060000, 0xF0F0FFFF);

of_platform_bus_probe(NULL, zynq_of_bus_ids, NULL);
}
Expand Down Expand Up @@ -83,11 +81,6 @@ static struct map_desc io_desc[] __initdata = {
.pfn = __phys_to_pfn(SCU_PERIPH_PHYS),
.length = SZ_8K,
.type = MT_DEVICE,
}, {
.virtual = PL310_L2CC_VIRT,
.pfn = __phys_to_pfn(PL310_L2CC_PHYS),
.length = SZ_4K,
.type = MT_DEVICE,
},

#ifdef CONFIG_DEBUG_LL
Expand Down
4 changes: 0 additions & 4 deletions arch/arm/mach-zynq/include/mach/zynq_soc.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,13 @@
#define TTC0_PHYS 0xF8001000
#define TTC0_VIRT TTC0_PHYS

#define PL310_L2CC_PHYS 0xF8F02000
#define PL310_L2CC_VIRT PL310_L2CC_PHYS

#define SCU_PERIPH_PHYS 0xF8F00000
#define SCU_PERIPH_VIRT SCU_PERIPH_PHYS

/* The following are intended for the devices that are mapped early */

#define TTC0_BASE IOMEM(TTC0_VIRT)
#define SCU_PERIPH_BASE IOMEM(SCU_PERIPH_VIRT)
#define PL310_L2CC_BASE IOMEM(PL310_L2CC_VIRT)

/*
* Mandatory for CONFIG_LL_DEBUG, UART is mapped virtual = physical
Expand Down

0 comments on commit 0fcfdbc

Please sign in to comment.