Advertisement
uaa

[wip:20140502] uchcom.c diff (not work)

uaa
May 1st, 2014
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. --- uchcom.c.bak Mon Jul 8 01:22:38 2013
  2. +++ uchcom.c Fri May 2 08:59:21 2014
  3. @@ -695,16 +695,18 @@
  4. if (uchcom_calc_divider_settings(&dv, rate))
  5. return EINVAL;
  6.  
  7. - if ((err = uchcom_write_reg(sc,
  8. - UCHCOM_REG_BPS_PRE, dv.dv_prescaler,
  9. - UCHCOM_REG_BPS_DIV, dv.dv_div)) ||
  10. - (err = uchcom_write_reg(sc,
  11. - UCHCOM_REG_BPS_MOD, dv.dv_mod,
  12. - UCHCOM_REG_BPS_PAD, 0))) {
  13. - printf("%s: cannot set DTE rate: %s\n",
  14. - sc->sc_dev.dv_xname, usbd_errstr(err));
  15. - return EIO;
  16. - }
  17. +err = uchcom_generic_control_out(sc, UCHCOM_REQ_WRITE_REG, 0x1312, 0xb202);
  18. +err = uchcom_generic_control_out(sc, UCHCOM_REQ_WRITE_REG, 0x0f2c, 0x000c);
  19. +// if ((err = uchcom_write_reg(sc,
  20. +// UCHCOM_REG_BPS_PRE, dv.dv_prescaler,
  21. +// UCHCOM_REG_BPS_DIV, dv.dv_div)) ||
  22. +// (err = uchcom_write_reg(sc,
  23. +// UCHCOM_REG_BPS_MOD, dv.dv_mod,
  24. +// UCHCOM_REG_BPS_PAD, 0))) {
  25. +// printf("%s: cannot set DTE rate: %s\n",
  26. +// sc->sc_dev.dv_xname, usbd_errstr(err));
  27. +// return EIO;
  28. +// }
  29.  
  30. return 0;
  31. }
  32. @@ -751,7 +753,7 @@
  33. else
  34. lcr2 |= UCHCOM_LCR2_PAREVEN;
  35. }
  36. -
  37. +lcr2 |= 0x10;
  38. err = uchcom_write_reg(sc, UCHCOM_REG_LCR1, lcr1, UCHCOM_REG_LCR2,
  39. lcr2);
  40. if (err) {
  41. @@ -783,9 +785,9 @@
  42. uchcom_reset_chip(struct uchcom_softc *sc)
  43. {
  44. usbd_status err;
  45. - uint8_t lcr1, lcr2, pre, div, mod;
  46. +// uint8_t lcr1, lcr2, pre, div, mod;
  47. uint16_t val=0, idx=0;
  48. -
  49. +#if 0
  50. err = uchcom_read_reg(sc, UCHCOM_REG_LCR1, &lcr1, UCHCOM_REG_LCR2, &lcr2);
  51. if (err)
  52. goto failed;
  53. @@ -813,7 +815,9 @@
  54.  
  55. DPRINTF(("%s: reset v=0x%04X, i=0x%04X\n",
  56. sc->sc_dev.dv_xname, val, idx));
  57. -
  58. +#endif
  59. +val=0x501f;//0xc39c;
  60. +idx=0xd90a;//0xb2b9;
  61. err = uchcom_generic_control_out(sc, UCHCOM_REQ_RESET, val, idx);
  62. if (err)
  63. goto failed;
  64. @@ -863,7 +867,7 @@
  65. ret = uchcom_set_dtrrts(sc, sc->sc_dtr, sc->sc_rts);
  66. if (ret)
  67. return ret;
  68. -
  69. +uchcom_read_status(sc, NULL);
  70. return 0;
  71. }
  72.  
  73. @@ -981,11 +985,19 @@
  74. if (sc->sc_dying)
  75. return EIO;
  76.  
  77. - ret = uchcom_setup_intr_pipe(sc);
  78. +// ret = uchcom_setup_intr_pipe(sc);
  79. +// if (ret)
  80. +// return ret;
  81. +
  82. + ret = uchcom_setup_comm(sc);
  83. if (ret)
  84. return ret;
  85.  
  86. ret = uchcom_setup_comm(sc);
  87. + if (ret)
  88. + return ret;
  89. +
  90. + ret = uchcom_setup_intr_pipe(sc);
  91. if (ret)
  92. return ret;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement