/linux/drivers/input/misc/ |
H A D | nxp-bbnsm-pwrkey.c | 48 struct bbnsm_pwrkey *bbnsm = from_timer(bbnsm, t, check_timer); in bbnsm_pwrkey_check_for_events() local 49 struct input_dev *input = bbnsm->input; in bbnsm_pwrkey_check_for_events() 52 regmap_read(bbnsm->regmap, BBNSM_EVENTS, &state); in bbnsm_pwrkey_check_for_events() 57 if (state ^ bbnsm->keystate) { in bbnsm_pwrkey_check_for_events() 58 bbnsm->keystate = state; in bbnsm_pwrkey_check_for_events() 59 input_event(input, EV_KEY, bbnsm->keycode, state); in bbnsm_pwrkey_check_for_events() 61 pm_relax(bbnsm->input->dev.parent); in bbnsm_pwrkey_check_for_events() 66 mod_timer(&bbnsm->check_timer, in bbnsm_pwrkey_check_for_events() 73 struct bbnsm_pwrkey *bbnsm = platform_get_drvdata(pdev); in bbnsm_pwrkey_interrupt() local 74 struct input_dev *input = bbnsm->input; in bbnsm_pwrkey_interrupt() [all …]
|
H A D | Makefile | 25 obj-$(CONFIG_INPUT_BBNSM_PWRKEY) += nxp-bbnsm-pwrkey.o
|
H A D | Kconfig | 130 tristate "NXP BBNSM Power Key Driver" 134 This is the bbnsm powerkey driver for the NXP i.MX application
|
/linux/drivers/rtc/ |
H A D | rtc-nxp-bbnsm.c | 42 static u32 bbnsm_read_counter(struct bbnsm_rtc *bbnsm) in bbnsm_read_counter() argument 52 regmap_read(bbnsm->regmap, BBNSM_RTC_MS, &rtc_msb); in bbnsm_read_counter() 54 regmap_read(bbnsm->regmap, BBNSM_RTC_LS, &rtc_lsb); in bbnsm_read_counter() 64 struct bbnsm_rtc *bbnsm = dev_get_drvdata(dev); in bbnsm_rtc_read_time() local 68 regmap_read(bbnsm->regmap, BBNSM_CTRL, &val); in bbnsm_rtc_read_time() 72 time = bbnsm_read_counter(bbnsm); in bbnsm_rtc_read_time() 80 struct bbnsm_rtc *bbnsm = dev_get_drvdata(dev); in bbnsm_rtc_set_time() local 84 regmap_update_bits(bbnsm->regmap, BBNSM_CTRL, RTC_EN_MSK, 0); in bbnsm_rtc_set_time() 87 regmap_write(bbnsm->regmap, BBNSM_RTC_LS, time << CNTR_TO_SECS_SH); in bbnsm_rtc_set_time() 88 regmap_write(bbnsm->regmap, BBNSM_RTC_MS, time >> (32 - CNTR_TO_SECS_SH)); in bbnsm_rtc_set_time() [all …]
|
H A D | rtc-imx-sm-bbm.c | 22 struct scmi_imx_bbm *bbnsm = dev_get_drvdata(dev); in scmi_imx_bbm_read_time() local 23 struct scmi_protocol_handle *ph = bbnsm->ph; in scmi_imx_bbm_read_time() 27 ret = bbnsm->ops->rtc_time_get(ph, 0, &val); in scmi_imx_bbm_read_time() 38 struct scmi_imx_bbm *bbnsm = dev_get_drvdata(dev); in scmi_imx_bbm_set_time() local 39 struct scmi_protocol_handle *ph = bbnsm->ph; in scmi_imx_bbm_set_time() 44 return bbnsm->ops->rtc_time_set(ph, 0, val); in scmi_imx_bbm_set_time() 49 struct scmi_imx_bbm *bbnsm = dev_get_drvdata(dev); in scmi_imx_bbm_alarm_irq_enable() local 50 struct scmi_protocol_handle *ph = bbnsm->ph; in scmi_imx_bbm_alarm_irq_enable() 54 return bbnsm->ops->rtc_alarm_set(ph, 0, false, 0); in scmi_imx_bbm_alarm_irq_enable() 61 struct scmi_imx_bbm *bbnsm = dev_get_drvdata(dev); in scmi_imx_bbm_set_alarm() local [all …]
|
H A D | Makefile | 36 obj-$(CONFIG_RTC_DRV_BBNSM) += rtc-nxp-bbnsm.o
|
H A D | Kconfig | 1829 tristate "NXP BBNSM RTC support" 1835 If you say yes here you get support for the NXP BBNSM RTC module. 1838 will be called "rtc-bbnsm".
|
/linux/drivers/input/keyboard/ |
H A D | imx-sm-bbm-key.c | 32 struct scmi_imx_bbm *bbnsm = container_of(to_delayed_work(work), in scmi_imx_bbm_pwrkey_check_for_events() local 34 struct scmi_protocol_handle *ph = bbnsm->ph; in scmi_imx_bbm_pwrkey_check_for_events() 35 struct input_dev *input = bbnsm->input; in scmi_imx_bbm_pwrkey_check_for_events() 39 ret = bbnsm->ops->button_get(ph, &state); in scmi_imx_bbm_pwrkey_check_for_events() 45 pr_debug("%s: state: %d, keystate %d\n", __func__, state, bbnsm->keystate); in scmi_imx_bbm_pwrkey_check_for_events() 48 if (state ^ bbnsm->keystate) { in scmi_imx_bbm_pwrkey_check_for_events() 49 bbnsm->keystate = state; in scmi_imx_bbm_pwrkey_check_for_events() 50 input_event(input, EV_KEY, bbnsm->keycode, state); in scmi_imx_bbm_pwrkey_check_for_events() 52 pm_relax(bbnsm->input->dev.parent); in scmi_imx_bbm_pwrkey_check_for_events() 53 pr_debug("EV_KEY: %x\n", bbnsm->keycode); in scmi_imx_bbm_pwrkey_check_for_events() [all …]
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A D | nxp,bbnsm.yaml | 4 $id: http://devicetree.org/schemas/mfd/nxp,bbnsm.yaml# 13 NXP BBNSM serves as non-volatile logic and storage for the system. 19 The ON/OFF logic inside the BBNSM allows for connecting directly to 27 - nxp,imx93-bbnsm 41 - nxp,imx93-bbnsm-rtc 61 - nxp,imx93-bbnsm-pwrkey 87 bbnsm: bbnsm@44440000 { 88 compatible = "nxp,imx93-bbnsm", "syscon", "simple-mfd"; 92 compatible = "nxp,imx93-bbnsm-rtc"; 97 compatible = "nxp,imx93-bbnsm-pwrkey";
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx93.dtsi | 480 bbnsm: bbnsm@44440000 { label 481 compatible = "nxp,imx93-bbnsm", "syscon", "simple-mfd"; 485 compatible = "nxp,imx93-bbnsm-rtc"; 490 compatible = "nxp,imx93-bbnsm-pwrkey";
|
/linux/drivers/firmware/arm_scmi/vendors/imx/ |
H A D | imx95.rst | 52 For most SoC, there is one on-chip RTC (e.g. in BBNSM) and this is RTC ID 0.
|