diff options
| author | Nathan Rossi <nathan.rossi@xilinx.com> | 2013-06-13 12:40:41 +1000 |
|---|---|---|
| committer | Nathan Rossi <nathan.rossi@xilinx.com> | 2013-06-19 14:26:09 +1000 |
| commit | b065f091f10060f2bb68b58f1d618e26a966fee2 (patch) | |
| tree | 04da5998936695c176cc63024973b7dea3544c18 /recipes-devtools | |
| parent | ea421c57de200dc6b02e1ad025186d32b8f72ad0 (diff) | |
| download | meta-xilinx-b065f091f10060f2bb68b58f1d618e26a966fee2.tar.gz | |
qemu: Added patches for Zynq work-arounds
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Diffstat (limited to 'recipes-devtools')
3 files changed, 72 insertions, 0 deletions
diff --git a/recipes-devtools/qemu/files/HACK_target-arm_Harcode_the_SCU_offset.patch b/recipes-devtools/qemu/files/HACK_target-arm_Harcode_the_SCU_offset.patch new file mode 100644 index 00000000..68c8dfaa --- /dev/null +++ b/recipes-devtools/qemu/files/HACK_target-arm_Harcode_the_SCU_offset.patch | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | From: Peter Crosthwaite <peter.crosthwaite@xilinx.com> | ||
| 2 | Date: Fri, 15 Feb 2013 07:08:24 +0000 | ||
| 3 | Subject: HACK: target-arm: Harcode the SCU offset | ||
| 4 | |||
| 5 | Becuase the QOM framework to drive this from a property isnt there yet. | ||
| 6 | |||
| 7 | Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> | ||
| 8 | --- | ||
| 9 | diff --git a/target-arm/cpu.c b/target-arm/cpu.c | ||
| 10 | index 496a59f..705688b 100644 | ||
| 11 | --- a/target-arm/cpu.c | ||
| 12 | +++ b/target-arm/cpu.c | ||
| 13 | @@ -531,7 +531,7 @@ static void cortex_a9_initfn(Object *obj) | ||
| 14 | { | ||
| 15 | ARMCPRegInfo cbar = { | ||
| 16 | .name = "CBAR", .cp = 15, .crn = 15, .crm = 0, .opc1 = 4, | ||
| 17 | - .opc2 = 0, .access = PL1_R|PL3_W, .resetvalue = cpu->reset_cbar, | ||
| 18 | + .opc2 = 0, .access = PL1_R|PL3_W, .resetvalue = 0xf8f00000, | ||
| 19 | .fieldoffset = offsetof(CPUARMState, cp15.c15_config_base_address) | ||
| 20 | }; | ||
| 21 | define_one_arm_cp_reg(cpu, &cbar); | ||
| 22 | -- | ||
diff --git a/recipes-devtools/qemu/files/HACK_zynq_slcr_Bring_SLCR_out_of_reset_in_kernel_state.patch b/recipes-devtools/qemu/files/HACK_zynq_slcr_Bring_SLCR_out_of_reset_in_kernel_state.patch new file mode 100644 index 00000000..527422b5 --- /dev/null +++ b/recipes-devtools/qemu/files/HACK_zynq_slcr_Bring_SLCR_out_of_reset_in_kernel_state.patch | |||
| @@ -0,0 +1,48 @@ | |||
| 1 | From: Peter Crosthwaite <peter.crosthwaite@xilinx.com> | ||
| 2 | Date: Wed, 27 Mar 2013 02:00:09 +0000 | ||
| 3 | Subject: HACK: zynq_slcr: Bring SLCR out of reset in kernel state | ||
| 4 | |||
| 5 | Reset the zynq_slcr into something more closely resembling the post | ||
| 6 | FSBL handoff state. Needed to keep the Linux clock framework happy. | ||
| 7 | |||
| 8 | I can only apply this patch (in its current form), to the workarounds | ||
| 9 | branch but I am RFCing it, as if there are any other things I should | ||
| 10 | be changing, let me know! I'll factor them into a real solution. | ||
| 11 | |||
| 12 | Cc: sorenb@xilinx.com | ||
| 13 | Cc: michal.simek@xilinx.com | ||
| 14 | Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> | ||
| 15 | --- | ||
| 16 | diff --git a/hw/misc/zynq_slcr.c b/hw/misc/zynq_slcr.c | ||
| 17 | index 872ba3f..8f3e614 100644 | ||
| 18 | --- a/hw/misc/zynq_slcr.c | ||
| 19 | +++ b/hw/misc/zynq_slcr.c | ||
| 20 | @@ -243,19 +243,19 @@ static void zynq_slcr_reset(DeviceState *d) | ||
| 21 | |||
| 22 | s->lockval = 1; | ||
| 23 | /* 0x100 - 0x11C */ | ||
| 24 | - s->pll[ARM_PLL_CTRL] = 0x0001A008; | ||
| 25 | - s->pll[DDR_PLL_CTRL] = 0x0001A008; | ||
| 26 | - s->pll[IO_PLL_CTRL] = 0x0001A008; | ||
| 27 | + s->pll[ARM_PLL_CTRL] = 0x00028008; | ||
| 28 | + s->pll[DDR_PLL_CTRL] = 0x00020008; | ||
| 29 | + s->pll[IO_PLL_CTRL] = 0x0001e008; | ||
| 30 | s->pll[PLL_STATUS] = 0x0000003F; | ||
| 31 | - s->pll[ARM_PPL_CFG] = 0x00014000; | ||
| 32 | - s->pll[DDR_PLL_CFG] = 0x00014000; | ||
| 33 | - s->pll[IO_PLL_CFG] = 0x00014000; | ||
| 34 | + s->pll[ARM_PPL_CFG] = 0x000fa220; | ||
| 35 | + s->pll[DDR_PLL_CFG] = 0x0012c220; | ||
| 36 | + s->pll[IO_PLL_CFG] = 0x001452c0; | ||
| 37 | |||
| 38 | /* 0x120 - 0x16C */ | ||
| 39 | - s->clk[ARM_CLK_CTRL] = 0x1F000400; | ||
| 40 | + s->clk[ARM_CLK_CTRL] = 0x1F000200; | ||
| 41 | s->clk[DDR_CLK_CTRL] = 0x18400003; | ||
| 42 | s->clk[DCI_CLK_CTRL] = 0x01E03201; | ||
| 43 | - s->clk[APER_CLK_CTRL] = 0x01FFCCCD; | ||
| 44 | + s->clk[APER_CLK_CTRL] = 0x01ed044d; | ||
| 45 | s->clk[USB0_CLK_CTRL] = s->clk[USB1_CLK_CTRL] = 0x00101941; | ||
| 46 | s->clk[GEM0_RCLK_CTRL] = s->clk[GEM1_RCLK_CTRL] = 0x00000001; | ||
| 47 | s->clk[GEM0_CLK_CTRL] = s->clk[GEM1_CLK_CTRL] = 0x00003C01; | ||
| 48 | -- | ||
diff --git a/recipes-devtools/qemu/qemu_1.5.0.bbappend b/recipes-devtools/qemu/qemu_1.5.0.bbappend index 28c67341..584c2540 100644 --- a/recipes-devtools/qemu/qemu_1.5.0.bbappend +++ b/recipes-devtools/qemu/qemu_1.5.0.bbappend | |||
| @@ -3,4 +3,6 @@ QEMU_TARGETS += "microblazeel" | |||
| 3 | FILESEXTRAPATHS_append := "${THISDIR}/files:" | 3 | FILESEXTRAPATHS_append := "${THISDIR}/files:" |
| 4 | SRC_URI_append += " \ | 4 | SRC_URI_append += " \ |
| 5 | file://microblaze-Add-support-for-loading-initrd-images.patch \ | 5 | file://microblaze-Add-support-for-loading-initrd-images.patch \ |
| 6 | file://HACK_target-arm_Harcode_the_SCU_offset.patch \ | ||
| 7 | file://HACK_zynq_slcr_Bring_SLCR_out_of_reset_in_kernel_state.patch \ | ||
| 6 | " | 8 | " |
