Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

clk: at91: add ACR in all PLL settings

Add the ACR register to all PLL settings and provide the correct
ACR value for each PLL used in different SoCs.

Suggested-by: Mihai Sain <mihai.sain@microchip.com>
Signed-off-by: Cristian Birsan <cristian.birsan@microchip.com>
[nicolas.ferre@microchip.com: add sama7d65 and review commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>

authored by

Cristian Birsan and committed by
Nicolas Ferre
bfa2bddf 94a12741

+14
+1
drivers/clk/at91/pmc.h
··· 80 80 u16 *icpll; 81 81 u8 *out; 82 82 u8 upll : 1; 83 + u32 acr; 83 84 }; 84 85 85 86 struct clk_programmable_layout {
+2
drivers/clk/at91/sam9x60.c
··· 36 36 .num_output = ARRAY_SIZE(plla_outputs), 37 37 .output = plla_outputs, 38 38 .core_output = core_outputs, 39 + .acr = UL(0x00020010), 39 40 }; 40 41 41 42 static const struct clk_range upll_outputs[] = { ··· 49 48 .output = upll_outputs, 50 49 .core_output = core_outputs, 51 50 .upll = true, 51 + .acr = UL(0x12023010), /* fIN = [18 MHz, 32 MHz]*/ 52 52 }; 53 53 54 54 static const struct clk_pll_layout pll_frac_layout = {
+5
drivers/clk/at91/sam9x7.c
··· 107 107 .num_output = ARRAY_SIZE(plla_outputs), 108 108 .output = plla_outputs, 109 109 .core_output = plla_core_outputs, 110 + .acr = UL(0x00020010), /* Old ACR_DEFAULT_PLLA value */ 110 111 }; 111 112 112 113 static const struct clk_pll_characteristics upll_characteristics = { ··· 116 115 .output = upll_outputs, 117 116 .core_output = upll_core_outputs, 118 117 .upll = true, 118 + .acr = UL(0x12023010), /* fIN=[20 MHz, 32 MHz] */ 119 119 }; 120 120 121 121 static const struct clk_pll_characteristics lvdspll_characteristics = { ··· 124 122 .num_output = ARRAY_SIZE(lvdspll_outputs), 125 123 .output = lvdspll_outputs, 126 124 .core_output = lvdspll_core_outputs, 125 + .acr = UL(0x12023010), /* fIN=[20 MHz, 32 MHz] */ 127 126 }; 128 127 129 128 static const struct clk_pll_characteristics audiopll_characteristics = { ··· 132 129 .num_output = ARRAY_SIZE(audiopll_outputs), 133 130 .output = audiopll_outputs, 134 131 .core_output = audiopll_core_outputs, 132 + .acr = UL(0x12023010), /* fIN=[20 MHz, 32 MHz] */ 135 133 }; 136 134 137 135 static const struct clk_pll_characteristics plladiv2_characteristics = { ··· 140 136 .num_output = ARRAY_SIZE(plladiv2_outputs), 141 137 .output = plladiv2_outputs, 142 138 .core_output = plladiv2_core_outputs, 139 + .acr = UL(0x00020010), /* Old ACR_DEFAULT_PLLA value */ 143 140 }; 144 141 145 142 /* Layout for fractional PLL ID PLLA. */
+4
drivers/clk/at91/sama7d65.c
··· 138 138 .num_output = ARRAY_SIZE(cpu_pll_outputs), 139 139 .output = cpu_pll_outputs, 140 140 .core_output = core_outputs, 141 + .acr = UL(0x00070010), 141 142 }; 142 143 143 144 /* PLL characteristics. */ ··· 147 146 .num_output = ARRAY_SIZE(pll_outputs), 148 147 .output = pll_outputs, 149 148 .core_output = core_outputs, 149 + .acr = UL(0x00070010), 150 150 }; 151 151 152 152 static const struct clk_pll_characteristics lvdspll_characteristics = { ··· 155 153 .num_output = ARRAY_SIZE(lvdspll_outputs), 156 154 .output = lvdspll_outputs, 157 155 .core_output = lvdspll_core_outputs, 156 + .acr = UL(0x00070010), 158 157 }; 159 158 160 159 static const struct clk_pll_characteristics upll_characteristics = { ··· 163 160 .num_output = ARRAY_SIZE(upll_outputs), 164 161 .output = upll_outputs, 165 162 .core_output = upll_core_outputs, 163 + .acr = UL(0x12020010), 166 164 .upll = true, 167 165 }; 168 166
+2
drivers/clk/at91/sama7g5.c
··· 113 113 .num_output = ARRAY_SIZE(cpu_pll_outputs), 114 114 .output = cpu_pll_outputs, 115 115 .core_output = core_outputs, 116 + .acr = UL(0x00070010), 116 117 }; 117 118 118 119 /* PLL characteristics. */ ··· 122 121 .num_output = ARRAY_SIZE(pll_outputs), 123 122 .output = pll_outputs, 124 123 .core_output = core_outputs, 124 + .acr = UL(0x00070010), 125 125 }; 126 126 127 127 /*