sifive-prci.h (c61287bf17836b67e0b649343778bb4a659bd70d) | sifive-prci.h (e4d368e0b632717e57d064ade6afdcf535e58068) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (C) 2018-2019 SiFive, Inc. 4 * Wesley Terpstra 5 * Paul Walmsley 6 * Zong Li 7 */ 8 9#ifndef __SIFIVE_CLK_SIFIVE_PRCI_H 10#define __SIFIVE_CLK_SIFIVE_PRCI_H 11 12#include <linux/clk/analogbits-wrpll-cln28hpc.h> 13#include <linux/clk-provider.h> | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (C) 2018-2019 SiFive, Inc. 4 * Wesley Terpstra 5 * Paul Walmsley 6 * Zong Li 7 */ 8 9#ifndef __SIFIVE_CLK_SIFIVE_PRCI_H 10#define __SIFIVE_CLK_SIFIVE_PRCI_H 11 12#include <linux/clk/analogbits-wrpll-cln28hpc.h> 13#include <linux/clk-provider.h> |
14#include <linux/reset/reset-simple.h> |
|
14#include <linux/platform_device.h> 15 16/* 17 * EXPECTED_CLK_PARENT_COUNT: how many parent clocks this driver expects: 18 * hfclk and rtcclk 19 */ 20#define EXPECTED_CLK_PARENT_COUNT 2 21 --- 94 unchanged lines hidden (view full) --- 116 (0x1 << PRCI_DEVICESRESETREG_DDR_PHY_RST_N_SHIFT) 117#define PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT 5 118#define PRCI_DEVICESRESETREG_GEMGXL_RST_N_MASK \ 119 (0x1 << PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT) 120#define PRCI_DEVICESRESETREG_CHIPLINK_RST_N_SHIFT 6 121#define PRCI_DEVICESRESETREG_CHIPLINK_RST_N_MASK \ 122 (0x1 << PRCI_DEVICESRESETREG_CHIPLINK_RST_N_SHIFT) 123 | 15#include <linux/platform_device.h> 16 17/* 18 * EXPECTED_CLK_PARENT_COUNT: how many parent clocks this driver expects: 19 * hfclk and rtcclk 20 */ 21#define EXPECTED_CLK_PARENT_COUNT 2 22 --- 94 unchanged lines hidden (view full) --- 117 (0x1 << PRCI_DEVICESRESETREG_DDR_PHY_RST_N_SHIFT) 118#define PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT 5 119#define PRCI_DEVICESRESETREG_GEMGXL_RST_N_MASK \ 120 (0x1 << PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT) 121#define PRCI_DEVICESRESETREG_CHIPLINK_RST_N_SHIFT 6 122#define PRCI_DEVICESRESETREG_CHIPLINK_RST_N_MASK \ 123 (0x1 << PRCI_DEVICESRESETREG_CHIPLINK_RST_N_SHIFT) 124 |
125#define PRCI_RST_NR 7 126 |
|
124/* CLKMUXSTATUSREG */ 125#define PRCI_CLKMUXSTATUSREG_OFFSET 0x2c 126#define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT 1 127#define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK \ 128 (0x1 << PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT) 129 130/* CLTXPLLCFG0 */ 131#define PRCI_CLTXPLLCFG0_OFFSET 0x30 --- 84 unchanged lines hidden (view full) --- 216 * struct __prci_data - per-device-instance data 217 * @va: base virtual address of the PRCI IP block 218 * @hw_clks: encapsulates struct clk_hw records 219 * 220 * PRCI per-device instance data 221 */ 222struct __prci_data { 223 void __iomem *va; | 127/* CLKMUXSTATUSREG */ 128#define PRCI_CLKMUXSTATUSREG_OFFSET 0x2c 129#define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT 1 130#define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK \ 131 (0x1 << PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT) 132 133/* CLTXPLLCFG0 */ 134#define PRCI_CLTXPLLCFG0_OFFSET 0x30 --- 84 unchanged lines hidden (view full) --- 219 * struct __prci_data - per-device-instance data 220 * @va: base virtual address of the PRCI IP block 221 * @hw_clks: encapsulates struct clk_hw records 222 * 223 * PRCI per-device instance data 224 */ 225struct __prci_data { 226 void __iomem *va; |
227 struct reset_simple_data reset; |
|
224 struct clk_hw_onecell_data hw_clks; 225}; 226 227/** 228 * struct __prci_wrpll_data - WRPLL configuration and integration data 229 * @c: WRPLL current configuration record 230 * @enable_bypass: fn ptr to code to bypass the WRPLL (if applicable; else NULL) 231 * @disable_bypass: fn ptr to code to not bypass the WRPLL (or NULL) --- 77 unchanged lines hidden --- | 228 struct clk_hw_onecell_data hw_clks; 229}; 230 231/** 232 * struct __prci_wrpll_data - WRPLL configuration and integration data 233 * @c: WRPLL current configuration record 234 * @enable_bypass: fn ptr to code to bypass the WRPLL (if applicable; else NULL) 235 * @disable_bypass: fn ptr to code to not bypass the WRPLL (or NULL) --- 77 unchanged lines hidden --- |