|
@@ -24,6 +24,11 @@ static DEFINE_SPINLOCK(meson_clk_lock);
|
|
|
|
|
|
static struct clk_regmap axg_fixed_pll = {
|
|
static struct clk_regmap axg_fixed_pll = {
|
|
.data = &(struct meson_clk_pll_data){
|
|
.data = &(struct meson_clk_pll_data){
|
|
|
|
+ .en = {
|
|
|
|
+ .reg_off = HHI_MPLL_CNTL,
|
|
|
|
+ .shift = 30,
|
|
|
|
+ .width = 1,
|
|
|
|
+ },
|
|
.m = {
|
|
.m = {
|
|
.reg_off = HHI_MPLL_CNTL,
|
|
.reg_off = HHI_MPLL_CNTL,
|
|
.shift = 0,
|
|
.shift = 0,
|
|
@@ -65,6 +70,11 @@ static struct clk_regmap axg_fixed_pll = {
|
|
|
|
|
|
static struct clk_regmap axg_sys_pll = {
|
|
static struct clk_regmap axg_sys_pll = {
|
|
.data = &(struct meson_clk_pll_data){
|
|
.data = &(struct meson_clk_pll_data){
|
|
|
|
+ .en = {
|
|
|
|
+ .reg_off = HHI_SYS_PLL_CNTL,
|
|
|
|
+ .shift = 30,
|
|
|
|
+ .width = 1,
|
|
|
|
+ },
|
|
.m = {
|
|
.m = {
|
|
.reg_off = HHI_SYS_PLL_CNTL,
|
|
.reg_off = HHI_SYS_PLL_CNTL,
|
|
.shift = 0,
|
|
.shift = 0,
|
|
@@ -197,11 +207,15 @@ static const struct reg_sequence axg_gp0_init_regs[] = {
|
|
{ .reg = HHI_GP0_PLL_CNTL3, .def = 0x0a59a288 },
|
|
{ .reg = HHI_GP0_PLL_CNTL3, .def = 0x0a59a288 },
|
|
{ .reg = HHI_GP0_PLL_CNTL4, .def = 0xc000004d },
|
|
{ .reg = HHI_GP0_PLL_CNTL4, .def = 0xc000004d },
|
|
{ .reg = HHI_GP0_PLL_CNTL5, .def = 0x00078000 },
|
|
{ .reg = HHI_GP0_PLL_CNTL5, .def = 0x00078000 },
|
|
- { .reg = HHI_GP0_PLL_CNTL, .def = 0x40010250 },
|
|
|
|
};
|
|
};
|
|
|
|
|
|
static struct clk_regmap axg_gp0_pll = {
|
|
static struct clk_regmap axg_gp0_pll = {
|
|
.data = &(struct meson_clk_pll_data){
|
|
.data = &(struct meson_clk_pll_data){
|
|
|
|
+ .en = {
|
|
|
|
+ .reg_off = HHI_GP0_PLL_CNTL,
|
|
|
|
+ .shift = 30,
|
|
|
|
+ .width = 1,
|
|
|
|
+ },
|
|
.m = {
|
|
.m = {
|
|
.reg_off = HHI_GP0_PLL_CNTL,
|
|
.reg_off = HHI_GP0_PLL_CNTL,
|
|
.shift = 0,
|
|
.shift = 0,
|
|
@@ -250,11 +264,15 @@ static const struct reg_sequence axg_hifi_init_regs[] = {
|
|
{ .reg = HHI_HIFI_PLL_CNTL3, .def = 0x0a6a3a88 },
|
|
{ .reg = HHI_HIFI_PLL_CNTL3, .def = 0x0a6a3a88 },
|
|
{ .reg = HHI_HIFI_PLL_CNTL4, .def = 0xc000004d },
|
|
{ .reg = HHI_HIFI_PLL_CNTL4, .def = 0xc000004d },
|
|
{ .reg = HHI_HIFI_PLL_CNTL5, .def = 0x00058000 },
|
|
{ .reg = HHI_HIFI_PLL_CNTL5, .def = 0x00058000 },
|
|
- { .reg = HHI_HIFI_PLL_CNTL, .def = 0x40010250 },
|
|
|
|
};
|
|
};
|
|
|
|
|
|
static struct clk_regmap axg_hifi_pll = {
|
|
static struct clk_regmap axg_hifi_pll = {
|
|
.data = &(struct meson_clk_pll_data){
|
|
.data = &(struct meson_clk_pll_data){
|
|
|
|
+ .en = {
|
|
|
|
+ .reg_off = HHI_HIFI_PLL_CNTL,
|
|
|
|
+ .shift = 30,
|
|
|
|
+ .width = 1,
|
|
|
|
+ },
|
|
.m = {
|
|
.m = {
|
|
.reg_off = HHI_HIFI_PLL_CNTL,
|
|
.reg_off = HHI_HIFI_PLL_CNTL,
|
|
.shift = 0,
|
|
.shift = 0,
|
|
@@ -637,7 +655,6 @@ static const struct pll_rate_table axg_pcie_pll_rate_table[] = {
|
|
};
|
|
};
|
|
|
|
|
|
static const struct reg_sequence axg_pcie_init_regs[] = {
|
|
static const struct reg_sequence axg_pcie_init_regs[] = {
|
|
- { .reg = HHI_PCIE_PLL_CNTL, .def = 0x400106c8 },
|
|
|
|
{ .reg = HHI_PCIE_PLL_CNTL1, .def = 0x0084a2aa },
|
|
{ .reg = HHI_PCIE_PLL_CNTL1, .def = 0x0084a2aa },
|
|
{ .reg = HHI_PCIE_PLL_CNTL2, .def = 0xb75020be },
|
|
{ .reg = HHI_PCIE_PLL_CNTL2, .def = 0xb75020be },
|
|
{ .reg = HHI_PCIE_PLL_CNTL3, .def = 0x0a47488e },
|
|
{ .reg = HHI_PCIE_PLL_CNTL3, .def = 0x0a47488e },
|
|
@@ -648,6 +665,11 @@ static const struct reg_sequence axg_pcie_init_regs[] = {
|
|
|
|
|
|
static struct clk_regmap axg_pcie_pll = {
|
|
static struct clk_regmap axg_pcie_pll = {
|
|
.data = &(struct meson_clk_pll_data){
|
|
.data = &(struct meson_clk_pll_data){
|
|
|
|
+ .en = {
|
|
|
|
+ .reg_off = HHI_PCIE_PLL_CNTL,
|
|
|
|
+ .shift = 30,
|
|
|
|
+ .width = 1,
|
|
|
|
+ },
|
|
.m = {
|
|
.m = {
|
|
.reg_off = HHI_PCIE_PLL_CNTL,
|
|
.reg_off = HHI_PCIE_PLL_CNTL,
|
|
.shift = 0,
|
|
.shift = 0,
|