From: Chanwoo Choi <cw00.choi@samsung.com>
To: s.nawrocki@samsung.com
Cc: Chanwoo Choi <cw00.choi@samsung.com>,
tomasz.figa@gmail.com, mturquette@linaro.org, kgene@kernel.org,
pankaj.dubey@samsung.com, inki.dae@samsung.com,
chanho61.park@samsung.com, sw0312.kim@samsung.com,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 10/12] clk: samsung: exynos5433: Add missing clocks for CMU_FSYS domain
Date: Wed, 21 Jan 2015 15:56:18 +0900 [thread overview]
Message-ID: <54BF4D92.1050302@samsung.com> (raw)
In-Reply-To: <1421823120-11448-1-git-send-email-cw00.choi@samsung.com>
Hi Sylwester,
I'm so sorry. I miss adding the version to patch[10-12].
- [PATCH 10/12] clk: samsung: exynos5433: Add missing clocks for CMU_FSYS domain
- [PATCH 11/12] clk: samsung: exynos5433: Add clocks for CMU_G3D domain
- [PATCH 12/12] clk: samsung: exynos5433: Add clocks for CMU_GSCL domain
Best Regards,
Chanwoo Choi
On 01/21/2015 03:51 PM, Chanwoo Choi wrote:
> This patch adds the mux/divider/gate clocks for CMU_FSYS domain which
> contains the clocks of USB/UFS/SDMMC/TSI/PDMA IPs.
>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Acked-by: Inki Dae <inki.dae@samsung.com>
> ---
> drivers/clk/samsung/clk-exynos5433.c | 302 +++++++++++++++++++++++++++++++++
> include/dt-bindings/clock/exynos5433.h | 96 ++++++++++-
> 2 files changed, 395 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/clk/samsung/clk-exynos5433.c b/drivers/clk/samsung/clk-exynos5433.c
> index e79edd7..fa39e6c 100644
> --- a/drivers/clk/samsung/clk-exynos5433.c
> +++ b/drivers/clk/samsung/clk-exynos5433.c
> @@ -462,6 +462,16 @@ static struct samsung_div_clock top_div_clks[] __initdata = {
> DIV(CLK_DIV_SCLK_MMC2_A, "div_sclk_mmc2_a", "mout_sclk_mmc2_b",
> DIV_TOP_FSYS1, 0, 4),
>
> + /* DIV_TOP_FSYS2 */
> + DIV(CLK_DIV_SCLK_PCIE_100, "div_sclk_pcie_100", "mout_sclk_pcie_100",
> + DIV_TOP_FSYS2, 12, 3),
> + DIV(CLK_DIV_SCLK_USBHOST30, "div_sclk_usbhost30",
> + "mout_sclk_usbhost30", DIV_TOP_FSYS2, 8, 4),
> + DIV(CLK_DIV_SCLK_UFSUNIPRO, "div_sclk_ufsunipro",
> + "mout_sclk_ufsunipro", DIV_TOP_FSYS2, 4, 4),
> + DIV(CLK_DIV_SCLK_USBDRD30, "div_sclk_usbdrd30", "mout_sclk_usbdrd30",
> + DIV_TOP_FSYS2, 0, 4),
> +
> /* DIV_TOP_PERIC0 */
> DIV(CLK_DIV_SCLK_SPI1_B, "div_sclk_spi1_b", "div_sclk_spi1_a",
> DIV_TOP_PERIC0, 16, 8),
> @@ -543,12 +553,23 @@ static struct samsung_gate_clock top_gate_clks[] __initdata = {
> CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0),
>
> /* ENABLE_SCLK_TOP_FSYS */
> + GATE(CLK_SCLK_PCIE_100_FSYS, "sclk_pcie_100_fsys", "div_sclk_pcie_100",
> + ENABLE_SCLK_TOP_FSYS, 7, 0, 0),
> GATE(CLK_SCLK_MMC2_FSYS, "sclk_mmc2_fsys", "div_sclk_mmc2_b",
> ENABLE_SCLK_TOP_FSYS, 6, CLK_SET_RATE_PARENT, 0),
> GATE(CLK_SCLK_MMC1_FSYS, "sclk_mmc1_fsys", "div_sclk_mmc1_b",
> ENABLE_SCLK_TOP_FSYS, 5, CLK_SET_RATE_PARENT, 0),
> GATE(CLK_SCLK_MMC0_FSYS, "sclk_mmc0_fsys", "div_sclk_mmc0_b",
> ENABLE_SCLK_TOP_FSYS, 4, CLK_SET_RATE_PARENT, 0),
> + GATE(CLK_SCLK_UFSUNIPRO_FSYS, "sclk_ufsunipro_fsys",
> + "div_sclk_ufsunipro", ENABLE_SCLK_TOP_FSYS,
> + 3, CLK_SET_RATE_PARENT, 0),
> + GATE(CLK_SCLK_USBHOST30_FSYS, "sclk_usbhost30_fsys",
> + "div_sclk_usbhost30", ENABLE_SCLK_TOP_FSYS,
> + 1, CLK_SET_RATE_PARENT, 0),
> + GATE(CLK_SCLK_USBDRD30_FSYS, "sclk_usbdrd30_fsys",
> + "div_sclk_usbdrd30", ENABLE_SCLK_TOP_FSYS,
> + 0, CLK_SET_RATE_PARENT, 0),
>
> /* ENABLE_SCLK_TOP_PERIC */
> GATE(CLK_SCLK_SPI4_PERIC, "sclk_spi4_peric", "div_sclk_spi4_b",
> @@ -1832,10 +1853,45 @@ CLK_OF_DECLARE(exynos5433_cmu_peris, "samsung,exynos5433-cmu-peris",
> #define ENABLE_IP_FSYS1 0x0b04
>
> /* list of all parent clock list */
> +PNAME(mout_sclk_ufs_mphy_user_p) = { "fin_pll", "sclk_ufs_mphy", };
> PNAME(mout_aclk_fsys_200_user_p) = { "fin_pll", "div_aclk_fsys_200", };
> +PNAME(mout_sclk_pcie_100_user_p) = { "fin_pll", "sclk_pcie_100_fsys",};
> +PNAME(mout_sclk_ufsunipro_user_p) = { "fin_pll", "sclk_ufsunipro_fsys",};
> PNAME(mout_sclk_mmc2_user_p) = { "fin_pll", "sclk_mmc2_fsys", };
> PNAME(mout_sclk_mmc1_user_p) = { "fin_pll", "sclk_mmc1_fsys", };
> PNAME(mout_sclk_mmc0_user_p) = { "fin_pll", "sclk_mmc0_fsys", };
> +PNAME(mout_sclk_usbhost30_user_p) = { "fin_pll", "sclk_usbhost30_fsys",};
> +PNAME(mout_sclk_usbdrd30_user_p) = { "fin_pll", "sclk_usbdrd30_fsys", };
> +
> +PNAME(mout_phyclk_usbhost30_uhost30_pipe_pclk_user_p)
> + = { "fin_pll", "phyclk_usbhost30_uhost30_pipe_pclk_phy", };
> +PNAME(mout_phyclk_usbhost30_uhost30_phyclock_user_p)
> + = { "fin_pll", "phyclk_usbhost30_uhost30_phyclock_phy", };
> +PNAME(mout_phyclk_usbhost20_phy_hsic1_p)
> + = { "fin_pll", "phyclk_usbhost20_phy_hsic1_phy", };
> +PNAME(mout_phyclk_usbhost20_phy_clk48mohci_user_p)
> + = { "fin_pll", "phyclk_usbhost20_phy_clk48mohci_phy", };
> +PNAME(mout_phyclk_usbhost20_phy_phyclock_user_p)
> + = { "fin_pll", "phyclk_usbhost20_phy_phyclock_phy", };
> +PNAME(mout_phyclk_usbhost20_phy_freeclk_user_p)
> + = { "fin_pll", "phyclk_usbhost20_phy_freeclk_phy", };
> +PNAME(mout_phyclk_usbdrd30_udrd30_pipe_pclk_p)
> + = { "fin_pll", "phyclk_usbdrd30_udrd30_pipe_pclk_phy", };
> +PNAME(mout_phyclk_usbdrd30_udrd30_phyclock_user_p)
> + = { "fin_pll", "phyclk_usbdrd30_udrd30_phyclock_phy", };
> +PNAME(mout_phyclk_ufs_rx1_symbol_user_p)
> + = { "fin_pll", "phyclk_ufs_rx1_symbol_phy", };
> +PNAME(mout_phyclk_ufs_rx0_symbol_user_p)
> + = { "fin_pll", "phyclk_ufs_rx0_symbol_phy", };
> +PNAME(mout_phyclk_ufs_tx1_symbol_user_p)
> + = { "fin_pll", "phyclk_ufs_tx1_symbol_phy", };
> +PNAME(mout_phyclk_ufs_tx0_symbol_user_p)
> + = { "fin_pll", "phyclk_ufs_tx0_symbol_phy", };
> +PNAME(mout_phyclk_lli_mphy_to_ufs_user_p)
> + = { "fin_pll", "phyclk_lli_mphy_to_ufs_phy", };
> +PNAME(mout_sclk_mphy_p)
> + = { "mout_sclk_ufs_mphy_user",
> + "mout_phyclk_lli_mphy_to_ufs_user", };
>
> static unsigned long fsys_clk_regs[] __initdata = {
> MUX_SEL_FSYS0,
> @@ -1863,18 +1919,130 @@ static unsigned long fsys_clk_regs[] __initdata = {
> ENABLE_IP_FSYS1,
> };
>
> +static struct samsung_fixed_rate_clock fsys_fixed_clks[] __initdata = {
> + /* PHY clocks from USBDRD30_PHY */
> + FRATE(CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY,
> + "phyclk_usbdrd30_udrd30_phyclock_phy", NULL,
> + CLK_IS_ROOT, 60000000),
> + FRATE(CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY,
> + "phyclk_usbdrd30_udrd30_pipe_pclk_phy", NULL,
> + CLK_IS_ROOT, 125000000),
> + /* PHY clocks from USBHOST30_PHY */
> + FRATE(CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY,
> + "phyclk_usbhost30_uhost30_phyclock_phy", NULL,
> + CLK_IS_ROOT, 60000000),
> + FRATE(CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY,
> + "phyclk_usbhost30_uhost30_pipe_pclk_phy", NULL,
> + CLK_IS_ROOT, 125000000),
> + /* PHY clocks from USBHOST20_PHY */
> + FRATE(CLK_PHYCLK_USBHOST20_PHY_FREECLK_PHY,
> + "phyclk_usbhost20_phy_freeclk_phy", NULL, CLK_IS_ROOT,
> + 60000000),
> + FRATE(CLK_PHYCLK_USBHOST20_PHY_PHYCLOCK_PHY,
> + "phyclk_usbhost20_phy_phyclock_phy", NULL, CLK_IS_ROOT,
> + 60000000),
> + FRATE(CLK_PHYCLK_USBHOST20_PHY_CLK48MOHCI_PHY,
> + "phyclk_usbhost20_phy_clk48mohci_phy", NULL,
> + CLK_IS_ROOT, 48000000),
> + FRATE(CLK_PHYCLK_USBHOST20_PHY_HSIC1_PHY,
> + "phyclk_usbhost20_phy_hsic1_phy", NULL, CLK_IS_ROOT,
> + 60000000),
> + /* PHY clocks from UFS_PHY */
> + FRATE(CLK_PHYCLK_UFS_TX0_SYMBOL_PHY, "phyclk_ufs_tx0_symbol_phy",
> + NULL, CLK_IS_ROOT, 300000000),
> + FRATE(CLK_PHYCLK_UFS_RX0_SYMBOL_PHY, "phyclk_ufs_rx0_symbol_phy",
> + NULL, CLK_IS_ROOT, 300000000),
> + FRATE(CLK_PHYCLK_UFS_TX1_SYMBOL_PHY, "phyclk_ufs_tx1_symbol_phy",
> + NULL, CLK_IS_ROOT, 300000000),
> + FRATE(CLK_PHYCLK_UFS_RX1_SYMBOL_PHY, "phyclk_ufs_rx1_symbol_phy",
> + NULL, CLK_IS_ROOT, 300000000),
> + /* PHY clocks from LLI_PHY */
> + FRATE(CLK_PHYCLK_LLI_MPHY_TO_UFS_PHY, "phyclk_lli_mphy_to_ufs_phy",
> + NULL, CLK_IS_ROOT, 26000000),
> +};
> +
> static struct samsung_mux_clock fsys_mux_clks[] __initdata = {
> /* MUX_SEL_FSYS0 */
> + MUX(CLK_MOUT_SCLK_UFS_MPHY_USER, "mout_sclk_ufs_mphy_user",
> + mout_sclk_ufs_mphy_user_p, MUX_SEL_FSYS0, 4, 1),
> MUX(CLK_MOUT_ACLK_FSYS_200_USER, "mout_aclk_fsys_200_user",
> mout_aclk_fsys_200_user_p, MUX_SEL_FSYS0, 0, 1),
>
> /* MUX_SEL_FSYS1 */
> + MUX(CLK_MOUT_SCLK_PCIE_100_USER, "mout_sclk_pcie_100_user",
> + mout_sclk_pcie_100_user_p, MUX_SEL_FSYS1, 28, 1),
> + MUX(CLK_MOUT_SCLK_UFSUNIPRO_USER, "mout_sclk_ufsunipro_user",
> + mout_sclk_ufsunipro_user_p, MUX_SEL_FSYS1, 24, 1),
> MUX(CLK_MOUT_SCLK_MMC2_USER, "mout_sclk_mmc2_user",
> mout_sclk_mmc2_user_p, MUX_SEL_FSYS1, 20, 1),
> MUX(CLK_MOUT_SCLK_MMC1_USER, "mout_sclk_mmc1_user",
> mout_sclk_mmc1_user_p, MUX_SEL_FSYS1, 16, 1),
> MUX(CLK_MOUT_SCLK_MMC0_USER, "mout_sclk_mmc0_user",
> mout_sclk_mmc0_user_p, MUX_SEL_FSYS1, 12, 1),
> + MUX(CLK_MOUT_SCLK_USBHOST30_USER, "mout_sclk_usbhost30_user",
> + mout_sclk_usbhost30_user_p, MUX_SEL_FSYS1, 4, 1),
> + MUX(CLK_MOUT_SCLK_USBDRD30_USER, "mout_sclk_usbdrd30_user",
> + mout_sclk_usbdrd30_user_p, MUX_SEL_FSYS1, 0, 1),
> +
> + /* MUX_SEL_FSYS2 */
> + MUX(CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER,
> + "mout_phyclk_usbhost30_uhost30_pipe_pclk_user",
> + mout_phyclk_usbhost30_uhost30_pipe_pclk_user_p,
> + MUX_SEL_FSYS2, 28, 1),
> + MUX(CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER,
> + "mout_phyclk_usbhost30_uhost30_phyclock_user",
> + mout_phyclk_usbhost30_uhost30_phyclock_user_p,
> + MUX_SEL_FSYS2, 24, 1),
> + MUX(CLK_MOUT_PHYCLK_USBHOST20_PHY_HSIC1_USER,
> + "mout_phyclk_usbhost20_phy_hsic1",
> + mout_phyclk_usbhost20_phy_hsic1_p,
> + MUX_SEL_FSYS2, 20, 1),
> + MUX(CLK_MOUT_PHYCLK_USBHOST20_PHY_CLK48MOHCI_USER,
> + "mout_phyclk_usbhost20_phy_clk48mohci_user",
> + mout_phyclk_usbhost20_phy_clk48mohci_user_p,
> + MUX_SEL_FSYS2, 16, 1),
> + MUX(CLK_MOUT_PHYCLK_USBHOST20_PHY_PHYCLOCK_USER,
> + "mout_phyclk_usbhost20_phy_phyclock_user",
> + mout_phyclk_usbhost20_phy_phyclock_user_p,
> + MUX_SEL_FSYS2, 12, 1),
> + MUX(CLK_MOUT_PHYCLK_USBHOST20_PHY_PHY_FREECLK_USER,
> + "mout_phyclk_usbhost20_phy_freeclk_user",
> + mout_phyclk_usbhost20_phy_freeclk_user_p,
> + MUX_SEL_FSYS2, 8, 1),
> + MUX(CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER,
> + "mout_phyclk_usbdrd30_udrd30_pipe_pclk_user",
> + mout_phyclk_usbdrd30_udrd30_pipe_pclk_p,
> + MUX_SEL_FSYS2, 4, 1),
> + MUX(CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER,
> + "mout_phyclk_usbdrd30_udrd30_phyclock_user",
> + mout_phyclk_usbdrd30_udrd30_phyclock_user_p,
> + MUX_SEL_FSYS2, 0, 1),
> +
> + /* MUX_SEL_FSYS3 */
> + MUX(CLK_MOUT_PHYCLK_UFS_RX1_SYMBOL_USER,
> + "mout_phyclk_ufs_rx1_symbol_user",
> + mout_phyclk_ufs_rx1_symbol_user_p,
> + MUX_SEL_FSYS3, 16, 1),
> + MUX(CLK_MOUT_PHYCLK_UFS_RX0_SYMBOL_USER,
> + "mout_phyclk_ufs_rx0_symbol_user",
> + mout_phyclk_ufs_rx0_symbol_user_p,
> + MUX_SEL_FSYS3, 12, 1),
> + MUX(CLK_MOUT_PHYCLK_UFS_TX1_SYMBOL_USER,
> + "mout_phyclk_ufs_tx1_symbol_user",
> + mout_phyclk_ufs_tx1_symbol_user_p,
> + MUX_SEL_FSYS3, 8, 1),
> + MUX(CLK_MOUT_PHYCLK_UFS_TX0_SYMBOL_USER,
> + "mout_phyclk_ufs_tx0_symbol_user",
> + mout_phyclk_ufs_tx0_symbol_user_p,
> + MUX_SEL_FSYS3, 4, 1),
> + MUX(CLK_MOUT_PHYCLK_LLI_MPHY_TO_UFS_USER,
> + "mout_phyclk_lli_mphy_to_ufs_user",
> + mout_phyclk_lli_mphy_to_ufs_user_p,
> + MUX_SEL_FSYS3, 0, 1),
> +
> + /* MUX_SEL_FSYS4 */
> + MUX(CLK_MOUT_SCLK_MPHY, "mout_sclk_mphy", mout_sclk_mphy_p,
> + MUX_SEL_FSYS4, 0, 1),
> };
>
> static struct samsung_gate_clock fsys_gate_clks[] __initdata = {
> @@ -1902,13 +2070,145 @@ static struct samsung_gate_clock fsys_gate_clks[] __initdata = {
> GATE(CLK_ACLK_PDMA0, "aclk_pdma0", "mout_aclk_fsys_200_user",
> ENABLE_ACLK_FSYS0, 0, CLK_IGNORE_UNUSED, 0),
>
> + /* ENABLE_ACLK_FSYS1 */
> + GATE(CLK_ACLK_XIU_FSYSPX, "aclk_xiu_fsyspx", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 27, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AHB_USBLINKH1, "aclk_ahb_usblinkh1",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 26, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_SMMU_PDMA1, "aclk_smmu_pdma1", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 25, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_BTS_PCIE, "aclk_bts_pcie", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 24, 0, 0),
> + GATE(CLK_ACLK_AXIUS_PDMA1, "aclk_axius_pdma1",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 22, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_SMMU_PDMA0, "aclk_smmu_pdma0", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 17, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_BTS_UFS, "aclk_bts_ufs", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 14, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_BTS_USBHOST30, "aclk_bts_usbhost30",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 13, 0, 0),
> + GATE(CLK_ACLK_BTS_USBDRD30, "aclk_bts_usbdrd30",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 12, 0, 0),
> + GATE(CLK_ACLK_AXIUS_PDMA0, "aclk_axius_pdma0",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 11, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AXIUS_USBHS, "aclk_axius_usbhs",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 10, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AXIUS_FSYSSX, "aclk_axius_fsyssx",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 9, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AHB2APB_FSYSP, "aclk_ahb2apb_fsysp",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 8, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AHB2AXI_USBHS, "aclk_ahb2axi_usbhs",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 7, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AHB_USBLINKH0, "aclk_ahb_usblinkh0",
> + "mout_aclk_fsys_200_user", ENABLE_ACLK_FSYS1,
> + 6, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AHB_USBHS, "aclk_ahb_usbhs", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 5, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_AHB_FSYSH, "aclk_ahb_fsysh", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 4, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_XIU_FSYSX, "aclk_xiu_fsysx", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 3, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_XIU_FSYSSX, "aclk_xiu_fsyssx", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 2, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_FSYSNP_200, "aclk_fsysnp_200", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 1, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_ACLK_FSYSND_200, "aclk_fsysnd_200", "mout_aclk_fsys_200_user",
> + ENABLE_ACLK_FSYS1, 0, CLK_IGNORE_UNUSED, 0),
> +
> + /* ENABLE_PCLK_FSYS */
> + GATE(CLK_PCLK_PCIE_CTRL, "pclk_pcie_ctrl", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 17, 0, 0),
> + GATE(CLK_PCLK_SMMU_PDMA1, "pclk_smmu_pdma1", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 16, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_PCLK_PCIE_PHY, "pclk_pcie_phy", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 14, 0, 0),
> + GATE(CLK_PCLK_BTS_PCIE, "pclk_bts_pcie", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 13, 0, 0),
> + GATE(CLK_PCLK_SMMU_PDMA0, "pclk_smmu_pdma0", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 8, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_PCLK_BTS_UFS, "pclk_bts_ufs", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 5, 0, 0),
> + GATE(CLK_PCLK_BTS_USBHOST30, "pclk_bts_usbhost30",
> + "mout_aclk_fsys_200_user", ENABLE_PCLK_FSYS, 4, 0, 0),
> + GATE(CLK_PCLK_BTS_USBDRD30, "pclk_bts_usbdrd30",
> + "mout_aclk_fsys_200_user", ENABLE_PCLK_FSYS, 3, 0, 0),
> + GATE(CLK_PCLK_GPIO_FSYS, "pclk_gpio_fsys", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 2, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_PCLK_PMU_FSYS, "pclk_pmu_fsys", "mout_aclk_fsys_200_user",
> + ENABLE_PCLK_FSYS, 1, CLK_IGNORE_UNUSED, 0),
> + GATE(CLK_PCLK_SYSREG_FSYS, "pclk_sysreg_fsys",
> + "mout_aclk_fsys_200_user", ENABLE_PCLK_FSYS,
> + 0, CLK_IGNORE_UNUSED, 0),
> +
> /* ENABLE_SCLK_FSYS */
> + GATE(CLK_SCLK_PCIE_100, "sclk_pcie_100", "mout_sclk_pcie_100_user",
> + ENABLE_SCLK_FSYS, 21, 0, 0),
> + GATE(CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK,
> + "phyclk_usbhost30_uhost30_pipe_pclk",
> + "mout_phyclk_usbhost30_uhost30_pipe_pclk_user",
> + ENABLE_SCLK_FSYS, 18, 0, 0),
> + GATE(CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK,
> + "phyclk_usbhost30_uhost30_phyclock",
> + "mout_phyclk_usbhost30_uhost30_phyclock_user",
> + ENABLE_SCLK_FSYS, 17, 0, 0),
> + GATE(CLK_PHYCLK_UFS_RX1_SYMBOL, "phyclk_ufs_rx1_symbol",
> + "mout_phyclk_ufs_rx1_symbol_user", ENABLE_SCLK_FSYS,
> + 16, 0, 0),
> + GATE(CLK_PHYCLK_UFS_RX0_SYMBOL, "phyclk_ufs_rx0_symbol",
> + "mout_phyclk_ufs_rx0_symbol_user", ENABLE_SCLK_FSYS,
> + 15, 0, 0),
> + GATE(CLK_PHYCLK_UFS_TX1_SYMBOL, "phyclk_ufs_tx1_symbol",
> + "mout_phyclk_ufs_tx1_symbol_user", ENABLE_SCLK_FSYS,
> + 14, 0, 0),
> + GATE(CLK_PHYCLK_UFS_TX0_SYMBOL, "phyclk_ufs_tx0_symbol",
> + "mout_phyclk_ufs_tx0_symbol_user", ENABLE_SCLK_FSYS,
> + 13, 0, 0),
> + GATE(CLK_PHYCLK_USBHOST20_PHY_HSIC1, "phyclk_usbhost20_phy_hsic1",
> + "mout_phyclk_usbhost20_phy_hsic1", ENABLE_SCLK_FSYS,
> + 12, 0, 0),
> + GATE(CLK_PHYCLK_USBHOST20_PHY_CLK48MOHCI,
> + "phyclk_usbhost20_phy_clk48mohci",
> + "mout_phyclk_usbhost20_phy_clk48mohci_user",
> + ENABLE_SCLK_FSYS, 11, 0, 0),
> + GATE(CLK_PHYCLK_USBHOST20_PHY_PHYCLOCK,
> + "phyclk_usbhost20_phy_phyclock",
> + "mout_phyclk_usbhost20_phy_phyclock_user",
> + ENABLE_SCLK_FSYS, 10, 0, 0),
> + GATE(CLK_PHYCLK_USBHOST20_PHY_FREECLK,
> + "phyclk_usbhost20_phy_freeclk",
> + "mout_phyclk_usbhost20_phy_freeclk_user",
> + ENABLE_SCLK_FSYS, 9, 0, 0),
> + GATE(CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK,
> + "phyclk_usbdrd30_udrd30_pipe_pclk",
> + "mout_phyclk_usbdrd30_udrd30_pipe_pclk_user",
> + ENABLE_SCLK_FSYS, 8, 0, 0),
> + GATE(CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK,
> + "phyclk_usbdrd30_udrd30_phyclock",
> + "mout_phyclk_usbdrd30_udrd30_phyclock_user",
> + ENABLE_SCLK_FSYS, 7, 0, 0),
> + GATE(CLK_SCLK_MPHY, "sclk_mphy", "mout_sclk_mphy",
> + ENABLE_SCLK_FSYS, 6, 0, 0),
> + GATE(CLK_SCLK_UFSUNIPRO, "sclk_ufsunipro", "mout_sclk_ufsunipro_user",
> + ENABLE_SCLK_FSYS, 5, 0, 0),
> GATE(CLK_SCLK_MMC2, "sclk_mmc2", "mout_sclk_mmc2_user",
> ENABLE_SCLK_FSYS, 4, CLK_SET_RATE_PARENT, 0),
> GATE(CLK_SCLK_MMC1, "sclk_mmc1", "mout_sclk_mmc1_user",
> ENABLE_SCLK_FSYS, 3, CLK_SET_RATE_PARENT, 0),
> GATE(CLK_SCLK_MMC0, "sclk_mmc0", "mout_sclk_mmc0_user",
> ENABLE_SCLK_FSYS, 2, CLK_SET_RATE_PARENT, 0),
> + GATE(CLK_SCLK_USBHOST30, "sclk_usbhost30", "mout_sclk_usbhost30_user",
> + ENABLE_SCLK_FSYS, 1, 0, 0),
> + GATE(CLK_SCLK_USBDRD30, "sclk_usbdrd30", "mout_sclk_usbdrd30_user",
> + ENABLE_SCLK_FSYS, 0, 0, 0),
>
> /* ENABLE_IP_FSYS0 */
> GATE(CLK_PDMA1, "pdma1", "aclk_pdma1", ENABLE_IP_FSYS0, 15, 0, 0),
> @@ -1920,6 +2220,8 @@ static struct samsung_cmu_info fsys_cmu_info __initdata = {
> .nr_mux_clks = ARRAY_SIZE(fsys_mux_clks),
> .gate_clks = fsys_gate_clks,
> .nr_gate_clks = ARRAY_SIZE(fsys_gate_clks),
> + .fixed_clks = fsys_fixed_clks,
> + .nr_fixed_clks = ARRAY_SIZE(fsys_fixed_clks),
> .nr_clk_ids = FSYS_NR_CLK,
> .clk_regs = fsys_clk_regs,
> .nr_clk_regs = ARRAY_SIZE(fsys_clk_regs),
> diff --git a/include/dt-bindings/clock/exynos5433.h b/include/dt-bindings/clock/exynos5433.h
> index 6bc7f51..bd445d2 100644
> --- a/include/dt-bindings/clock/exynos5433.h
> +++ b/include/dt-bindings/clock/exynos5433.h
> @@ -110,6 +110,10 @@
> #define CLK_DIV_ACLK_G3D_400 137
> #define CLK_DIV_ACLK_BUS0_400 138
> #define CLK_DIV_ACLK_BUS1_400 139
> +#define CLK_DIV_SCLK_PCIE_100 140
> +#define CLK_DIV_SCLK_USBHOST30 141
> +#define CLK_DIV_SCLK_UFSUNIPRO 142
> +#define CLK_DIV_SCLK_USBDRD30 143
>
> #define CLK_ACLK_PERIC_66 200
> #define CLK_ACLK_PERIS_66 201
> @@ -139,8 +143,12 @@
> #define CLK_ACLK_BUS1_400 225
> #define CLK_ACLK_IMEM_200 226
> #define CLK_ACLK_IMEM_266 227
> +#define CLK_SCLK_PCIE_100_FSYS 228
> +#define CLK_SCLK_UFSUNIPRO_FSYS 229
> +#define CLK_SCLK_USBHOST30_FSYS 230
> +#define CLK_SCLK_USBDRD30_FSYS 231
>
> -#define TOP_NR_CLK 228
> +#define TOP_NR_CLK 232
>
> /* CMU_CPIF */
> #define CLK_FOUT_MPHY_PLL 1
> @@ -473,6 +481,39 @@
> #define CLK_MOUT_SCLK_MMC2_USER 2
> #define CLK_MOUT_SCLK_MMC1_USER 3
> #define CLK_MOUT_SCLK_MMC0_USER 4
> +#define CLK_MOUT_SCLK_UFS_MPHY_USER 5
> +#define CLK_MOUT_SCLK_PCIE_100_USER 6
> +#define CLK_MOUT_SCLK_UFSUNIPRO_USER 7
> +#define CLK_MOUT_SCLK_USBHOST30_USER 8
> +#define CLK_MOUT_SCLK_USBDRD30_USER 9
> +#define CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER 10
> +#define CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER 11
> +#define CLK_MOUT_PHYCLK_USBHOST20_PHY_HSIC1_USER 12
> +#define CLK_MOUT_PHYCLK_USBHOST20_PHY_CLK48MOHCI_USER 13
> +#define CLK_MOUT_PHYCLK_USBHOST20_PHY_PHYCLOCK_USER 14
> +#define CLK_MOUT_PHYCLK_USBHOST20_PHY_PHY_FREECLK_USER 15
> +#define CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER 16
> +#define CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER 17
> +#define CLK_MOUT_PHYCLK_UFS_RX1_SYMBOL_USER 18
> +#define CLK_MOUT_PHYCLK_UFS_RX0_SYMBOL_USER 19
> +#define CLK_MOUT_PHYCLK_UFS_TX1_SYMBOL_USER 20
> +#define CLK_MOUT_PHYCLK_UFS_TX0_SYMBOL_USER 21
> +#define CLK_MOUT_PHYCLK_LLI_MPHY_TO_UFS_USER 22
> +#define CLK_MOUT_SCLK_MPHY 23
> +
> +#define CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY 25
> +#define CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY 26
> +#define CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY 27
> +#define CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY 28
> +#define CLK_PHYCLK_USBHOST20_PHY_FREECLK_PHY 29
> +#define CLK_PHYCLK_USBHOST20_PHY_PHYCLOCK_PHY 30
> +#define CLK_PHYCLK_USBHOST20_PHY_CLK48MOHCI_PHY 31
> +#define CLK_PHYCLK_USBHOST20_PHY_HSIC1_PHY 32
> +#define CLK_PHYCLK_UFS_TX0_SYMBOL_PHY 33
> +#define CLK_PHYCLK_UFS_RX0_SYMBOL_PHY 34
> +#define CLK_PHYCLK_UFS_TX1_SYMBOL_PHY 35
> +#define CLK_PHYCLK_UFS_RX1_SYMBOL_PHY 36
> +#define CLK_PHYCLK_LLI_MPHY_TO_UFS_PHY 37
>
> #define CLK_ACLK_PCIE 50
> #define CLK_ACLK_PDMA1 51
> @@ -490,8 +531,57 @@
> #define CLK_SCLK_MMC0 63
> #define CLK_PDMA1 64
> #define CLK_PDMA0 65
> -
> -#define FSYS_NR_CLK 66
> +#define CLK_ACLK_XIU_FSYSPX 66
> +#define CLK_ACLK_AHB_USBLINKH1 67
> +#define CLK_ACLK_SMMU_PDMA1 68
> +#define CLK_ACLK_BTS_PCIE 69
> +#define CLK_ACLK_AXIUS_PDMA1 70
> +#define CLK_ACLK_SMMU_PDMA0 71
> +#define CLK_ACLK_BTS_UFS 72
> +#define CLK_ACLK_BTS_USBHOST30 73
> +#define CLK_ACLK_BTS_USBDRD30 74
> +#define CLK_ACLK_AXIUS_PDMA0 75
> +#define CLK_ACLK_AXIUS_USBHS 76
> +#define CLK_ACLK_AXIUS_FSYSSX 77
> +#define CLK_ACLK_AHB2APB_FSYSP 78
> +#define CLK_ACLK_AHB2AXI_USBHS 79
> +#define CLK_ACLK_AHB_USBLINKH0 80
> +#define CLK_ACLK_AHB_USBHS 81
> +#define CLK_ACLK_AHB_FSYSH 82
> +#define CLK_ACLK_XIU_FSYSX 83
> +#define CLK_ACLK_XIU_FSYSSX 84
> +#define CLK_ACLK_FSYSNP_200 85
> +#define CLK_ACLK_FSYSND_200 86
> +#define CLK_PCLK_PCIE_CTRL 87
> +#define CLK_PCLK_SMMU_PDMA1 88
> +#define CLK_PCLK_PCIE_PHY 89
> +#define CLK_PCLK_BTS_PCIE 90
> +#define CLK_PCLK_SMMU_PDMA0 91
> +#define CLK_PCLK_BTS_UFS 92
> +#define CLK_PCLK_BTS_USBHOST30 93
> +#define CLK_PCLK_BTS_USBDRD30 94
> +#define CLK_PCLK_GPIO_FSYS 95
> +#define CLK_PCLK_PMU_FSYS 96
> +#define CLK_PCLK_SYSREG_FSYS 97
> +#define CLK_SCLK_PCIE_100 98
> +#define CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK 99
> +#define CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK 100
> +#define CLK_PHYCLK_UFS_RX1_SYMBOL 101
> +#define CLK_PHYCLK_UFS_RX0_SYMBOL 102
> +#define CLK_PHYCLK_UFS_TX1_SYMBOL 103
> +#define CLK_PHYCLK_UFS_TX0_SYMBOL 104
> +#define CLK_PHYCLK_USBHOST20_PHY_HSIC1 105
> +#define CLK_PHYCLK_USBHOST20_PHY_CLK48MOHCI 106
> +#define CLK_PHYCLK_USBHOST20_PHY_PHYCLOCK 107
> +#define CLK_PHYCLK_USBHOST20_PHY_FREECLK 108
> +#define CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK 109
> +#define CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK 110
> +#define CLK_SCLK_MPHY 111
> +#define CLK_SCLK_UFSUNIPRO 112
> +#define CLK_SCLK_USBHOST30 113
> +#define CLK_SCLK_USBDRD30 114
> +
> +#define FSYS_NR_CLK 115
>
> /* CMU_G2D */
> #define CLK_MUX_ACLK_G2D_266_USER 1
>
next prev parent reply other threads:[~2015-01-21 6:56 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-21 6:26 [PATCH v3 00/12] clk: samsung: Add the support for exynos5433 clocks Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 01/12] clk: samsung: exynos5433: Add clocks using common clock framework Chanwoo Choi
2015-01-22 16:47 ` Sylwester Nawrocki
2015-01-23 7:44 ` Chanwoo Choi
2015-01-23 17:40 ` Sylwester Nawrocki
2015-01-23 22:05 ` Chanwoo Choi
2015-01-28 23:38 ` Chanwoo Choi
2015-01-29 12:18 ` Sylwester Nawrocki
2015-01-24 16:11 ` Tomasz Figa
2015-01-23 17:40 ` Sylwester Nawrocki
2015-01-23 20:54 ` Chanwoo Choi
2015-01-29 12:53 ` Sylwester Nawrocki
2015-01-30 0:50 ` Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 02/12] clk: samsung: exynos5433: Add MUX clocks of CMU_TOP domain Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 03/12] clk: samsung: exynos5433: Add clocks for CMU_PERIC domain Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 04/12] clk: samsung: exynos5433: Add clocks for CMU_PERIS domain Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 05/12] clk: samsung: exynos5433: Add clocks for CMU_G2D domain Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 06/12] clk: samsung: exynos5433: Add clocks for CMU_MIF domain Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 07/12] clk: samsung: exynos5433: Add clocks for CMU_DISP domain Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 08/12] clk: samsung: exynos5433: Add clocks for CMU_AUD domain Chanwoo Choi
2015-01-21 6:26 ` [PATCH v3 09/12] clk: samsung: exynos5433: Add clocks for CMU_BUS{0|1|2} domains Chanwoo Choi
2015-01-21 6:51 ` [PATCH 10/12] clk: samsung: exynos5433: Add missing clocks for CMU_FSYS domain Chanwoo Choi
2015-01-21 6:56 ` Chanwoo Choi [this message]
2015-01-21 6:51 ` [PATCH 11/12] clk: samsung: exynos5433: Add clocks for CMU_G3D domain Chanwoo Choi
2015-01-21 6:52 ` [PATCH 12/12] clk: samsung: exynos5433: Add clocks for CMU_GSCL domain Chanwoo Choi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54BF4D92.1050302@samsung.com \
--to=cw00.choi@samsung.com \
--cc=chanho61.park@samsung.com \
--cc=inki.dae@samsung.com \
--cc=kgene@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=pankaj.dubey@samsung.com \
--cc=s.nawrocki@samsung.com \
--cc=sw0312.kim@samsung.com \
--cc=tomasz.figa@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.