Lines Matching full:ngd
26 /* NGD (Non-ported Generic Device) registers */
152 struct qcom_slim_ngd *ngd; member
474 req.instance = (ctrl->ngd->id >> 1); in qcom_slim_qmi_init()
764 void __iomem *base = ctrl->ngd->base; in qcom_slim_ngd_interrupt()
1151 u32 cfg = readl_relaxed(ctrl->ngd->base); in qcom_slim_ngd_setup()
1161 /* Enable NGD if it's not already enabled*/ in qcom_slim_ngd_setup()
1165 writel_relaxed(cfg, ctrl->ngd->base); in qcom_slim_ngd_setup()
1171 struct qcom_slim_ngd *ngd = ctrl->ngd; in qcom_slim_ngd_power_up() local
1196 laddr = readl_relaxed(ngd->base + NGD_STATUS); in qcom_slim_ngd_power_up()
1212 * is lost for ngd. in qcom_slim_ngd_power_up()
1216 writel_relaxed(DEF_NGD_INT_MASK, ngd->base + NGD_INT_EN); in qcom_slim_ngd_power_up()
1217 rx_msgq = readl_relaxed(ngd->base + NGD_RX_MSGQ_CFG); in qcom_slim_ngd_power_up()
1220 ngd->base + NGD_RX_MSGQ_CFG); in qcom_slim_ngd_power_up()
1237 for_each_child_of_node(ctrl->ngd->pdev->dev.of_node, node) { in qcom_slim_ngd_notify_slaves()
1426 #define QCOM_SLIM_NGD_DRV_NAME "qcom,slim-ngd"
1430 .compatible = "qcom,slim-ngd-v1.5.0",
1433 .compatible = "qcom,slim-ngd-v2.1.0",
1515 struct qcom_slim_ngd *ngd; in of_qcom_slim_ngd_register() local
1527 ngd = kzalloc(sizeof(*ngd), GFP_KERNEL); in of_qcom_slim_ngd_register()
1528 if (!ngd) { in of_qcom_slim_ngd_register()
1533 ngd->pdev = platform_device_alloc(QCOM_SLIM_NGD_DRV_NAME, id); in of_qcom_slim_ngd_register()
1534 if (!ngd->pdev) { in of_qcom_slim_ngd_register()
1535 kfree(ngd); in of_qcom_slim_ngd_register()
1539 ngd->id = id; in of_qcom_slim_ngd_register()
1540 ngd->pdev->dev.parent = parent; in of_qcom_slim_ngd_register()
1542 ret = driver_set_override(&ngd->pdev->dev, in of_qcom_slim_ngd_register()
1543 &ngd->pdev->driver_override, in of_qcom_slim_ngd_register()
1547 platform_device_put(ngd->pdev); in of_qcom_slim_ngd_register()
1548 kfree(ngd); in of_qcom_slim_ngd_register()
1552 ngd->pdev->dev.of_node = node; in of_qcom_slim_ngd_register()
1553 ctrl->ngd = ngd; in of_qcom_slim_ngd_register()
1555 ret = platform_device_add(ngd->pdev); in of_qcom_slim_ngd_register()
1557 platform_device_put(ngd->pdev); in of_qcom_slim_ngd_register()
1558 kfree(ngd); in of_qcom_slim_ngd_register()
1562 ngd->base = ctrl->base + ngd->id * data->offset + in of_qcom_slim_ngd_register()
1563 (ngd->id - 1) * data->size; in of_qcom_slim_ngd_register()
1631 IRQF_TRIGGER_HIGH, "slim-ngd", ctrl); in qcom_slim_ngd_ctrl_probe()
1703 kfree(ctrl->ngd); in qcom_slim_ngd_remove()
1704 ctrl->ngd = NULL; in qcom_slim_ngd_remove()
1749 .name = "qcom,slim-ngd-ctrl",
1765 MODULE_DESCRIPTION("Qualcomm SLIMBus NGD controller");