0001
0002
0003
0004
0005
0006
0007 #ifndef __LOCAL_ST33ZP24_H__
0008 #define __LOCAL_ST33ZP24_H__
0009
0010 #define TPM_WRITE_DIRECTION 0x80
0011 #define ST33ZP24_BUFSIZE 2048
0012
0013 struct st33zp24_dev {
0014 struct tpm_chip *chip;
0015 void *phy_id;
0016 const struct st33zp24_phy_ops *ops;
0017 int locality;
0018 int irq;
0019 u32 intrs;
0020 int io_lpcpd;
0021 wait_queue_head_t read_queue;
0022 };
0023
0024
0025 struct st33zp24_phy_ops {
0026 int (*send)(void *phy_id, u8 tpm_register, u8 *tpm_data, int tpm_size);
0027 int (*recv)(void *phy_id, u8 tpm_register, u8 *tpm_data, int tpm_size);
0028 };
0029
0030 #ifdef CONFIG_PM_SLEEP
0031 int st33zp24_pm_suspend(struct device *dev);
0032 int st33zp24_pm_resume(struct device *dev);
0033 #endif
0034
0035 int st33zp24_probe(void *phy_id, const struct st33zp24_phy_ops *ops,
0036 struct device *dev, int irq, int io_lpcpd);
0037 void st33zp24_remove(struct tpm_chip *chip);
0038 #endif