summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2015-02-09 02:49:10 +0000
committerrpaulo <rpaulo@FreeBSD.org>2015-02-09 02:49:10 +0000
commit9a363224b6827a8c1c737d23affa5d19b7f0cdab (patch)
treed4f3add9d5885e21ce03f751e8bd256d2415d549 /sys
parent6f2d2726912b4d4c885d76273db61b10b241a166 (diff)
downloadFreeBSD-src-9a363224b6827a8c1c737d23affa5d19b7f0cdab.zip
FreeBSD-src-9a363224b6827a8c1c737d23affa5d19b7f0cdab.tar.gz
MFC r277958, r278061:
ti_pruss: make sure the mmap'ed memory region is uncacheable. am335x_clk_pruss_activate(): use the L3F clock.
Diffstat (limited to 'sys')
-rw-r--r--sys/arm/ti/am335x/am335x_prcm.c14
-rw-r--r--sys/arm/ti/ti_pruss.c1
2 files changed, 8 insertions, 7 deletions
diff --git a/sys/arm/ti/am335x/am335x_prcm.c b/sys/arm/ti/am335x/am335x_prcm.c
index 0b89d95..a1bbda3 100644
--- a/sys/arm/ti/am335x/am335x_prcm.c
+++ b/sys/arm/ti/am335x/am335x_prcm.c
@@ -502,7 +502,7 @@ am335x_clk_gpio_activate(struct ti_clock_dev *clkdev)
/* set *_CLKCTRL register MODULEMODE[1:0] to enable(2) */
/* set *_CLKCTRL register OPTFCLKEN_GPIO_1_G DBCLK[18] to FCLK_EN(1) */
prcm_write_4(clk_details->clkctrl_reg, 2 | (1 << 18));
- while ((prcm_read_4(clk_details->clkctrl_reg) &
+ while ((prcm_read_4(clk_details->clkctrl_reg) &
(3 | (1 << 18) )) != (2 | (1 << 18)))
DELAY(10);
@@ -724,11 +724,11 @@ am335x_clk_lcdc_activate(struct ti_clock_dev *clkdev)
prcm_write_4(CM_WKUP_CM_CLKMODE_DPLL_DISP, 0x4);
/* Make sure it's in bypass mode */
- while (!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP)
+ while (!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP)
& (1 << 8)))
DELAY(10);
- /*
+ /*
* For now set frequency to 5xSYSFREQ
* More flexible control might be required
*/
@@ -738,7 +738,7 @@ am335x_clk_lcdc_activate(struct ti_clock_dev *clkdev)
prcm_write_4(CM_WKUP_CM_CLKMODE_DPLL_DISP, 0x7);
int timeout = 10000;
- while ((!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP)
+ while ((!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP)
& (1 << 0))) && timeout--)
DELAY(10);
@@ -786,9 +786,9 @@ am335x_clk_pruss_activate(struct ti_clock_dev *clkdev)
while ((prcm_read_4(CM_PER_PRUSS_CLKSTCTRL) & (1<<6)) == 0)
DELAY(10);
- /* Select DISP DPLL as OCP clock */
- prcm_write_4(CLKSEL_PRUSS_OCP_CLK, 1);
- while ((prcm_read_4(CLKSEL_PRUSS_OCP_CLK) & 0x3) != 1)
+ /* Select L3F as OCP clock */
+ prcm_write_4(CLKSEL_PRUSS_OCP_CLK, 0);
+ while ((prcm_read_4(CLKSEL_PRUSS_OCP_CLK) & 0x3) != 0)
DELAY(10);
/* Clear the RESET bit */
diff --git a/sys/arm/ti/ti_pruss.c b/sys/arm/ti/ti_pruss.c
index 55838d2..de5a2b2 100644
--- a/sys/arm/ti/ti_pruss.c
+++ b/sys/arm/ti/ti_pruss.c
@@ -259,6 +259,7 @@ ti_pruss_mmap(struct cdev *cdev, vm_ooffset_t offset, vm_paddr_t *paddr,
if (offset > rman_get_size(sc->sc_mem_res))
return (-1);
*paddr = rman_get_start(sc->sc_mem_res) + offset;
+ *memattr = VM_MEMATTR_UNCACHEABLE;
return (0);
}
OpenPOWER on IntegriCloud