Lines Matching full:ngd
22 /* NGD (Non-ported Generic Device) registers */
149 struct qcom_slim_ngd *ngd; member
464 req.instance = (ctrl->ngd->id >> 1); in qcom_slim_qmi_init()
756 void __iomem *base = ctrl->ngd->base; in qcom_slim_ngd_interrupt()
1066 u32 cfg = readl_relaxed(ctrl->ngd->base); in qcom_slim_ngd_setup()
1076 /* Enable NGD if it's not already enabled*/ in qcom_slim_ngd_setup()
1080 writel_relaxed(cfg, ctrl->ngd->base); in qcom_slim_ngd_setup()
1086 struct qcom_slim_ngd *ngd = ctrl->ngd; in qcom_slim_ngd_power_up() local
1110 laddr = readl_relaxed(ngd->base + NGD_STATUS); in qcom_slim_ngd_power_up()
1124 writel_relaxed(DEF_NGD_INT_MASK, ngd->base + NGD_INT_EN); in qcom_slim_ngd_power_up()
1125 rx_msgq = readl_relaxed(ngd->base + NGD_RX_MSGQ_CFG); in qcom_slim_ngd_power_up()
1128 ngd->base + NGD_RX_MSGQ_CFG); in qcom_slim_ngd_power_up()
1145 for_each_child_of_node(ctrl->ngd->pdev->dev.of_node, node) { in qcom_slim_ngd_notify_slaves()
1326 #define QCOM_SLIM_NGD_DRV_NAME "qcom,slim-ngd"
1330 .compatible = "qcom,slim-ngd-v1.5.0",
1333 .compatible = "qcom,slim-ngd-v2.1.0",
1345 struct qcom_slim_ngd *ngd; in of_qcom_slim_ngd_register() local
1356 ngd = kzalloc(sizeof(*ngd), GFP_KERNEL); in of_qcom_slim_ngd_register()
1357 if (!ngd) { in of_qcom_slim_ngd_register()
1362 ngd->pdev = platform_device_alloc(QCOM_SLIM_NGD_DRV_NAME, id); in of_qcom_slim_ngd_register()
1363 if (!ngd->pdev) { in of_qcom_slim_ngd_register()
1364 kfree(ngd); in of_qcom_slim_ngd_register()
1368 ngd->id = id; in of_qcom_slim_ngd_register()
1369 ngd->pdev->dev.parent = parent; in of_qcom_slim_ngd_register()
1370 ngd->pdev->driver_override = QCOM_SLIM_NGD_DRV_NAME; in of_qcom_slim_ngd_register()
1371 ngd->pdev->dev.of_node = node; in of_qcom_slim_ngd_register()
1372 ctrl->ngd = ngd; in of_qcom_slim_ngd_register()
1374 platform_device_add(ngd->pdev); in of_qcom_slim_ngd_register()
1375 ngd->base = ctrl->base + ngd->id * data->offset + in of_qcom_slim_ngd_register()
1376 (ngd->id - 1) * data->size; in of_qcom_slim_ngd_register()
1446 IRQF_TRIGGER_HIGH, "slim-ngd", ctrl); in qcom_slim_ngd_ctrl_probe()
1491 kfree(ctrl->ngd); in qcom_slim_ngd_remove()
1492 ctrl->ngd = NULL; in qcom_slim_ngd_remove()
1538 .name = "qcom,slim-ngd-ctrl",
1554 MODULE_DESCRIPTION("Qualcomm SLIMBus NGD controller");