Loading Documentation/devicetree/bindings/soc/qcom/bgrsb_rpmsg.txt 0 → 100644 +20 −0 Original line number Diff line number Diff line Qualcomm technologies, Inc. bgrsb-rpmsg BGRSB-RPMSG : bgrsb-rpmsg is used as an interface between BG-RSB and Blackghost for Glink communication. bg-rsb is used to communicate with Blackghost over Glink to configure the RSB events. Required properties: - compatible : should be "qcom,bgrsb-rpmsg" - glink-channels : RSB_CTRL - glinkpkt-edge : bg - intents : <0x200 20> Example: qcom,bg-rsb { compatible = "qcom,bgrsb-rpmsg"; qcom,glink-channels = "RSB_CTRL"; qcom,glinkpkt-edge = "bg"; intents = <0x200 20>; }; drivers/soc/qcom/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -1040,6 +1040,15 @@ config MSM_BGRSB the regulator specific to RSB. Sends the side band events generated by BG to input framework. config MSM_BGRSB_RPMSG bool "Provide support for Blackghost events to RSB" depends on MSM_BGRSB help BGRSB-RPMSG informs BGRSB driver if GLINK channel has been opened by remote processor. It doesn't maintain state machine and is probed when BG opens channel and removed when the channel is closed by remote processor. config MSM_PIL_SSR_BG tristate "MSM Subsystem Blackghost(BG) Support" depends on MSM_PIL && MSM_SUBSYSTEM_RESTART Loading drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ obj-$(CONFIG_SDX_EXT_IPC) += sdx_ext_ipc.o obj-$(CONFIG_MSM_PIL_SSR_BG) += subsys-pil-bg.o obj-$(CONFIG_QTI_NOTIFY_SIDEBAND) += sideband_notify.o obj-$(CONFIG_MSM_BGRSB) += bg_rsb.o obj-$(CONFIG_MSM_BGRSB_RPMSG) += bgrsb_rpmsg.o ifdef CONFIG_MSM_SUBSYSTEM_RESTART obj-y += subsystem_notif.o Loading drivers/soc/qcom/bg_rsb.c +4 −8 Original line number Diff line number Diff line Loading @@ -582,9 +582,13 @@ static int split_bg_work(struct bgrsb_priv *dev, char *str) return ret; switch (val) { case BGRSB_IN_TWM: dev->is_in_twm = true; case BGRSB_POWER_DISABLE: queue_work(dev->bgrsb_wq, &dev->rsb_down_work); break; case BGRSB_OUT_TWM: dev->is_in_twm = false; case BGRSB_POWER_ENABLE: queue_work(dev->bgrsb_wq, &dev->rsb_up_work); break; Loading Loading @@ -623,14 +627,6 @@ static int split_bg_work(struct bgrsb_priv *dev, char *str) dev->bttn_configs = (uint8_t)val; queue_work(dev->bgrsb_wq, &dev->bttn_configr_work); break; case BGRSB_IN_TWM: dev->is_in_twm = true; case BGRSB_GLINK_POWER_DISABLE: break; case BGRSB_OUT_TWM: dev->is_in_twm = false; case BGRSB_GLINK_POWER_ENABLE: break; } return 0; } Loading drivers/soc/qcom/bgrsb.h +0 −2 Original line number Diff line number Diff line Loading @@ -51,8 +51,6 @@ struct event { #define BGRSB_POWER_ENABLE 1 #define BGRSB_POWER_CALIBRATION 2 #define BGRSB_BTTN_CONFIGURE 5 #define BGRSB_GLINK_POWER_ENABLE 6 #define BGRSB_GLINK_POWER_DISABLE 7 #define BGRSB_IN_TWM 8 #define BGRSB_OUT_TWM 9 Loading Loading
Documentation/devicetree/bindings/soc/qcom/bgrsb_rpmsg.txt 0 → 100644 +20 −0 Original line number Diff line number Diff line Qualcomm technologies, Inc. bgrsb-rpmsg BGRSB-RPMSG : bgrsb-rpmsg is used as an interface between BG-RSB and Blackghost for Glink communication. bg-rsb is used to communicate with Blackghost over Glink to configure the RSB events. Required properties: - compatible : should be "qcom,bgrsb-rpmsg" - glink-channels : RSB_CTRL - glinkpkt-edge : bg - intents : <0x200 20> Example: qcom,bg-rsb { compatible = "qcom,bgrsb-rpmsg"; qcom,glink-channels = "RSB_CTRL"; qcom,glinkpkt-edge = "bg"; intents = <0x200 20>; };
drivers/soc/qcom/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -1040,6 +1040,15 @@ config MSM_BGRSB the regulator specific to RSB. Sends the side band events generated by BG to input framework. config MSM_BGRSB_RPMSG bool "Provide support for Blackghost events to RSB" depends on MSM_BGRSB help BGRSB-RPMSG informs BGRSB driver if GLINK channel has been opened by remote processor. It doesn't maintain state machine and is probed when BG opens channel and removed when the channel is closed by remote processor. config MSM_PIL_SSR_BG tristate "MSM Subsystem Blackghost(BG) Support" depends on MSM_PIL && MSM_SUBSYSTEM_RESTART Loading
drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ obj-$(CONFIG_SDX_EXT_IPC) += sdx_ext_ipc.o obj-$(CONFIG_MSM_PIL_SSR_BG) += subsys-pil-bg.o obj-$(CONFIG_QTI_NOTIFY_SIDEBAND) += sideband_notify.o obj-$(CONFIG_MSM_BGRSB) += bg_rsb.o obj-$(CONFIG_MSM_BGRSB_RPMSG) += bgrsb_rpmsg.o ifdef CONFIG_MSM_SUBSYSTEM_RESTART obj-y += subsystem_notif.o Loading
drivers/soc/qcom/bg_rsb.c +4 −8 Original line number Diff line number Diff line Loading @@ -582,9 +582,13 @@ static int split_bg_work(struct bgrsb_priv *dev, char *str) return ret; switch (val) { case BGRSB_IN_TWM: dev->is_in_twm = true; case BGRSB_POWER_DISABLE: queue_work(dev->bgrsb_wq, &dev->rsb_down_work); break; case BGRSB_OUT_TWM: dev->is_in_twm = false; case BGRSB_POWER_ENABLE: queue_work(dev->bgrsb_wq, &dev->rsb_up_work); break; Loading Loading @@ -623,14 +627,6 @@ static int split_bg_work(struct bgrsb_priv *dev, char *str) dev->bttn_configs = (uint8_t)val; queue_work(dev->bgrsb_wq, &dev->bttn_configr_work); break; case BGRSB_IN_TWM: dev->is_in_twm = true; case BGRSB_GLINK_POWER_DISABLE: break; case BGRSB_OUT_TWM: dev->is_in_twm = false; case BGRSB_GLINK_POWER_ENABLE: break; } return 0; } Loading
drivers/soc/qcom/bgrsb.h +0 −2 Original line number Diff line number Diff line Loading @@ -51,8 +51,6 @@ struct event { #define BGRSB_POWER_ENABLE 1 #define BGRSB_POWER_CALIBRATION 2 #define BGRSB_BTTN_CONFIGURE 5 #define BGRSB_GLINK_POWER_ENABLE 6 #define BGRSB_GLINK_POWER_DISABLE 7 #define BGRSB_IN_TWM 8 #define BGRSB_OUT_TWM 9 Loading