|
#define | LM8323_CMD_READ_ID 0x80 /* Read chip ID. */ |
|
#define | LM8323_CMD_WRITE_CFG 0x81 /* Set configuration item. */ |
|
#define | LM8323_CMD_READ_INT 0x82 /* Get interrupt status. */ |
|
#define | LM8323_CMD_RESET 0x83 /* Reset, same as external one */ |
|
#define | LM8323_CMD_WRITE_PORT_SEL 0x85 /* Set GPIO in/out. */ |
|
#define | LM8323_CMD_WRITE_PORT_STATE 0x86 /* Set GPIO pullup. */ |
|
#define | LM8323_CMD_READ_PORT_SEL 0x87 /* Get GPIO in/out. */ |
|
#define | LM8323_CMD_READ_PORT_STATE 0x88 /* Get GPIO pullup. */ |
|
#define | LM8323_CMD_READ_FIFO 0x89 /* Read byte from FIFO. */ |
|
#define | LM8323_CMD_RPT_READ_FIFO 0x8a /* Read FIFO (no increment). */ |
|
#define | LM8323_CMD_SET_ACTIVE 0x8b /* Set active time. */ |
|
#define | LM8323_CMD_READ_ERR 0x8c /* Get error status. */ |
|
#define | LM8323_CMD_READ_ROTATOR 0x8e /* Read rotator status. */ |
|
#define | LM8323_CMD_SET_DEBOUNCE 0x8f /* Set debouncing time. */ |
|
#define | LM8323_CMD_SET_KEY_SIZE 0x90 /* Set keypad size. */ |
|
#define | LM8323_CMD_READ_KEY_SIZE 0x91 /* Get keypad size. */ |
|
#define | LM8323_CMD_READ_CFG 0x92 /* Get configuration item. */ |
|
#define | LM8323_CMD_WRITE_CLOCK 0x93 /* Set clock config. */ |
|
#define | LM8323_CMD_READ_CLOCK 0x94 /* Get clock config. */ |
|
#define | LM8323_CMD_PWM_WRITE 0x95 /* Write PWM script. */ |
|
#define | LM8323_CMD_START_PWM 0x96 /* Start PWM engine. */ |
|
#define | LM8323_CMD_STOP_PWM 0x97 /* Stop PWM engine. */ |
|
#define | INT_KEYPAD 0x01 /* Key event. */ |
|
#define | INT_ROTATOR 0x02 /* Rotator event. */ |
|
#define | INT_ERROR 0x08 /* Error: use CMD_READ_ERR. */ |
|
#define | INT_NOINIT 0x10 /* Lost configuration. */ |
|
#define | INT_PWM1 0x20 /* PWM1 stopped. */ |
|
#define | INT_PWM2 0x40 /* PWM2 stopped. */ |
|
#define | INT_PWM3 0x80 /* PWM3 stopped. */ |
|
#define | ERR_BADPAR 0x01 /* Bad parameter. */ |
|
#define | ERR_CMDUNK 0x02 /* Unknown command. */ |
|
#define | ERR_KEYOVR 0x04 /* Too many keys pressed. */ |
|
#define | ERR_FIFOOVER 0x40 /* FIFO overflow. */ |
|
#define | CFG_MUX1SEL 0x01 /* Select MUX1_OUT input. */ |
|
#define | CFG_MUX1EN 0x02 /* Enable MUX1_OUT. */ |
|
#define | CFG_MUX2SEL 0x04 /* Select MUX2_OUT input. */ |
|
#define | CFG_MUX2EN 0x08 /* Enable MUX2_OUT. */ |
|
#define | CFG_PSIZE 0x20 /* Package size (must be 0). */ |
|
#define | CFG_ROTEN 0x40 /* Enable rotator. */ |
|
#define | CLK_RCPWM_INTERNAL 0x00 |
|
#define | CLK_RCPWM_EXTERNAL 0x03 |
|
#define | CLK_SLOWCLKEN 0x08 /* Enable 32.768kHz clock. */ |
|
#define | CLK_SLOWCLKOUT 0x40 /* Enable slow pulse output. */ |
|
#define | LM8323_I2C_ADDR00 (0x84 >> 1) /* 1000 010x */ |
|
#define | LM8323_I2C_ADDR01 (0x86 >> 1) /* 1000 011x */ |
|
#define | LM8323_I2C_ADDR10 (0x88 >> 1) /* 1000 100x */ |
|
#define | LM8323_I2C_ADDR11 (0x8A >> 1) /* 1000 101x */ |
|
#define | LM8323_FIFO_LEN 15 |
|
#define | PWM_SET(v) (0x4000 | ((v) & 0xff)) |
|
#define | PWM_GOTOSTART 0x0000 |
|
#define | PWM_END(reset) (0xc000 | (!!(reset) << 11)) |
|
#define | PWM_RAMP(s, t, n, u) |
|
#define | PWM_LOOP(cnt, pos) |
|
#define | PWM_WAIT_TRIG(chans) (0xe000 | (((chans) & 0x7) << 6)) |
|
#define | PWM_SEND_TRIG(chans) (0xe000 | ((chans) & 0x7)) |
|
#define | client_to_lm8323(c) container_of(c, struct lm8323_chip, client) |
|
#define | dev_to_lm8323(d) container_of(d, struct lm8323_chip, client->dev) |
|
#define | cdev_to_pwm(c) container_of(c, struct lm8323_pwm, cdev) |
|
#define | work_to_pwm(w) container_of(w, struct lm8323_pwm, work) |
|
#define | LM8323_MAX_DATA 8 |
|