• Home
  • Raw
  • Download

Lines Matching +full:0 +full:x31000000

25 #define SCC_GSMRL	0x00
28 #define SCC_GSMRL_MODE_QMC (0x0A << 0)
31 #define SCC_GSMRH 0x04
38 #define SCC_SCCE 0x10
42 #define SCC_SCCE_GOV (1 << 0)
45 #define SCC_SCCM 0x14
47 #define QMC_GBL_MCBASE 0x00
49 #define QMC_GBL_QMCSTATE 0x04
51 #define QMC_GBL_MRBLR 0x06
53 #define QMC_GBL_TX_S_PTR 0x08
55 #define QMC_GBL_RXPTR 0x0A
57 #define QMC_GBL_GRFTHR 0x0C
59 #define QMC_GBL_GRFCNT 0x0E
61 #define QMC_GBL_INTBASE 0x10
63 #define QMC_GBL_INTPTR 0x14
65 #define QMC_GBL_RX_S_PTR 0x18
67 #define QMC_GBL_TXPTR 0x1A
69 #define QMC_GBL_C_MASK32 0x1C
71 #define QMC_GBL_TSATRX 0x20
73 #define QMC_GBL_TSATTX 0x60
75 #define QMC_GBL_C_MASK16 0xA0
80 #define QMC_TSA_MASK (0x303F)
84 #define QMC_SPE_TBASE 0x00
87 #define QMC_SPE_CHAMR 0x02
89 #define QMC_SPE_CHAMR_MODE_TRANSP ((0 << 15) | (1 << 13))
94 #define QMC_SPE_CHAMR_HDLC_NOF (0x0f << 0)
99 #define QMC_SPE_TSTATE 0x04
101 #define QMC_SPE_TBPTR 0x0C
103 #define QMC_SPE_ZISTATE 0x14
105 #define QMC_SPE_INTMSK 0x1C
107 #define QMC_SPE_RBASE 0x20
109 #define QMC_SPE_MFLR 0x22
111 #define QMC_SPE_TMRBLR 0x22
113 #define QMC_SPE_RSTATE 0x24
115 #define QMC_SPE_RBPTR 0x2C
117 #define QMC_SPE_RPACK 0x30
119 #define QMC_SPE_ZDSTATE 0x34
122 #define QMC_SPE_TRNSYNC 0x3C
124 #define QMC_SPE_TRNSYNC_TX(x) ((x) << 0)
131 #define QMC_INT_GET_CHANNEL(x) (((x) & 0x0FC0) >> 6)
137 #define QMC_INT_RXB (1 << 0)
159 #define QMC_BD_TX_PAD (0x0f << 0)
275 return 0; in qmc_chan_get_info()
312 return 0; in qmc_chan_set_param()
327 * 0 0 : The BD is free in qmc_chan_write_submit()
329 * 0 1 : The BD is in used, waiting for completion in qmc_chan_write_submit()
330 * 1 0 : Should not append in qmc_chan_write_submit()
363 ret = 0; in qmc_chan_write_submit()
382 * 0 0 : The BD is free in qmc_chan_write_done()
384 * 0 1 : The BD is in used, waiting for completion in qmc_chan_write_done()
385 * 1 0 : Should not append in qmc_chan_write_done()
434 * 0 0 : The BD is free in qmc_chan_read_submit()
436 * 0 1 : The BD is in used, waiting for completion in qmc_chan_read_submit()
437 * 1 0 : Should not append in qmc_chan_read_submit()
450 qmc_write16(&bd->cbd_datlen, 0); /* data length is updated by the QMC */ in qmc_chan_read_submit()
466 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x18000080); in qmc_chan_read_submit()
468 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x00000080); in qmc_chan_read_submit()
469 qmc_write32(chan->s_param + QMC_SPE_RSTATE, 0x31000000); in qmc_chan_read_submit()
479 ret = 0; in qmc_chan_read_submit()
498 * 0 0 : The BD is free in qmc_chan_read_done()
500 * 0 1 : The BD is in used, waiting for completion in qmc_chan_read_done()
501 * 1 0 : Should not append in qmc_chan_read_done()
544 return cpm_command(chan->id << 2, (qmc_opcode << 4) | 0x0E); in qmc_chan_command()
555 ret = qmc_chan_command(chan, 0x0); in qmc_chan_stop_rx()
577 ret = qmc_chan_command(chan, 0x1); in qmc_chan_stop_tx()
607 return 0; in qmc_chan_stop()
619 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x18000080); in qmc_chan_start_rx()
621 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x00000080); in qmc_chan_start_rx()
622 qmc_write32(chan->s_param + QMC_SPE_RSTATE, 0x31000000); in qmc_chan_start_rx()
658 return 0; in qmc_chan_start()
687 chan->rx_pending = 0; in qmc_chan_reset_rx()
722 qmc_write32(chan->s_param + QMC_SPE_TSTATE, 0x30000000); in qmc_chan_reset_tx()
723 qmc_write32(chan->s_param + QMC_SPE_ZISTATE, 0x00000100); in qmc_chan_reset_tx()
736 return 0; in qmc_chan_reset()
745 u64 tx_ts_mask = 0; in qmc_check_chans()
746 u64 rx_ts_mask = 0; in qmc_check_chans()
804 return 0; in qmc_check_chans()
809 unsigned int count = 0; in qmc_nb_chans()
910 for (i = 0; i < 64; i++) in qmc_setup_tsa_64rxtx()
911 qmc_write16(qmc->scc_pram + QMC_GBL_TSATRX + (i * 2), 0x0000); in qmc_setup_tsa_64rxtx()
915 for (i = 0; i < info->nb_rx_ts; i++) { in qmc_setup_tsa_64rxtx()
936 return 0; in qmc_setup_tsa_64rxtx()
951 for (i = 0; i < 32; i++) { in qmc_setup_tsa_32rx_32tx()
952 qmc_write16(qmc->scc_pram + QMC_GBL_TSATRX + (i * 2), 0x0000); in qmc_setup_tsa_32rx_32tx()
953 qmc_write16(qmc->scc_pram + QMC_GBL_TSATTX + (i * 2), 0x0000); in qmc_setup_tsa_32rx_32tx()
959 for (i = 0; i < info->nb_rx_ts; i++) { in qmc_setup_tsa_32rx_32tx()
968 for (i = 0; i < info->nb_tx_ts; i++) { in qmc_setup_tsa_32rx_32tx()
994 return 0; in qmc_setup_tsa_32rx_32tx()
1029 first_rx = chan->rx_ts_mask ? __ffs64(chan->rx_ts_mask) + 1 : 0; in qmc_setup_chan_trnsync()
1034 trnsync = 0; in qmc_setup_chan_trnsync()
1042 dev_dbg(qmc->dev, "chan %u: trnsync=0x%04x, rx %u/%u 0x%llx, tx %u/%u 0x%llx\n", in qmc_setup_chan_trnsync()
1047 return 0; in qmc_setup_chan_trnsync()
1079 qmc_write32(chan->s_param + QMC_SPE_TSTATE, 0x30000000); in qmc_setup_chan()
1080 qmc_write32(chan->s_param + QMC_SPE_RSTATE, 0x31000000); in qmc_setup_chan()
1081 qmc_write32(chan->s_param + QMC_SPE_ZISTATE, 0x00000100); in qmc_setup_chan()
1083 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x18000080); in qmc_setup_chan()
1093 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x00000080); in qmc_setup_chan()
1100 qmc_write16(chan->s_param + QMC_SPE_INTMSK, 0x0000); in qmc_setup_chan()
1103 BUILD_BUG_ON(QMC_NB_RXBDS == 0); in qmc_setup_chan()
1105 for (i = 0; i < QMC_NB_RXBDS; i++) { in qmc_setup_chan()
1113 BUILD_BUG_ON(QMC_NB_TXBDS == 0); in qmc_setup_chan()
1117 for (i = 0; i < QMC_NB_TXBDS; i++) { in qmc_setup_chan()
1124 return 0; in qmc_setup_chan()
1138 return 0; in qmc_setup_chans()
1165 return 0; in qmc_finalize_chans()
1174 for (i = 0; i < (qmc->int_size / sizeof(u16)); i++) in qmc_setup_ints()
1175 qmc_write16(qmc->int_table + i, 0x0000); in qmc_setup_ints()
1183 return 0; in qmc_setup_ints()
1209 dev_info(qmc->dev, "intr chan %u, 0x%04x (UN)\n", chan_id, in qmc_irq_gint()
1215 dev_info(qmc->dev, "intr chan %u, 0x%04x (BSY)\n", chan_id, in qmc_irq_gint()
1222 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x18000080); in qmc_irq_gint()
1224 qmc_write32(chan->s_param + QMC_SPE_ZDSTATE, 0x00000080); in qmc_irq_gint()
1225 qmc_write32(chan->s_param + QMC_SPE_RSTATE, 0x31000000); in qmc_irq_gint()
1341 memset(qmc->bd_table, 0, qmc->bd_size); in qmc_probe()
1354 memset(qmc->int_table, 0, qmc->int_size); in qmc_probe()
1366 qmc_write32(qmc->scc_pram + QMC_GBL_C_MASK32, 0xDEBB20E3); in qmc_probe()
1367 qmc_write16(qmc->scc_pram + QMC_GBL_C_MASK16, 0xF0B8); in qmc_probe()
1373 qmc_write16(qmc->scc_pram + QMC_GBL_QMCSTATE, 0x8000); in qmc_probe()
1385 qmc_write16(qmc->scc_regs + SCC_SCCM, 0x0000); in qmc_probe()
1386 qmc_write16(qmc->scc_regs + SCC_SCCE, 0x000F); in qmc_probe()
1387 irq = platform_get_irq(pdev, 0); in qmc_probe()
1388 if (irq < 0) in qmc_probe()
1390 ret = devm_request_irq(qmc->dev, irq, qmc_irq_handler, 0, "qmc", qmc); in qmc_probe()
1391 if (ret < 0) in qmc_probe()
1399 if (ret < 0) in qmc_probe()
1407 return 0; in qmc_probe()
1410 qmc_write16(qmc->scc_regs + SCC_SCCM, 0); in qmc_probe()
1422 qmc_setbits32(qmc->scc_regs + SCC_GSMRL, 0); in qmc_remove()
1425 qmc_write16(qmc->scc_regs + SCC_SCCM, 0); in qmc_remove()
1430 return 0; in qmc_remove()
1457 ret = of_parse_phandle_with_fixed_args(np, phandle_name, 1, 0, in qmc_chan_get_byphandle()
1459 if (ret < 0) in qmc_chan_get_byphandle()
1483 if (out_args.args[0] >= ARRAY_SIZE(qmc->chans)) { in qmc_chan_get_byphandle()
1488 qmc_chan = qmc->chans[out_args.args[0]]; in qmc_chan_get_byphandle()