]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/commitdiff
clk: tegra: define DMIC clocks
authorPeter De Schrijver <pdeschrijver@nvidia.com>
Wed, 16 Nov 2016 15:54:24 +0000 (17:54 +0200)
committermobile promotions <svcmobile_promotions@nvidia.com>
Mon, 21 Nov 2016 15:10:13 +0000 (07:10 -0800)
Change-Id: I4f29b67fbd012196d1854c2f46c4802af859c4f9
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/1254835
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shreshtha Sahu <ssahu@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
drivers/clk/tegra/clk-id.h
drivers/clk/tegra/clk-tegra-periph.c

index 5da735ed28a60af27622aa5c01719fd7e646f3b3..6b7f9db8e438e8a9fe0ed576129a34ea01226660 100644 (file)
@@ -458,6 +458,9 @@ enum clk_id {
        tegra_clk_sata_slcg_ovr,
        tegra_clk_sata_slcg_ovr_ipfs,
        tegra_clk_sata_slcg_ovr_fpci,
+       tegra_clk_dmic1,
+       tegra_clk_dmic2,
+       tegra_clk_dmic3,
        tegra_clk_dmic1_sync_clk,
        tegra_clk_dmic2_sync_clk,
        tegra_clk_dmic3_sync_clk,
index b261713e51f2f581826e9da9849855c45184c007..46aa2027e572be021411ff97e167d7492a227ef2 100644 (file)
 #define CLK_SOURCE_TSECB 0x6d8
 #define CLK_SOURCE_MAUD 0x6d4
 #define CLK_SOURCE_USB2_HSIC_TRK 0x6cc
+#define CLK_SOURCE_DMIC1 0x64c
+#define CLK_SOURCE_DMIC2 0x650
+#define CLK_SOURCE_DMIC3 0x6bc
 
 #define MASK(x) (BIT(x) - 1)
 
@@ -624,6 +627,21 @@ static const char *mux_clkm_plldp_sor0lvds[] = {
 };
 #define mux_clkm_plldp_sor0lvds_idx NULL
 
+static const char *mux_dmic1[] = {
+       "pll_a_out0", "dmic1_sync_clk", "pll_p", "clk_m"
+};
+#define mux_dmic1_idx NULL
+
+static const char *mux_dmic2[] = {
+       "pll_a_out0", "dmic2_sync_clk", "pll_p", "clk_m"
+};
+#define mux_dmic2_idx NULL
+
+static const char *mux_dmic3[] = {
+       "pll_a_out0", "dmic3_sync_clk", "pll_p", "clk_m"
+};
+#define mux_dmic3_idx NULL
+
 static struct tegra_periph_init_data periph_clks[] = {
        AUDIO("d_audio", CLK_SOURCE_D_AUDIO, 106, TEGRA_PERIPH_ON_APB, tegra_clk_d_audio),
        AUDIO("dam0", CLK_SOURCE_DAM0, 108, TEGRA_PERIPH_ON_APB, tegra_clk_dam0),
@@ -796,6 +814,9 @@ static struct tegra_periph_init_data periph_clks[] = {
        MUX("uartape", mux_pllp_pllc_clkm, CLK_SOURCE_UARTAPE, 212, TEGRA_PERIPH_ON_APB | TEGRA_PERIPH_NO_RESET, tegra_clk_uartape),
        MUX8("tsecb", mux_pllp_pllc2_c_c3_clkm, CLK_SOURCE_TSECB, 206, 0, tegra_clk_tsecb),
        MUX8("maud", mux_pllp_pllp_out3_clkm_clk32k_plla, CLK_SOURCE_MAUD, 202, TEGRA_PERIPH_ON_APB | TEGRA_PERIPH_NO_RESET, tegra_clk_maud),
+       MUX8("dmic1", mux_dmic1, CLK_SOURCE_DMIC1, 161, TEGRA_PERIPH_ON_APB | TEGRA_PERIPH_NO_RESET, tegra_clk_dmic1),
+       MUX8("dmic2", mux_dmic2, CLK_SOURCE_DMIC2, 162, TEGRA_PERIPH_ON_APB | TEGRA_PERIPH_NO_RESET, tegra_clk_dmic2),
+       MUX8("dmic3", mux_dmic3, CLK_SOURCE_DMIC3, 197, TEGRA_PERIPH_ON_APB | TEGRA_PERIPH_NO_RESET, tegra_clk_dmic3),
 };
 
 static struct tegra_periph_init_data gate_clks[] = {