Lines Matching +full:exynos5433 +full:- +full:i2s

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2015 - 2016 Samsung Electronics Co., Ltd.
11 * devices for IP blocks like DMAC, I2S, UART.
23 #include <linux/soc/samsung/exynos-regs-pmu.h>
61 regmap_read(lpass->top, SFR_LPASS_CORE_SW_RESET, &val); in exynos_lpass_core_sw_reset()
64 regmap_write(lpass->top, SFR_LPASS_CORE_SW_RESET, val); in exynos_lpass_core_sw_reset()
69 regmap_write(lpass->top, SFR_LPASS_CORE_SW_RESET, val); in exynos_lpass_core_sw_reset()
74 clk_prepare_enable(lpass->sfr0_clk); in exynos_lpass_enable()
76 /* Unmask SFR, DMA and I2S interrupt */ in exynos_lpass_enable()
77 regmap_write(lpass->top, SFR_LPASS_INTR_CA5_MASK, in exynos_lpass_enable()
80 regmap_write(lpass->top, SFR_LPASS_INTR_CPU_MASK, in exynos_lpass_enable()
93 regmap_write(lpass->top, SFR_LPASS_INTR_CPU_MASK, 0); in exynos_lpass_disable()
94 regmap_write(lpass->top, SFR_LPASS_INTR_CA5_MASK, 0); in exynos_lpass_disable()
96 clk_disable_unprepare(lpass->sfr0_clk); in exynos_lpass_disable()
109 struct device *dev = &pdev->dev; in exynos_lpass_probe()
115 return -ENOMEM; in exynos_lpass_probe()
121 lpass->sfr0_clk = devm_clk_get(dev, "sfr0_ctrl"); in exynos_lpass_probe()
122 if (IS_ERR(lpass->sfr0_clk)) in exynos_lpass_probe()
123 return PTR_ERR(lpass->sfr0_clk); in exynos_lpass_probe()
125 lpass->top = regmap_init_mmio(dev, base_top, in exynos_lpass_probe()
127 if (IS_ERR(lpass->top)) { in exynos_lpass_probe()
129 return PTR_ERR(lpass->top); in exynos_lpass_probe()
145 pm_runtime_disable(&pdev->dev); in exynos_lpass_remove()
146 if (!pm_runtime_status_suspended(&pdev->dev)) in exynos_lpass_remove()
148 regmap_exit(lpass->top); in exynos_lpass_remove()
176 { .compatible = "samsung,exynos5433-lpass" },
183 .name = "exynos-lpass",