]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/include/sja1000p.h
SJA1000 clockout divisors listed explicitly.
[lincan.git] / lincan / include / sja1000p.h
index cd21c227ea36625abcf489f4af87a510e8e00bff..1aa09236629d683918b9e5a7d7f2d0aab1126d51 100644 (file)
@@ -9,17 +9,17 @@
  * Version lincan-0.3  17 Jun 2004
  */
 
-int sja1000p_chip_config(struct chip_t *chip);
-int sja1000p_extended_mask(struct chip_t *chip, unsigned long code, unsigned long mask);
-int sja1000p_baud_rate(struct chip_t *chip, int rate, int clock, int sjw,
+int sja1000p_chip_config(struct canchip_t *chip);
+int sja1000p_extended_mask(struct canchip_t *chip, unsigned long code, unsigned long mask);
+int sja1000p_baud_rate(struct canchip_t *chip, int rate, int clock, int sjw,
                int sampl_pt, int flags);
-int sja1000p_pre_read_config(struct chip_t *chip, struct msgobj_t *obj);
-int sja1000p_pre_write_config(struct chip_t *chip, struct msgobj_t *obj,
+int sja1000p_pre_read_config(struct canchip_t *chip, struct msgobj_t *obj);
+int sja1000p_pre_write_config(struct canchip_t *chip, struct msgobj_t *obj,
                struct canmsg_t *msg);
-int sja1000p_send_msg(struct chip_t *chip, struct msgobj_t *obj,
+int sja1000p_send_msg(struct canchip_t *chip, struct msgobj_t *obj,
                struct canmsg_t *msg);
-int sja1000p_fill_chipspecops(struct chip_t *chip);
-int sja1000p_irq_handler(int irq, struct chip_t *chip);
+int sja1000p_fill_chipspecops(struct canchip_t *chip);
+int sja1000p_irq_handler(int irq, struct canchip_t *chip);
 
 
 /* PeliCAN mode */
@@ -185,6 +185,14 @@ enum sja1000_CDR {
        sjaCDR_RXINPEN = 1<<5,
        sjaCDR_CLK_OFF = 1<<3,
 /// f_out = f_osc/(2*(CDR[2:0]+1)) or f_osc if CDR[2:0]==7
+       sjaCDR_CLKOUT_DIV1 = 7,
+       sjaCDR_CLKOUT_DIV2 = 0,
+       sjaCDR_CLKOUT_DIV4 = 1,
+       sjaCDR_CLKOUT_DIV6 = 2,
+       sjaCDR_CLKOUT_DIV8 = 3,
+       sjaCDR_CLKOUT_DIV10 = 4,
+       sjaCDR_CLKOUT_DIV12 = 5,
+       sjaCDR_CLKOUT_DIV14 = 6,
        sjaCDR_CLKOUT_MASK = 7
 };