Symbol: ssbi
drivers/mfd/ssbi.c
109
ssbi_read_bytes(struct ssbi *ssbi, u16 addr, u8 *buf, int len)
drivers/mfd/ssbi.c
114
if (ssbi->controller_type == MSM_SBI_CTRL_SSBI2) {
drivers/mfd/ssbi.c
115
u32 mode2 = ssbi_readl(ssbi, SSBI2_MODE2);
drivers/mfd/ssbi.c
117
ssbi_writel(ssbi, mode2, SSBI2_MODE2);
drivers/mfd/ssbi.c
121
ret = ssbi_wait_mask(ssbi, SSBI_STATUS_READY, 0);
drivers/mfd/ssbi.c
125
ssbi_writel(ssbi, cmd, SSBI2_CMD);
drivers/mfd/ssbi.c
126
ret = ssbi_wait_mask(ssbi, SSBI_STATUS_RD_READY, 0);
drivers/mfd/ssbi.c
129
*buf++ = ssbi_readl(ssbi, SSBI2_RD) & 0xff;
drivers/mfd/ssbi.c
138
ssbi_write_bytes(struct ssbi *ssbi, u16 addr, const u8 *buf, int len)
drivers/mfd/ssbi.c
142
if (ssbi->controller_type == MSM_SBI_CTRL_SSBI2) {
drivers/mfd/ssbi.c
143
u32 mode2 = ssbi_readl(ssbi, SSBI2_MODE2);
drivers/mfd/ssbi.c
145
ssbi_writel(ssbi, mode2, SSBI2_MODE2);
drivers/mfd/ssbi.c
149
ret = ssbi_wait_mask(ssbi, SSBI_STATUS_READY, 0);
drivers/mfd/ssbi.c
153
ssbi_writel(ssbi, ((addr & 0xff) << 16) | *buf, SSBI2_CMD);
drivers/mfd/ssbi.c
154
ret = ssbi_wait_mask(ssbi, 0, SSBI_STATUS_MCHN_BUSY);
drivers/mfd/ssbi.c
170
ssbi_pa_transfer(struct ssbi *ssbi, u32 cmd, u8 *data)
drivers/mfd/ssbi.c
175
ssbi_writel(ssbi, cmd, SSBI_PA_CMD);
drivers/mfd/ssbi.c
178
rd_status = ssbi_readl(ssbi, SSBI_PA_RD_STATUS);
drivers/mfd/ssbi.c
195
ssbi_pa_read_bytes(struct ssbi *ssbi, u16 addr, u8 *buf, int len)
drivers/mfd/ssbi.c
203
ret = ssbi_pa_transfer(ssbi, cmd, buf);
drivers/mfd/ssbi.c
215
ssbi_pa_write_bytes(struct ssbi *ssbi, u16 addr, const u8 *buf, int len)
drivers/mfd/ssbi.c
222
ret = ssbi_pa_transfer(ssbi, cmd, NULL);
drivers/mfd/ssbi.c
235
struct ssbi *ssbi = dev_get_drvdata(dev);
drivers/mfd/ssbi.c
239
spin_lock_irqsave(&ssbi->lock, flags);
drivers/mfd/ssbi.c
240
ret = ssbi->read(ssbi, addr, buf, len);
drivers/mfd/ssbi.c
241
spin_unlock_irqrestore(&ssbi->lock, flags);
drivers/mfd/ssbi.c
249
struct ssbi *ssbi = dev_get_drvdata(dev);
drivers/mfd/ssbi.c
253
spin_lock_irqsave(&ssbi->lock, flags);
drivers/mfd/ssbi.c
254
ret = ssbi->write(ssbi, addr, buf, len);
drivers/mfd/ssbi.c
255
spin_unlock_irqrestore(&ssbi->lock, flags);
drivers/mfd/ssbi.c
264
struct ssbi *ssbi;
drivers/mfd/ssbi.c
267
ssbi = devm_kzalloc(&pdev->dev, sizeof(*ssbi), GFP_KERNEL);
drivers/mfd/ssbi.c
268
if (!ssbi)
drivers/mfd/ssbi.c
271
ssbi->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
drivers/mfd/ssbi.c
272
if (IS_ERR(ssbi->base))
drivers/mfd/ssbi.c
273
return PTR_ERR(ssbi->base);
drivers/mfd/ssbi.c
275
platform_set_drvdata(pdev, ssbi);
drivers/mfd/ssbi.c
284
ssbi->controller_type = MSM_SBI_CTRL_SSBI;
drivers/mfd/ssbi.c
286
ssbi->controller_type = MSM_SBI_CTRL_SSBI2;
drivers/mfd/ssbi.c
288
ssbi->controller_type = MSM_SBI_CTRL_PMIC_ARBITER;
drivers/mfd/ssbi.c
294
if (ssbi->controller_type == MSM_SBI_CTRL_PMIC_ARBITER) {
drivers/mfd/ssbi.c
295
ssbi->read = ssbi_pa_read_bytes;
drivers/mfd/ssbi.c
296
ssbi->write = ssbi_pa_write_bytes;
drivers/mfd/ssbi.c
298
ssbi->read = ssbi_read_bytes;
drivers/mfd/ssbi.c
299
ssbi->write = ssbi_write_bytes;
drivers/mfd/ssbi.c
302
spin_lock_init(&ssbi->lock);
drivers/mfd/ssbi.c
70
int (*read)(struct ssbi *, u16 addr, u8 *buf, int len);
drivers/mfd/ssbi.c
71
int (*write)(struct ssbi *, u16 addr, const u8 *buf, int len);
drivers/mfd/ssbi.c
74
static inline u32 ssbi_readl(struct ssbi *ssbi, u32 reg)
drivers/mfd/ssbi.c
76
return readl(ssbi->base + reg);
drivers/mfd/ssbi.c
79
static inline void ssbi_writel(struct ssbi *ssbi, u32 val, u32 reg)
drivers/mfd/ssbi.c
81
writel(val, ssbi->base + reg);
drivers/mfd/ssbi.c
93
static int ssbi_wait_mask(struct ssbi *ssbi, u32 set_mask, u32 clr_mask)
drivers/mfd/ssbi.c
99
val = ssbi_readl(ssbi, SSBI2_STATUS);
drivers/pinctrl/qcom/pinctrl-ipq8064.c
485
IPQ_PIN_FUNCTION(ssbi),
drivers/pinctrl/qcom/pinctrl-ipq8064.c
542
PINGROUP(10, gsbi4, spdif, sata, ssbi, mdio, spmi, NA, NA, NA, NA),
drivers/pinctrl/qcom/pinctrl-ipq8064.c
543
PINGROUP(11, gsbi4, pcie2_prsnt, pcie1_prsnt, pcie3_prsnt, ssbi, mdio, spmi, NA, NA, NA),