/kernel/linux/linux-5.10/drivers/media/cec/platform/meson/ |
H A D | ao-cec.c | 231 static inline int meson_ao_cec_wait_busy(struct meson_ao_cec_device *ao_cec) in meson_ao_cec_wait_busy() argument 235 while (readl_relaxed(ao_cec->base + CEC_RW_REG) & CEC_RW_BUS_BUSY) { in meson_ao_cec_wait_busy() 243 static void meson_ao_cec_read(struct meson_ao_cec_device *ao_cec, in meson_ao_cec_read() argument 254 spin_lock_irqsave(&ao_cec->cec_reg_lock, flags); in meson_ao_cec_read() 256 ret = meson_ao_cec_wait_busy(ao_cec); in meson_ao_cec_read() 260 writel_relaxed(reg, ao_cec->base + CEC_RW_REG); in meson_ao_cec_read() 262 ret = meson_ao_cec_wait_busy(ao_cec); in meson_ao_cec_read() 267 readl_relaxed(ao_cec->base + CEC_RW_REG)); in meson_ao_cec_read() 270 spin_unlock_irqrestore(&ao_cec->cec_reg_lock, flags); in meson_ao_cec_read() 276 static void meson_ao_cec_write(struct meson_ao_cec_device *ao_cec, in meson_ao_cec_write() argument 304 meson_ao_cec_irq_setup(struct meson_ao_cec_device *ao_cec, bool enable) meson_ao_cec_irq_setup() argument 313 meson_ao_cec_clear(struct meson_ao_cec_device *ao_cec) meson_ao_cec_clear() argument 339 meson_ao_cec_arbit_bit_time_set(struct meson_ao_cec_device *ao_cec, unsigned int bit_set, unsigned int time_set) meson_ao_cec_arbit_bit_time_set() argument 373 struct meson_ao_cec_device *ao_cec = data; meson_ao_cec_irq() local 382 meson_ao_cec_irq_tx(struct meson_ao_cec_device *ao_cec) meson_ao_cec_irq_tx() argument 426 meson_ao_cec_irq_rx(struct meson_ao_cec_device *ao_cec) meson_ao_cec_irq_rx() argument 473 struct meson_ao_cec_device *ao_cec = data; meson_ao_cec_irq_thread() local 486 struct meson_ao_cec_device *ao_cec = adap->priv; meson_ao_cec_set_log_addr() local 518 struct meson_ao_cec_device *ao_cec = adap->priv; meson_ao_cec_transmit() local 545 struct meson_ao_cec_device *ao_cec = adap->priv; meson_ao_cec_adap_enable() local 603 struct meson_ao_cec_device *ao_cec; meson_ao_cec_probe() local 703 struct meson_ao_cec_device *ao_cec = platform_get_drvdata(pdev); meson_ao_cec_remove() local [all...] |
H A D | ao-cec-g12a.c | 333 static int meson_ao_cec_g12a_setup_clk(struct meson_ao_cec_g12a_device *ao_cec) in meson_ao_cec_g12a_setup_clk() argument 336 struct device *dev = &ao_cec->pdev->dev; in meson_ao_cec_g12a_setup_clk() 350 parent_name = __clk_get_name(ao_cec->oscin); in meson_ao_cec_g12a_setup_clk() 357 dualdiv_clk->regmap = ao_cec->regmap; in meson_ao_cec_g12a_setup_clk() 367 ao_cec->core = clk; in meson_ao_cec_g12a_setup_clk() 375 struct meson_ao_cec_g12a_device *ao_cec = context; in meson_ao_cec_g12a_read() local 379 ret = regmap_write(ao_cec->regmap, CECB_RW_REG, reg); in meson_ao_cec_g12a_read() 383 ret = regmap_read_poll_timeout(ao_cec->regmap, CECB_RW_REG, reg, in meson_ao_cec_g12a_read() 389 ret = regmap_read(ao_cec->regmap, CECB_RW_REG, ®); in meson_ao_cec_g12a_read() 399 struct meson_ao_cec_g12a_device *ao_cec in meson_ao_cec_g12a_write() local 416 meson_ao_cec_g12a_irq_setup(struct meson_ao_cec_g12a_device *ao_cec, bool enable) meson_ao_cec_g12a_irq_setup() argument 427 meson_ao_cec_g12a_irq_rx(struct meson_ao_cec_g12a_device *ao_cec) meson_ao_cec_g12a_irq_rx() argument 454 struct meson_ao_cec_g12a_device *ao_cec = data; meson_ao_cec_g12a_irq() local 466 struct meson_ao_cec_g12a_device *ao_cec = data; meson_ao_cec_g12a_irq_thread() local 502 struct meson_ao_cec_g12a_device *ao_cec = adap->priv; meson_ao_cec_g12a_set_log_addr() local 532 struct meson_ao_cec_g12a_device *ao_cec = adap->priv; meson_ao_cec_g12a_transmit() local 584 struct meson_ao_cec_g12a_device *ao_cec = adap->priv; meson_ao_cec_g12a_adap_enable() local 634 struct meson_ao_cec_g12a_device *ao_cec; meson_ao_cec_g12a_probe() local 751 struct meson_ao_cec_g12a_device *ao_cec = platform_get_drvdata(pdev); meson_ao_cec_g12a_remove() local [all...] |
/kernel/linux/linux-6.6/drivers/media/cec/platform/meson/ |
H A D | ao-cec.c | 231 static inline int meson_ao_cec_wait_busy(struct meson_ao_cec_device *ao_cec) in meson_ao_cec_wait_busy() argument 235 while (readl_relaxed(ao_cec->base + CEC_RW_REG) & CEC_RW_BUS_BUSY) { in meson_ao_cec_wait_busy() 243 static void meson_ao_cec_read(struct meson_ao_cec_device *ao_cec, in meson_ao_cec_read() argument 254 spin_lock_irqsave(&ao_cec->cec_reg_lock, flags); in meson_ao_cec_read() 256 ret = meson_ao_cec_wait_busy(ao_cec); in meson_ao_cec_read() 260 writel_relaxed(reg, ao_cec->base + CEC_RW_REG); in meson_ao_cec_read() 262 ret = meson_ao_cec_wait_busy(ao_cec); in meson_ao_cec_read() 267 readl_relaxed(ao_cec->base + CEC_RW_REG)); in meson_ao_cec_read() 270 spin_unlock_irqrestore(&ao_cec->cec_reg_lock, flags); in meson_ao_cec_read() 276 static void meson_ao_cec_write(struct meson_ao_cec_device *ao_cec, in meson_ao_cec_write() argument 304 meson_ao_cec_irq_setup(struct meson_ao_cec_device *ao_cec, bool enable) meson_ao_cec_irq_setup() argument 313 meson_ao_cec_clear(struct meson_ao_cec_device *ao_cec) meson_ao_cec_clear() argument 339 meson_ao_cec_arbit_bit_time_set(struct meson_ao_cec_device *ao_cec, unsigned int bit_set, unsigned int time_set) meson_ao_cec_arbit_bit_time_set() argument 373 struct meson_ao_cec_device *ao_cec = data; meson_ao_cec_irq() local 382 meson_ao_cec_irq_tx(struct meson_ao_cec_device *ao_cec) meson_ao_cec_irq_tx() argument 426 meson_ao_cec_irq_rx(struct meson_ao_cec_device *ao_cec) meson_ao_cec_irq_rx() argument 473 struct meson_ao_cec_device *ao_cec = data; meson_ao_cec_irq_thread() local 486 struct meson_ao_cec_device *ao_cec = adap->priv; meson_ao_cec_set_log_addr() local 518 struct meson_ao_cec_device *ao_cec = adap->priv; meson_ao_cec_transmit() local 545 struct meson_ao_cec_device *ao_cec = adap->priv; meson_ao_cec_adap_enable() local 603 struct meson_ao_cec_device *ao_cec; meson_ao_cec_probe() local 701 struct meson_ao_cec_device *ao_cec = platform_get_drvdata(pdev); meson_ao_cec_remove() local [all...] |
H A D | ao-cec-g12a.c | 333 static int meson_ao_cec_g12a_setup_clk(struct meson_ao_cec_g12a_device *ao_cec) in meson_ao_cec_g12a_setup_clk() argument 336 struct device *dev = &ao_cec->pdev->dev; in meson_ao_cec_g12a_setup_clk() 350 parent_name = __clk_get_name(ao_cec->oscin); in meson_ao_cec_g12a_setup_clk() 357 dualdiv_clk->regmap = ao_cec->regmap; in meson_ao_cec_g12a_setup_clk() 367 ao_cec->core = clk; in meson_ao_cec_g12a_setup_clk() 375 struct meson_ao_cec_g12a_device *ao_cec = context; in meson_ao_cec_g12a_read() local 379 ret = regmap_write(ao_cec->regmap, CECB_RW_REG, reg); in meson_ao_cec_g12a_read() 383 ret = regmap_read_poll_timeout(ao_cec->regmap, CECB_RW_REG, reg, in meson_ao_cec_g12a_read() 389 ret = regmap_read(ao_cec->regmap, CECB_RW_REG, ®); in meson_ao_cec_g12a_read() 399 struct meson_ao_cec_g12a_device *ao_cec in meson_ao_cec_g12a_write() local 416 meson_ao_cec_g12a_irq_setup(struct meson_ao_cec_g12a_device *ao_cec, bool enable) meson_ao_cec_g12a_irq_setup() argument 427 meson_ao_cec_g12a_irq_rx(struct meson_ao_cec_g12a_device *ao_cec) meson_ao_cec_g12a_irq_rx() argument 454 struct meson_ao_cec_g12a_device *ao_cec = data; meson_ao_cec_g12a_irq() local 466 struct meson_ao_cec_g12a_device *ao_cec = data; meson_ao_cec_g12a_irq_thread() local 502 struct meson_ao_cec_g12a_device *ao_cec = adap->priv; meson_ao_cec_g12a_set_log_addr() local 532 struct meson_ao_cec_g12a_device *ao_cec = adap->priv; meson_ao_cec_g12a_transmit() local 584 struct meson_ao_cec_g12a_device *ao_cec = adap->priv; meson_ao_cec_g12a_adap_enable() local 634 struct meson_ao_cec_g12a_device *ao_cec; meson_ao_cec_g12a_probe() local 749 struct meson_ao_cec_g12a_device *ao_cec = platform_get_drvdata(pdev); meson_ao_cec_g12a_remove() local [all...] |
/kernel/linux/linux-5.10/drivers/pinctrl/meson/ |
H A D | pinctrl-meson-gxl.c | 566 GROUP(ao_cec, 0, 15), 763 "ao_cec", "ee_cec",
|
H A D | pinctrl-meson-gxbb.c | 586 GROUP(ao_cec, 0, 15), 798 "ao_cec", "ee_cec",
|
/kernel/linux/linux-6.6/drivers/pinctrl/meson/ |
H A D | pinctrl-meson-gxl.c | 566 GROUP(ao_cec, 0, 15), 763 "ao_cec", "ee_cec",
|
H A D | pinctrl-meson-gxbb.c | 586 GROUP(ao_cec, 0, 15), 798 "ao_cec", "ee_cec",
|