OSDN Git Service

sys_config.hからいくつかのパラメータを設定可能にした。bsp_amakusabf592/sys_config.h 参照。
[uzume/uzume_bfin.git] / uzume_prototype / kernel / uzume / i2c_subsystem.c
index 176cb25..dc60c11 100644 (file)
@@ -6,7 +6,7 @@
  */
 #include "i2c_subsystem.h"
 #include "kernel_id.h"
-#include "s_services.h"
+#include <s_services.h>
 #include <t_services.h>
 
 #ifdef _COMMON_BF592
@@ -332,6 +332,11 @@ void i2c_master_initialize(VP_INT exinf)
     *twi->control = 0;        // TWI をディセーブル
     *twi->master_ctl = 0;    // マスター機能をディセーブル
     *twi->slave_ctl = 0;    // スレーブ機能をディセーブル
+    *twi->master_addr = 0;
+    *twi->fifo_ctl = 0;
+    *twi->int_mask = 0;
+    *twi->int_stat = 0x1F;  // すべての割り込みステータスをクリア
+    *twi->master_stat =0x1F; // すべてのステータスをクリア
 
     *twi->control = TWI_ENA | (SYSCLOCK/10000000);     // HWRによると、プリスケール値はSYSCLKを10MHzで割ったものでなければならない。
     *twi->clkdiv = 30<<8 | 70;                         // TWI内部クロック10MHzに対して、100kHzのI2Cクロックは100分の1である