Advertisement
Guest User

Untitled

a guest
Jan 7th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. diff --git a/arch/arm/mach-sun7i/clock/clock.c b/arch/arm/mach-sun7i/clock/clock.c
  2. index 26fe462..9fd2ab9 100644
  3. --- a/arch/arm/mach-sun7i/clock/clock.c
  4. +++ b/arch/arm/mach-sun7i/clock/clock.c
  5. @@ -126,6 +126,28 @@ int clk_init(void)
  6. }
  7. }
  8.  
  9. + if (script_parser_fetch("clock", "apb1", &val, sizeof(int)) == 0) {
  10. + struct clk *tmpClk;
  11. + __u32 tmpRate, min, max;
  12. + CCU_INF("script config apb1 to %dMHz\n", val);
  13. + clk = &aw_clock[AW_SYS_CLK_APB1];
  14. + tmpClk = &aw_clock[AW_SYS_CLK_PLL62];
  15. + CCU_INF("apb1 0 clock was %lu\n", clk_get_rate(clk));
  16. + clk_set_parent(clk, tmpClk);
  17. + tmpRate = clk_get_rate(tmpClk) / 1000000;
  18. + CCU_INF("apb1 new parent clock is %lu\n", clk_get_rate(clk_get_parent(clk)));
  19. + min = (tmpRate / (8 * 32));
  20. + max = tmpRate;
  21. + if (val >= min && val <= max) {
  22. + clk_enable(clk);
  23. + clk_set_rate(clk, val * 1000000);
  24. + CCU_INF("apb1 new clock is %lu\n", clk_get_rate(clk));
  25. + } else {
  26. + CCU_ERR(" invalid apb1 value, must in %dMHz ~ %dGHz\n", min, max);
  27. + }
  28. + }
  29. +
  30. +
  31. return 0;
  32. }
  33. arch_initcall(clk_init);
  34. diff --git a/arch/arm/mach-sun7i/clock/sys_clk.c b/arch/arm/mach-sun7i/clock/sys_clk.c
  35. index 0928935..8658a30 100644
  36. --- a/arch/arm/mach-sun7i/clock/sys_clk.c
  37. +++ b/arch/arm/mach-sun7i/clock/sys_clk.c
  38. @@ -903,6 +903,8 @@ static int sys_clk_set_rate(__aw_ccu_clk_id_e id, __u64 rate)
  39. aw_ccu_reg->Apb1ClkDiv.PreDiv = tmpDivP;
  40. aw_ccu_reg->Apb1ClkDiv.ClkDiv = tmpDivM;
  41.  
  42. + CCU_INF("apb1 new config preDiv %d ClkDiv %d\n", tmpDivP, tmpDivM);
  43. +
  44. return 0;
  45. }
  46. default: {
  47. diff --git a/drivers/tty/serial/8250/8250_sunxi.c b/drivers/tty/serial/8250/8250_sunxi.c
  48. index 25fdcff..17560d3 100644
  49. --- a/drivers/tty/serial/8250/8250_sunxi.c
  50. +++ b/drivers/tty/serial/8250/8250_sunxi.c
  51. @@ -212,8 +212,8 @@ static int __devinit sw_serial_probe(struct platform_device *dev)
  52. port.serial_out = sw_serial_out32;
  53. port.handle_irq = sw_serial_handle_irq;
  54.  
  55. - pr_info("serial probe %d irq %d mapbase 0x%08x\n", dev->id,
  56. - sport->irq, sport->mmres->start);
  57. + pr_info("serial probe %d irq %d mapbase 0x%08x uartclk %u\n", dev->id,
  58. + sport->irq, sport->mmres->start, port.uartclk);
  59. ret = serial8250_register_port(&port);
  60. if (ret < 0)
  61. goto free_dev;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement