drivers/net/wan/framer/pef2256/pef2256.c
112
dev_err(pef2256->dev, "Unknown version (0x%02x, 0x%02x)\n", vstr, wid);
drivers/net/wan/framer/pef2256/pef2256.c
121
struct pef2256 *pef2256 = dev_get_drvdata(dev);
drivers/net/wan/framer/pef2256/pef2256.c
123
return sysfs_emit(buf, "%s\n", pef2256->version_txt);
drivers/net/wan/framer/pef2256/pef2256.c
169
static int pef2256_setup_gcm(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
176
mclk_rate = clk_get_rate(pef2256->mclk);
drivers/net/wan/framer/pef2256/pef2256.c
197
dev_err(pef2256->dev, "Unsupported v2.x MCLK rate %lu\n", mclk_rate);
drivers/net/wan/framer/pef2256/pef2256.c
203
if (pef2256->version == PEF2256_VERSION_1_2) {
drivers/net/wan/framer/pef2256/pef2256.c
212
pef2256_write8(pef2256, PEF2256_GCM(i + 1), *(gcm + i));
drivers/net/wan/framer/pef2256/pef2256.c
217
static int pef2256_setup_e1_line(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
222
pef2256_write8(pef2256, PEF2256_CMR1, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
229
pef2256_write8(pef2256, PEF2256_CMR2, PEF2256_CMR2_DCOXC);
drivers/net/wan/framer/pef2256/pef2256.c
231
if (pef2256->is_subordinate) {
drivers/net/wan/framer/pef2256/pef2256.c
233
pef2256_clrsetbits8(pef2256, PEF2256_CMR1, PEF2256_CMR1_RS_MASK,
drivers/net/wan/framer/pef2256/pef2256.c
240
if (pef2256->version == PEF2256_VERSION_1_2)
drivers/net/wan/framer/pef2256/pef2256.c
241
pef2256_write8(pef2256, PEF2256_LIM0, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
243
pef2256_write8(pef2256, PEF2256_LIM0, PEF2256_2X_LIM0_BIT3);
drivers/net/wan/framer/pef2256/pef2256.c
246
if (!pef2256->is_subordinate)
drivers/net/wan/framer/pef2256/pef2256.c
247
pef2256_setbits8(pef2256, PEF2256_LIM0, PEF2256_LIM0_MAS);
drivers/net/wan/framer/pef2256/pef2256.c
250
pef2256_write8(pef2256, PEF2256_LIM1, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
253
if (pef2256->version == PEF2256_VERSION_1_2)
drivers/net/wan/framer/pef2256/pef2256.c
254
pef2256_clrsetbits8(pef2256, PEF2256_LIM1, PEF2256_12_LIM1_RIL_MASK,
drivers/net/wan/framer/pef2256/pef2256.c
257
pef2256_clrsetbits8(pef2256, PEF2256_LIM1, PEF2256_2X_LIM1_RIL_MASK,
drivers/net/wan/framer/pef2256/pef2256.c
263
if (pef2256->version == PEF2256_VERSION_1_2)
drivers/net/wan/framer/pef2256/pef2256.c
264
pef2256_write8(pef2256, PEF2256_XPM0, 0x7B);
drivers/net/wan/framer/pef2256/pef2256.c
266
pef2256_write8(pef2256, PEF2256_XPM0, 0x9C);
drivers/net/wan/framer/pef2256/pef2256.c
267
pef2256_write8(pef2256, PEF2256_XPM1, 0x03);
drivers/net/wan/framer/pef2256/pef2256.c
268
pef2256_write8(pef2256, PEF2256_XPM2, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
271
pef2256_write8(pef2256, PEF2256_FMR0, PEF2256_FMR0_XC_HDB3 | PEF2256_FMR0_RC_HDB3);
drivers/net/wan/framer/pef2256/pef2256.c
279
switch (pef2256->frame_type) {
drivers/net/wan/framer/pef2256/pef2256.c
292
dev_err(pef2256->dev, "Unsupported frame type %d\n", pef2256->frame_type);
drivers/net/wan/framer/pef2256/pef2256.c
295
pef2256_clrsetbits8(pef2256, PEF2256_FMR1, PEF2256_FMR1_XFS, fmr1);
drivers/net/wan/framer/pef2256/pef2256.c
296
pef2256_write8(pef2256, PEF2256_FMR2, fmr2);
drivers/net/wan/framer/pef2256/pef2256.c
298
if (!pef2256->is_subordinate) {
drivers/net/wan/framer/pef2256/pef2256.c
300
pef2256_write8(pef2256, PEF2256_GPC1, PEF2256_GPC1_CSFP_SEC_IN_HIGH);
drivers/net/wan/framer/pef2256/pef2256.c
303
pef2256_write8(pef2256, PEF2256_GPC1, PEF2256_GPC1_CSFP_FSC_OUT_HIGH);
drivers/net/wan/framer/pef2256/pef2256.c
309
pef2256_write8(pef2256, PEF2256_PC5, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
310
pef2256_write8(pef2256, PEF2256_PC6, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
313
pef2256_setbits8(pef2256, PEF2256_PC5, PEF2256_PC5_CRP);
drivers/net/wan/framer/pef2256/pef2256.c
318
static void pef2256_setup_e1_los(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
321
pef2256_write8(pef2256, PEF2256_PCD, 10);
drivers/net/wan/framer/pef2256/pef2256.c
323
pef2256_write8(pef2256, PEF2256_PCR, 21);
drivers/net/wan/framer/pef2256/pef2256.c
325
pef2256_write8(pef2256, PEF2256_LIM2, PEF2256_LIM2_SLT_THR50);
drivers/net/wan/framer/pef2256/pef2256.c
326
if (pef2256->is_subordinate) {
drivers/net/wan/framer/pef2256/pef2256.c
328
pef2256_setbits8(pef2256, PEF2256_LIM2, PEF2256_LIM2_ELT);
drivers/net/wan/framer/pef2256/pef2256.c
332
static int pef2256_setup_e1_system(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
341
pef2256_write8(pef2256, PEF2256_SIC1, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
342
pef2256_write8(pef2256, PEF2256_SIC2, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
343
pef2256_write8(pef2256, PEF2256_SIC3, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
345
if (pef2256->is_subordinate) {
drivers/net/wan/framer/pef2256/pef2256.c
347
pef2256_clrsetbits8(pef2256, PEF2256_SIC1, PEF2256_SIC1_XBS_MASK,
drivers/net/wan/framer/pef2256/pef2256.c
351
if (pef2256->version != PEF2256_VERSION_1_2) {
drivers/net/wan/framer/pef2256/pef2256.c
353
pef2256_setbits8(pef2256, PEF2256_SIC3, PEF2256_SIC3_RTRI);
drivers/net/wan/framer/pef2256/pef2256.c
356
if (pef2256->is_tx_falling_edge) {
drivers/net/wan/framer/pef2256/pef2256.c
358
pef2256_clrsetbits8(pef2256, PEF2256_SIC3, PEF2256_SIC3_RESX, PEF2256_SIC3_RESR);
drivers/net/wan/framer/pef2256/pef2256.c
361
pef2256_clrsetbits8(pef2256, PEF2256_SIC3, PEF2256_SIC3_RESR, PEF2256_SIC3_RESX);
drivers/net/wan/framer/pef2256/pef2256.c
365
pef2256_write8(pef2256, PEF2256_XC0, 0);
drivers/net/wan/framer/pef2256/pef2256.c
366
pef2256_write8(pef2256, PEF2256_XC1, 4);
drivers/net/wan/framer/pef2256/pef2256.c
368
pef2256_write8(pef2256, PEF2256_RC0, 0);
drivers/net/wan/framer/pef2256/pef2256.c
369
pef2256_write8(pef2256, PEF2256_RC1, 4);
drivers/net/wan/framer/pef2256/pef2256.c
372
switch (pef2256->sysclk_rate) {
drivers/net/wan/framer/pef2256/pef2256.c
386
dev_err(pef2256->dev, "Unsupported sysclk rate %lu\n", pef2256->sysclk_rate);
drivers/net/wan/framer/pef2256/pef2256.c
389
pef2256_clrsetbits8(pef2256, PEF2256_SIC1, PEF2256_SIC1_SSC_MASK, sic1);
drivers/net/wan/framer/pef2256/pef2256.c
392
switch (pef2256->data_rate) {
drivers/net/wan/framer/pef2256/pef2256.c
410
dev_err(pef2256->dev, "Unsupported data rate %u\n", pef2256->data_rate);
drivers/net/wan/framer/pef2256/pef2256.c
413
pef2256_clrsetbits8(pef2256, PEF2256_FMR1, PEF2256_FMR1_SSD_MASK, fmr1);
drivers/net/wan/framer/pef2256/pef2256.c
414
pef2256_clrsetbits8(pef2256, PEF2256_SIC1, PEF2256_SIC1_SSD_MASK, sic1);
drivers/net/wan/framer/pef2256/pef2256.c
417
pef2256_clrsetbits8(pef2256, PEF2256_SIC2, PEF2256_SIC2_SICS_MASK,
drivers/net/wan/framer/pef2256/pef2256.c
418
PEF2256_SIC2_SICS(pef2256->channel_phase));
drivers/net/wan/framer/pef2256/pef2256.c
423
static void pef2256_setup_e1_signaling(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
426
pef2256_write8(pef2256, PEF2256_XSW, PEF2256_XSW_XY(0x1F));
drivers/net/wan/framer/pef2256/pef2256.c
429
pef2256_write8(pef2256, PEF2256_XSP, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
431
if (pef2256->is_subordinate) {
drivers/net/wan/framer/pef2256/pef2256.c
433
pef2256_setbits8(pef2256, PEF2256_XSW, PEF2256_XSW_XTM);
drivers/net/wan/framer/pef2256/pef2256.c
437
pef2256_setbits8(pef2256, PEF2256_XSW, PEF2256_XSW_XSIS);
drivers/net/wan/framer/pef2256/pef2256.c
438
pef2256_setbits8(pef2256, PEF2256_XSP, PEF2256_XSP_XSIF);
drivers/net/wan/framer/pef2256/pef2256.c
441
pef2256_write8(pef2256, PEF2256_TSWM, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
444
static void pef2256_setup_e1_errors(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
447
pef2256_setbits8(pef2256, PEF2256_FMR1, PEF2256_FMR1_ECM);
drivers/net/wan/framer/pef2256/pef2256.c
450
pef2256_setbits8(pef2256, PEF2256_GCR, PEF2256_GCR_ECMC);
drivers/net/wan/framer/pef2256/pef2256.c
453
pef2256_setbits8(pef2256, PEF2256_RC0, PEF2256_RC0_SWD);
drivers/net/wan/framer/pef2256/pef2256.c
456
pef2256_setbits8(pef2256, PEF2256_RC0, PEF2256_RC0_ASY4);
drivers/net/wan/framer/pef2256/pef2256.c
459
static int pef2256_setup_e1(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
464
ret = pef2256_setup_gcm(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
469
pef2256_write8(pef2256, PEF2256_FMR1, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
472
pef2256_write8(pef2256, PEF2256_GCR, 0x00);
drivers/net/wan/framer/pef2256/pef2256.c
475
ret = pef2256_setup_e1_line(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
480
pef2256_setup_e1_los(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
483
ret = pef2256_setup_e1_system(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
488
pef2256_setup_e1_signaling(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
491
pef2256_setup_e1_errors(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
494
pef2256_setbits8(pef2256, PEF2256_GCR, PEF2256_GCR_SCI);
drivers/net/wan/framer/pef2256/pef2256.c
497
pef2256_read8(pef2256, PEF2256_ISR2);
drivers/net/wan/framer/pef2256/pef2256.c
498
pef2256_clrbits8(pef2256, PEF2256_IMR2, PEF2256_INT2_LOS | PEF2256_INT2_AIS);
drivers/net/wan/framer/pef2256/pef2256.c
501
pef2256_write8(pef2256, PEF2256_CMDR, PEF2256_CMDR_RRES | PEF2256_CMDR_XRES);
drivers/net/wan/framer/pef2256/pef2256.c
505
static void pef2256_isr_default_handler(struct pef2256 *pef2256, u8 nbr, u8 isr)
drivers/net/wan/framer/pef2256/pef2256.c
507
dev_warn_ratelimited(pef2256->dev, "ISR%u: 0x%02x not handled\n", nbr, isr);
drivers/net/wan/framer/pef2256/pef2256.c
510
static bool pef2256_is_carrier_on(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
514
frs0 = pef2256_read8(pef2256, PEF2256_FRS0);
drivers/net/wan/framer/pef2256/pef2256.c
518
static void pef2256_isr2_handler(struct pef2256 *pef2256, u8 nbr, u8 isr)
drivers/net/wan/framer/pef2256/pef2256.c
523
carrier = pef2256_is_carrier_on(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
524
if (atomic_xchg(&pef2256->carrier, carrier) != carrier)
drivers/net/wan/framer/pef2256/pef2256.c
525
framer_notify_status_change(pef2256->framer);
drivers/net/wan/framer/pef2256/pef2256.c
531
static void (*pef2256_isr_handler[])(struct pef2256 *, u8, u8) = {
drivers/net/wan/framer/pef2256/pef2256.c
539
struct pef2256 *pef2256 = (struct pef2256 *)priv;
drivers/net/wan/framer/pef2256/pef2256.c
544
gis = pef2256_read8(pef2256, PEF2256_GIS);
drivers/net/wan/framer/pef2256/pef2256.c
548
isr = pef2256_read8(pef2256, PEF2256_ISR(n));
drivers/net/wan/framer/pef2256/pef2256.c
549
pef2256_isr_handler[n](pef2256, n, isr);
drivers/net/wan/framer/pef2256/pef2256.c
55
static u8 pef2256_read8(struct pef2256 *pef2256, int offset)
drivers/net/wan/framer/pef2256/pef2256.c
556
static int pef2256_check_rates(struct pef2256 *pef2256, unsigned long sysclk_rate,
drivers/net/wan/framer/pef2256/pef2256.c
568
dev_err(pef2256->dev, "Unsupported system clock rate %lu\n", sysclk_rate);
drivers/net/wan/framer/pef2256/pef2256.c
576
dev_err(pef2256->dev, "Unsupported data rate %lu with system clock rate %lu\n",
drivers/net/wan/framer/pef2256/pef2256.c
581
static int pef2556_of_parse(struct pef2256 *pef2256, struct device_node *np)
drivers/net/wan/framer/pef2256/pef2256.c
585
pef2256->data_rate = 2048000;
drivers/net/wan/framer/pef2256/pef2256.c
586
ret = of_property_read_u32(np, "lantiq,data-rate-bps", &pef2256->data_rate);
drivers/net/wan/framer/pef2256/pef2256.c
588
dev_err(pef2256->dev, "%pOF: failed to read lantiq,data-rate-bps\n", np);
drivers/net/wan/framer/pef2256/pef2256.c
59
regmap_read(pef2256->regmap, offset, &val);
drivers/net/wan/framer/pef2256/pef2256.c
592
ret = pef2256_check_rates(pef2256, pef2256->sysclk_rate, pef2256->data_rate);
drivers/net/wan/framer/pef2256/pef2256.c
596
pef2256->is_tx_falling_edge = of_property_read_bool(np, "lantiq,clock-falling-edge");
drivers/net/wan/framer/pef2256/pef2256.c
598
pef2256->channel_phase = 0;
drivers/net/wan/framer/pef2256/pef2256.c
599
ret = of_property_read_u8(np, "lantiq,channel-phase", &pef2256->channel_phase);
drivers/net/wan/framer/pef2256/pef2256.c
601
dev_err(pef2256->dev, "%pOF: failed to read lantiq,channel-phase\n",
drivers/net/wan/framer/pef2256/pef2256.c
605
if (pef2256->channel_phase >= pef2256->sysclk_rate / pef2256->data_rate) {
drivers/net/wan/framer/pef2256/pef2256.c
606
dev_err(pef2256->dev, "%pOF: Invalid lantiq,channel-phase %u\n",
drivers/net/wan/framer/pef2256/pef2256.c
607
np, pef2256->channel_phase);
drivers/net/wan/framer/pef2256/pef2256.c
624
static int pef2256_add_audio_devices(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
63
static void pef2256_write8(struct pef2256 *pef2256, int offset, u8 val)
drivers/net/wan/framer/pef2256/pef2256.c
633
for_each_available_child_of_node(pef2256->dev->of_node, np) {
drivers/net/wan/framer/pef2256/pef2256.c
65
regmap_write(pef2256->regmap, offset, val);
drivers/net/wan/framer/pef2256/pef2256.c
651
ret = devm_mfd_add_devices(pef2256->dev, 0, audio_devs, count,
drivers/net/wan/framer/pef2256/pef2256.c
659
struct pef2256 *pef2256 = framer_get_drvdata(framer);
drivers/net/wan/framer/pef2256/pef2256.c
661
status->link_is_on = !!atomic_read(&pef2256->carrier);
drivers/net/wan/framer/pef2256/pef2256.c
667
struct pef2256 *pef2256 = framer_get_drvdata(framer);
drivers/net/wan/framer/pef2256/pef2256.c
670
dev_err(pef2256->dev, "Only E1 line is currently supported\n");
drivers/net/wan/framer/pef2256/pef2256.c
676
pef2256->is_subordinate = true;
drivers/net/wan/framer/pef2256/pef2256.c
679
pef2256->is_subordinate = false;
drivers/net/wan/framer/pef2256/pef2256.c
68
static void pef2256_clrbits8(struct pef2256 *pef2256, int offset, u8 clr)
drivers/net/wan/framer/pef2256/pef2256.c
686
return pef2256_setup_e1(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
691
struct pef2256 *pef2256 = framer_get_drvdata(framer);
drivers/net/wan/framer/pef2256/pef2256.c
694
config->clock_type = pef2256->is_subordinate ? FRAMER_CLOCK_EXT : FRAMER_CLOCK_INT;
drivers/net/wan/framer/pef2256/pef2256.c
70
regmap_clear_bits(pef2256->regmap, offset, clr);
drivers/net/wan/framer/pef2256/pef2256.c
711
struct pef2256 *pef2256;
drivers/net/wan/framer/pef2256/pef2256.c
716
pef2256 = devm_kzalloc(&pdev->dev, sizeof(*pef2256), GFP_KERNEL);
drivers/net/wan/framer/pef2256/pef2256.c
717
if (!pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
720
pef2256->dev = &pdev->dev;
drivers/net/wan/framer/pef2256/pef2256.c
721
atomic_set(&pef2256->carrier, 0);
drivers/net/wan/framer/pef2256/pef2256.c
723
pef2256->is_subordinate = true;
drivers/net/wan/framer/pef2256/pef2256.c
724
pef2256->frame_type = PEF2256_FRAME_E1_DOUBLEFRAME;
drivers/net/wan/framer/pef2256/pef2256.c
73
static void pef2256_setbits8(struct pef2256 *pef2256, int offset, u8 set)
drivers/net/wan/framer/pef2256/pef2256.c
730
pef2256->regmap = devm_regmap_init_mmio(&pdev->dev, iomem,
drivers/net/wan/framer/pef2256/pef2256.c
732
if (IS_ERR(pef2256->regmap)) {
drivers/net/wan/framer/pef2256/pef2256.c
734
pef2256->regmap);
drivers/net/wan/framer/pef2256/pef2256.c
735
return PTR_ERR(pef2256->regmap);
drivers/net/wan/framer/pef2256/pef2256.c
738
pef2256->mclk = devm_clk_get_enabled(&pdev->dev, "mclk");
drivers/net/wan/framer/pef2256/pef2256.c
739
if (IS_ERR(pef2256->mclk))
drivers/net/wan/framer/pef2256/pef2256.c
740
return PTR_ERR(pef2256->mclk);
drivers/net/wan/framer/pef2256/pef2256.c
742
pef2256->sclkr = devm_clk_get_enabled(&pdev->dev, "sclkr");
drivers/net/wan/framer/pef2256/pef2256.c
743
if (IS_ERR(pef2256->sclkr))
drivers/net/wan/framer/pef2256/pef2256.c
744
return PTR_ERR(pef2256->sclkr);
drivers/net/wan/framer/pef2256/pef2256.c
746
pef2256->sclkx = devm_clk_get_enabled(&pdev->dev, "sclkx");
drivers/net/wan/framer/pef2256/pef2256.c
747
if (IS_ERR(pef2256->sclkx))
drivers/net/wan/framer/pef2256/pef2256.c
748
return PTR_ERR(pef2256->sclkx);
drivers/net/wan/framer/pef2256/pef2256.c
75
regmap_set_bits(pef2256->regmap, offset, set);
drivers/net/wan/framer/pef2256/pef2256.c
754
sclkr_rate = clk_get_rate(pef2256->sclkr);
drivers/net/wan/framer/pef2256/pef2256.c
755
sclkx_rate = clk_get_rate(pef2256->sclkx);
drivers/net/wan/framer/pef2256/pef2256.c
757
dev_err(pef2256->dev, "clk rate mismatch. sclkr %lu Hz, sclkx %lu Hz\n",
drivers/net/wan/framer/pef2256/pef2256.c
761
pef2256->sysclk_rate = sclkr_rate;
drivers/net/wan/framer/pef2256/pef2256.c
764
pef2256->reset_gpio = devm_gpiod_get_optional(&pdev->dev, "reset", GPIOD_OUT_LOW);
drivers/net/wan/framer/pef2256/pef2256.c
765
if (IS_ERR(pef2256->reset_gpio))
drivers/net/wan/framer/pef2256/pef2256.c
766
return PTR_ERR(pef2256->reset_gpio);
drivers/net/wan/framer/pef2256/pef2256.c
767
if (pef2256->reset_gpio) {
drivers/net/wan/framer/pef2256/pef2256.c
768
gpiod_set_value_cansleep(pef2256->reset_gpio, 1);
drivers/net/wan/framer/pef2256/pef2256.c
770
gpiod_set_value_cansleep(pef2256->reset_gpio, 0);
drivers/net/wan/framer/pef2256/pef2256.c
774
pef2256->version = pef2256_get_version(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
775
switch (pef2256->version) {
drivers/net/wan/framer/pef2256/pef2256.c
777
pef2256->version_txt = "1.2";
drivers/net/wan/framer/pef2256/pef2256.c
78
static void pef2256_clrsetbits8(struct pef2256 *pef2256, int offset, u8 clr, u8 set)
drivers/net/wan/framer/pef2256/pef2256.c
780
pef2256->version_txt = "2.1";
drivers/net/wan/framer/pef2256/pef2256.c
783
pef2256->version_txt = "2.2";
drivers/net/wan/framer/pef2256/pef2256.c
788
dev_info(pef2256->dev, "Version %s detected\n", pef2256->version_txt);
drivers/net/wan/framer/pef2256/pef2256.c
790
ret = pef2556_of_parse(pef2256, np);
drivers/net/wan/framer/pef2256/pef2256.c
795
pef2256->framer = devm_framer_create(pef2256->dev, NULL, &pef2256_framer_ops);
drivers/net/wan/framer/pef2256/pef2256.c
796
if (IS_ERR(pef2256->framer))
drivers/net/wan/framer/pef2256/pef2256.c
797
return PTR_ERR(pef2256->framer);
drivers/net/wan/framer/pef2256/pef2256.c
799
framer_set_drvdata(pef2256->framer, pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
80
regmap_update_bits(pef2256->regmap, offset, clr | set, set);
drivers/net/wan/framer/pef2256/pef2256.c
802
pef2256_write8(pef2256, PEF2256_IMR0, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
803
pef2256_write8(pef2256, PEF2256_IMR1, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
804
pef2256_write8(pef2256, PEF2256_IMR2, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
805
pef2256_write8(pef2256, PEF2256_IMR3, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
806
pef2256_write8(pef2256, PEF2256_IMR4, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
807
pef2256_write8(pef2256, PEF2256_IMR5, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
810
pef2256_read8(pef2256, PEF2256_ISR0);
drivers/net/wan/framer/pef2256/pef2256.c
811
pef2256_read8(pef2256, PEF2256_ISR1);
drivers/net/wan/framer/pef2256/pef2256.c
812
pef2256_read8(pef2256, PEF2256_ISR2);
drivers/net/wan/framer/pef2256/pef2256.c
813
pef2256_read8(pef2256, PEF2256_ISR3);
drivers/net/wan/framer/pef2256/pef2256.c
814
pef2256_read8(pef2256, PEF2256_ISR4);
drivers/net/wan/framer/pef2256/pef2256.c
815
pef2256_read8(pef2256, PEF2256_ISR5);
drivers/net/wan/framer/pef2256/pef2256.c
820
ret = devm_request_irq(pef2256->dev, irq, pef2256_irq_handler, 0, "pef2256", pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
824
platform_set_drvdata(pdev, pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
826
ret = devm_mfd_add_devices(pef2256->dev, 0, pef2256_devs,
drivers/net/wan/framer/pef2256/pef2256.c
829
dev_err(pef2256->dev, "add devices failed (%d)\n", ret);
drivers/net/wan/framer/pef2256/pef2256.c
83
enum pef2256_version pef2256_get_version(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
833
ret = pef2256_setup_e1(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
837
framer_provider = devm_framer_provider_of_register(pef2256->dev,
drivers/net/wan/framer/pef2256/pef2256.c
843
ret = pef2256_add_audio_devices(pef2256);
drivers/net/wan/framer/pef2256/pef2256.c
845
dev_err(pef2256->dev, "add audio devices failed (%d)\n", ret);
drivers/net/wan/framer/pef2256/pef2256.c
849
device_create_file(pef2256->dev, &dev_attr_version);
drivers/net/wan/framer/pef2256/pef2256.c
856
struct pef2256 *pef2256 = platform_get_drvdata(pdev);
drivers/net/wan/framer/pef2256/pef2256.c
859
pef2256_write8(pef2256, PEF2256_IMR0, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
860
pef2256_write8(pef2256, PEF2256_IMR1, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
861
pef2256_write8(pef2256, PEF2256_IMR2, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
862
pef2256_write8(pef2256, PEF2256_IMR3, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
863
pef2256_write8(pef2256, PEF2256_IMR4, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
864
pef2256_write8(pef2256, PEF2256_IMR5, 0xff);
drivers/net/wan/framer/pef2256/pef2256.c
866
device_remove_file(pef2256->dev, &dev_attr_version);
drivers/net/wan/framer/pef2256/pef2256.c
88
vstr = pef2256_read8(pef2256, PEF2256_VSTR);
drivers/net/wan/framer/pef2256/pef2256.c
885
struct regmap *pef2256_get_regmap(struct pef2256 *pef2256)
drivers/net/wan/framer/pef2256/pef2256.c
887
return pef2256->regmap;
drivers/net/wan/framer/pef2256/pef2256.c
89
wid = pef2256_read8(pef2256, PEF2256_WID);
drivers/pinctrl/pinctrl-pef2256.c
104
struct pef2256_pinctrl *pef2256 = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/pinctrl-pef2256.c
107
return pef2256->pctrl_desc.pins[selector].name;
drivers/pinctrl/pinctrl-pef2256.c
114
struct pef2256_pinctrl *pef2256 = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/pinctrl-pef2256.c
117
*pins = &pef2256->pctrl_desc.pins[selector].number;
drivers/pinctrl/pinctrl-pef2256.c
133
struct pef2256_pinctrl *pef2256 = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/pinctrl-pef2256.c
135
return pef2256->nfunctions;
drivers/pinctrl/pinctrl-pef2256.c
141
struct pef2256_pinctrl *pef2256 = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/pinctrl-pef2256.c
143
return pef2256->functions[selector].name;
drivers/pinctrl/pinctrl-pef2256.c
150
struct pef2256_pinctrl *pef2256 = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/pinctrl-pef2256.c
152
*groups = pef2256->functions[selector].groups;
drivers/pinctrl/pinctrl-pef2256.c
153
*num_groups = pef2256->functions[selector].ngroups;
drivers/pinctrl/pinctrl-pef2256.c
160
struct pef2256_pinctrl *pef2256 = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/pinctrl-pef2256.c
165
pinreg_desc = pef2256->pctrl_desc.pins[group_selector].drv_data;
drivers/pinctrl/pinctrl-pef2256.c
166
func_val = pef2256->functions[func_selector].func_val;
drivers/pinctrl/pinctrl-pef2256.c
168
return regmap_update_bits(pef2256->regmap, pinreg_desc->offset,
drivers/pinctrl/pinctrl-pef2256.c
272
static int pef2256_register_pinctrl(struct pef2256_pinctrl *pef2256)
drivers/pinctrl/pinctrl-pef2256.c
276
pef2256->pctrl_desc.name = dev_name(pef2256->dev);
drivers/pinctrl/pinctrl-pef2256.c
277
pef2256->pctrl_desc.owner = THIS_MODULE;
drivers/pinctrl/pinctrl-pef2256.c
278
pef2256->pctrl_desc.pctlops = &pef2256_pctlops;
drivers/pinctrl/pinctrl-pef2256.c
279
pef2256->pctrl_desc.pmxops = &pef2256_pmxops;
drivers/pinctrl/pinctrl-pef2256.c
280
if (pef2256->version == PEF2256_VERSION_1_2) {
drivers/pinctrl/pinctrl-pef2256.c
281
pef2256->pctrl_desc.pins = pef2256_v12_pins;
drivers/pinctrl/pinctrl-pef2256.c
282
pef2256->pctrl_desc.npins = ARRAY_SIZE(pef2256_v12_pins);
drivers/pinctrl/pinctrl-pef2256.c
283
pef2256->functions = pef2256_v12_functions;
drivers/pinctrl/pinctrl-pef2256.c
284
pef2256->nfunctions = ARRAY_SIZE(pef2256_v12_functions);
drivers/pinctrl/pinctrl-pef2256.c
286
pef2256->pctrl_desc.pins = pef2256_v2x_pins;
drivers/pinctrl/pinctrl-pef2256.c
287
pef2256->pctrl_desc.npins = ARRAY_SIZE(pef2256_v2x_pins);
drivers/pinctrl/pinctrl-pef2256.c
288
pef2256->functions = pef2256_v2x_functions;
drivers/pinctrl/pinctrl-pef2256.c
289
pef2256->nfunctions = ARRAY_SIZE(pef2256_v2x_functions);
drivers/pinctrl/pinctrl-pef2256.c
292
pctrl = devm_pinctrl_register(pef2256->dev, &pef2256->pctrl_desc, pef2256);
drivers/pinctrl/pinctrl-pef2256.c
294
return dev_err_probe(pef2256->dev, PTR_ERR(pctrl),
drivers/pinctrl/pinctrl-pef2256.c
300
static void pef2256_reset_pinmux(struct pef2256_pinctrl *pef2256)
drivers/pinctrl/pinctrl-pef2256.c
309
if (pef2256->version == PEF2256_VERSION_1_2)
drivers/pinctrl/pinctrl-pef2256.c
314
regmap_write(pef2256->regmap, PEF2256_PC1, val);
drivers/pinctrl/pinctrl-pef2256.c
315
regmap_write(pef2256->regmap, PEF2256_PC2, val);
drivers/pinctrl/pinctrl-pef2256.c
316
regmap_write(pef2256->regmap, PEF2256_PC3, val);
drivers/pinctrl/pinctrl-pef2256.c
317
regmap_write(pef2256->regmap, PEF2256_PC4, val);
drivers/pinctrl/pinctrl-pef2256.c
323
struct pef2256 *pef2256;
drivers/pinctrl/pinctrl-pef2256.c
332
pef2256 = dev_get_drvdata(pdev->dev.parent);
drivers/pinctrl/pinctrl-pef2256.c
335
pef2256_pinctrl->regmap = pef2256_get_regmap(pef2256);
drivers/pinctrl/pinctrl-pef2256.c
336
pef2256_pinctrl->version = pef2256_get_version(pef2256);
drivers/pinctrl/pinctrl-pef2256.c
95
struct pef2256_pinctrl *pef2256 = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/pinctrl-pef2256.c
98
return pef2256->pctrl_desc.npins;
include/linux/framer/pef2256.h
14
struct pef2256;
include/linux/framer/pef2256.h
18
struct regmap *pef2256_get_regmap(struct pef2256 *pef2256);
include/linux/framer/pef2256.h
29
enum pef2256_version pef2256_get_version(struct pef2256 *pef2256);