Lines Matching +full:pl353 +full:- +full:smc +full:- +full:r2p1
1 // SPDX-License-Identifier: GPL-2.0
3 * ARM PL353 SMC driver
5 * Copyright (C) 2012 - 2018 Xilinx, Inc
19 * struct pl353_smc_data - Private smc driver structure
32 clk_disable(pl353_smc->memclk); in pl353_smc_suspend()
33 clk_disable(pl353_smc->aclk); in pl353_smc_suspend()
43 ret = clk_enable(pl353_smc->aclk); in pl353_smc_resume()
49 ret = clk_enable(pl353_smc->memclk); in pl353_smc_resume()
52 clk_disable(pl353_smc->aclk); in pl353_smc_resume()
64 .compatible = "cfi-flash"
67 .compatible = "arm,pl353-nand-r2p1",
74 struct device_node *of_node = adev->dev.of_node; in pl353_smc_probe()
78 pl353_smc = devm_kzalloc(&adev->dev, sizeof(*pl353_smc), GFP_KERNEL); in pl353_smc_probe()
80 return -ENOMEM; in pl353_smc_probe()
82 pl353_smc->aclk = devm_clk_get_enabled(&adev->dev, "apb_pclk"); in pl353_smc_probe()
83 if (IS_ERR(pl353_smc->aclk)) in pl353_smc_probe()
84 return dev_err_probe(&adev->dev, PTR_ERR(pl353_smc->aclk), in pl353_smc_probe()
87 pl353_smc->memclk = devm_clk_get_enabled(&adev->dev, "memclk"); in pl353_smc_probe()
88 if (IS_ERR(pl353_smc->memclk)) in pl353_smc_probe()
89 return dev_err_probe(&adev->dev, PTR_ERR(pl353_smc->memclk), in pl353_smc_probe()
98 dev_warn(&adev->dev, "unsupported child node\n"); in pl353_smc_probe()
101 of_platform_device_create(child, NULL, &adev->dev); in pl353_smc_probe()
105 dev_err(&adev->dev, "no matching children\n"); in pl353_smc_probe()
106 return -ENODEV; in pl353_smc_probe()
123 .name = "pl353-smc",
133 MODULE_DESCRIPTION("ARM PL353 SMC Driver");