ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
Subsystems (2)
PATCH 1/6 ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
From: Tom Warren <[email protected]>
The enum used to define the set of register bits used to represent a clock's input mux, MUX_BITS_*, is defined separately for each SoC at present. Move this definition to a common location to ease fixing up some issues with the definition, and the code that uses it.
--- arch/arm/cpu/tegra114-common/clock.c | 6 ------ arch/arm/cpu/tegra30-common/clock.c | 6 ------ arch/arm/include/asm/arch-tegra/clock.h | 6 ++++++ 3 files changed, 6 insertions(+), 12 deletions(-)
arch/arm/cpu/tegra114-common/clock.c +0 -6
@@ -61,12 +61,6 @@ enum { CLOCK_MAX_MUX = 8 /* number of source options for each clock */ }; -enum { -MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ -MASK_BITS_31_29 , -MASK_BITS_29_28 , -}; -/* * Clock source mux for each clock type. This just converts our enum into * a list of mux sources for use by the code.
arch/arm/cpu/tegra30-common/clock.c +0 -6
@@ -60,12 +60,6 @@ enum { CLOCK_MAX_MUX = 8 /* number of source options for each clock */ }; -enum { -MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ -MASK_BITS_31_29 , -MASK_BITS_29_28 , -}; -/* * Clock source mux for each clock type. This just converts our enum into * a list of mux sources for use by the code.
arch/arm/include/asm/arch-tegra/clock.h +6 -0
@@ -20,6 +20,12 @@ enum clock_osc_freq { CLOCK_OSC_FREQ_COUNT, }; +enum { +MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ +MASK_BITS_31_29 , +MASK_BITS_29_28 , +}; +#include <asm/arch/clock-tables.h> /* PLL stabilization delay in usec */ #define CLOCK_PLL_STABLE_DELAY_US 300
Signature · 1 line
1.8.1.5
PATCH 2/6 ARM: tegra: rename MASK_BITS_29_28 to MASK_BITS_31_28
From: Stephen Warren <[email protected]>
The only place where the MASK_BITS_* values are used is in adjust_periph_pll(), which interprets the value 4 (old MASK_BITS_29_28, new MASK_BITS_31_28) as being associated with mask OUT_CLK_SOURCE4_MASK, i.e. bits 31:28. Rename the MASK_BITS_ macro to reflect how it's actually implemented.
Note that no Tegra clock register actually uses all of bits 31:28 as the mux field. Rather, bits 30:28, 29:28, or 28 are used. However, in those cases, nothing is stored in the bits about the mux field, so it's safe to pretend that the mux field extends all the way to the end of the register. As such, the U-Boot clock driver is currently a bit lazy, and doesn't distinguish between 31:28, 30:28, 29:29 and 29; it just lumps them all together and pretends they're all 31:28. This patch doesn't cause this issue; it was pre-existing. Hopefully, future patches will clean this up.
--- arch/arm/cpu/tegra114-common/clock.c | 2 +- arch/arm/cpu/tegra30-common/clock.c | 2 +- arch/arm/include/asm/arch-tegra/clock.h | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-)
arch/arm/cpu/tegra114-common/clock.c +1 -1
@@ -103,7 +103,7 @@ static enum clock_id clock_source[CLOCK_TYPE_COUNT][CLOCK_MAX_MUX+1] = { MASK_BITS_31_29}, {CLK (PERIPH ),CLK (CGENERAL ),CLK (SFROM32KHZ ),CLK (OSC ),CLK (NONE ),CLK (NONE ),CLK (NONE ),CLK (NONE ), - MASK_BITS_29_28} + MASK_BITS_31_28} };/*
arch/arm/cpu/tegra30-common/clock.c +1 -1
@@ -102,7 +102,7 @@ static enum clock_id clock_source[CLOCK_TYPE_COUNT][CLOCK_MAX_MUX+1] = { MASK_BITS_31_29}, {CLK (PERIPH ),CLK (CGENERAL ),CLK (SFROM32KHZ ),CLK (OSC ),CLK (NONE ),CLK (NONE ),CLK (NONE ),CLK (NONE ), - MASK_BITS_29_28} + MASK_BITS_31_28} };/*
arch/arm/include/asm/arch-tegra/clock.h +10 -1
@@ -20,10 +20,19 @@ enum clock_osc_freq { CLOCK_OSC_FREQ_COUNT, }; +/* +* Note that no Tegra clock register actually uses all of bits 31:28 as +* the mux field. Rather, bits 30:28, 29:28, or 28 are used. However, in +* those cases, nothing is stored in the bits about the mux field, so it's +* safe to pretend that the mux field extends all the way to the end of the +* register. As such, the U-Boot clock driver is currently a bit lazy, and +* doesn't distinguish between 31:28, 30:28, 29:29 and 29; it just lumps +* them all together and pretends they're all 31:28. +*/ enum {MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ MASK_BITS_31_29 , -MASK_BITS_29_28 , +MASK_BITS_31_28 , };#include <asm/arch/clock-tables.h>
Signature · 1 line
1.8.1.5
PATCH 2/6 ARM: tegra: rename MASK_BITS_29_28 to MASK_BITS_31_28
Quoted 11 lines · Stephen Warren
From: Stephen Warren <[email protected]>
The only place where the MASK_BITS_* values are used is in
adjust_periph_pll(), which interprets the value 4 (oldMASK_BITS_29_28, newMASK_BITS_31_28) as being associated with maskOUT_CLK_SOURCE4_MASK, i.e. bits 31:28. Rename theMASK_BITS_macro to reflect how it's actually implemented.Note that no Tegra clock register actually uses all of bits 31:28 as the mux field. Rather, bits 30:28, 29:28, or 28 are used. However, in those cases, nothing is stored in the bits about the mux field, so it's
s/about/above/ perhaps?
Quoted 3 lines
safe to pretend that the mux field extends all the way to the end of the register. As such, the U-Boot clock driver is currently a bit lazy, and doesn't distinguish between 31:28, 30:28, 29:29 and 29; it just lumps
Shouldn't that list be: "31:28, 30:28, 29:28 and 28"?
Quoted 3 lines
them all together and pretends they're all 31:28. This patch doesn't cause this issue; it was pre-existing. Hopefully, future patches will clean this up.
Yes, that'd be nice.
Quoted 1 line
arch/arm/include/asm/arch-tegra/clock.h +0
-0
[...]
Quoted 7 lines
+/*
+ * Note that no Tegra clock register actually uses all of bits 31:28 as
+ * the mux field. Rather, bits 30:28, 29:28, or 28 are used. However, in
+ * those cases, nothing is stored in the bits about the mux field, so it's
+ * safe to pretend that the mux field extends all the way to the end of the
+ * register. As such, the U-Boot clock driver is currently a bit lazy, and
+ * doesn't distinguish between 31:28, 30:28, 29:29 and 29; it just lumps
The list seems wrong here as well, but it looks like it's copy/pasted to or from the commit message.
arch/arm/include/asm/arch-tegra/clock.h enum clock_osc_freq { · line 36
Quoted 6 lines
enum {
arch/arm/include/asm/arch-tegra/clock.h +1
-1MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ MASK_BITS_31_29 , - MASK_BITS_29_28, + MASK_BITS_31_28, };
If this ever gets cleaned up I think it'd be clearer to explicitly define them to the number of bits that they use by turning them into #defines.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140124/ab8a50a7/attachment.pgp>
PATCH 2/6 ARM: tegra: rename MASK_BITS_29_28 to MASK_BITS_31_28
Quoted 9 lines · Thierry Reding
Quoted 7 lines · Stephen Warren
From: Stephen Warren <[email protected]>
The only place where the MASK_BITS_* values are used is in
adjust_periph_pll(), which interprets the value 4 (oldMASK_BITS_29_28, newMASK_BITS_31_28) as being associated with maskOUT_CLK_SOURCE4_MASK, i.e. bits 31:28. Rename theMASK_BITS_macro to reflect how it's actually implemented.
Quoted 10 lines
arch/arm/include/asm/arch-tegra/clock.h enum clock_osc_freq { · line 36
Quoted 6 lines
enum {
arch/arm/include/asm/arch-tegra/clock.h +1
-1MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ MASK_BITS_31_29 , - MASK_BITS_29_28, + MASK_BITS_31_28, };If this ever gets cleaned up I think it'd be clearer to explicitly define them to the number of bits that they use by turning them into #defines.
The specific values are actually removed later in the series. I'll fix the other issues you found.
PATCH 3/6 ARM: tegra: rename OUT_CLK_SOURCE_*
In reply to Stephen WarrenFrom: Stephen Warren <[email protected]>
OUT_CLK_SOURCE_ are currently named after the number of bits the mask they represent includes. However, bit count is not the only possible variable; bit position may also vary. Rename OUT_CLK_SOURCE_ to OUT_CLK_SOURCE_31_30_ and OUT_CLK_SOURCE4_ to OUT_CLK_SOURCE_31_28 to more completely describe exactly what they represent, without having to go look up the definitions.
--- arch/arm/cpu/tegra-common/clock.c | 16 ++++++++-------- arch/arm/include/asm/arch-tegra/clk_rst.h | 9 +++++---- 2 files changed, 13 insertions(+), 12 deletions(-)
arch/arm/cpu/tegra-common/clock.c +8 -8
@@ -142,8 +142,8 @@ void clock_ll_set_source_divisor(enum periph_id periph_id, unsigned source, value =readl (reg); - value &= ~OUT_CLK_SOURCE_MASK ; - value |= source <<OUT_CLK_SOURCE_SHIFT ; + value &= ~OUT_CLK_SOURCE_31_30_MASK ; + value |= source <<OUT_CLK_SOURCE_31_30_SHIFT ; value &= ~OUT_CLK_DIVISOR_MASK ; value |= divisor <<OUT_CLK_DIVISOR_SHIFT ;
@@ -155,8 +155,8 @@ void clock_ll_set_source(enum periph_id periph_id, unsigned source) {u32 *reg =get_periph_source_reg (periph_id); -clrsetbits_le32 (reg,OUT_CLK_SOURCE_MASK , - source <<OUT_CLK_SOURCE_SHIFT ); +clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_30_MASK , + source <<OUT_CLK_SOURCE_31_30_SHIFT ); }/**
@@ -305,11 +305,11 @@ static int adjust_periph_pll(enum periph_id periph_id, int source,if (source <0 )return -1 ;if (mux_bits ==4 ) { -clrsetbits_le32 (reg,OUT_CLK_SOURCE4_MASK , - source <<OUT_CLK_SOURCE4_SHIFT ); +clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_28_MASK , + source <<OUT_CLK_SOURCE_31_28_SHIFT ); }else { -clrsetbits_le32 (reg,OUT_CLK_SOURCE_MASK , - source <<OUT_CLK_SOURCE_SHIFT ); +clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_30_MASK , + source <<OUT_CLK_SOURCE_31_30_SHIFT ); }udelay (2 );return 0 ;
arch/arm/include/asm/arch-tegra/clk_rst.h +5 -4
@@ -233,11 +233,12 @@ enum {#define OUT_CLK_DIVISOR_SHIFT 0#define OUT_CLK_DIVISOR_MASK (0xffff << OUT_CLK_DIVISOR_SHIFT) -#define OUT_CLK_SOURCE_SHIFT 30 -#define OUT_CLK_SOURCE_MASK (3U << OUT_CLK_SOURCE_SHIFT) +#define OUT_CLK_SOURCE_31_30_SHIFT 30 +#define OUT_CLK_SOURCE_31_30_MASK (3U << OUT_CLK_SOURCE_31_30_SHIFT) -#define OUT_CLK_SOURCE4_SHIFT 28 -#define OUT_CLK_SOURCE4_MASK (15U << OUT_CLK_SOURCE4_SHIFT) +/* Note: See comment for MASK_BITS_31_28 in arch-tegra/clock.h */ +#define OUT_CLK_SOURCE_31_28_SHIFT 28 +#define OUT_CLK_SOURCE_31_28_MASK (15U << OUT_CLK_SOURCE_31_28_SHIFT)/* CLK_RST_CONTROLLER_SCLK_BURST_POLICY */ #define SCLK_SYS_STATE_SHIFT 28U
Signature · 1 line
1.8.1.5
PATCH 3/6 ARM: tegra: rename OUT_CLK_SOURCE_*
Quoted 7 lines · Stephen Warren
From: Stephen Warren <[email protected]>
OUT_CLK_SOURCE_are currently named after the number of bits the mask they represent includes. However, bit count is not the only possible variable; bit position may also vary. RenameOUT_CLK_SOURCE_toOUT_CLK_SOURCE_31_30_andOUT_CLK_SOURCE4_toOUT_CLK_SOURCE_31_28to more completely describe exactly what they represent, without having to
Nit: I think you should pick either "completely" or "exactly".
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140124/e7c1e4be/attachment.pgp>
PATCH 3/6 ARM: tegra: rename OUT_CLK_SOURCE_*
Quoted 10 lines · Thierry Reding
Quoted 7 lines · Stephen Warren
From: Stephen Warren <[email protected]>
OUT_CLK_SOURCE_are currently named after the number of bits the mask they represent includes. However, bit count is not the only possible variable; bit position may also vary. RenameOUT_CLK_SOURCE_toOUT_CLK_SOURCE_31_30_andOUT_CLK_SOURCE4_toOUT_CLK_SOURCE_31_28to more completely describe exactly what they represent, without having toNit: I think you should pick either "completely" or "exactly".
Complete and exact mean different things.
PATCH 4/6 ARM: tegra: use MASK_BITS_* macros everywhere
In reply to Stephen WarrenFrom: Stephen Warren <[email protected]>
Not all code that set or interpreted "mux_bits" was using the named macros, but rather some was simply using hard-coded integer constants. This makes it hard to determine which pieces of code are affected by changes to those constants.
Replace the integer constants with the equivalent macro definitions so that everything is nicely tied together.
Note that I'm not convinced all the code was using the correct integer constants, and hence I'm not convinced that all the code is now using the desired macros. However, this change is a purely mechanical replacement and should have no functional change. Fixing any bugs will come later, separately.
--- arch/arm/cpu/tegra-common/clock.c | 2 +- arch/arm/cpu/tegra20-common/clock.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
arch/arm/cpu/tegra-common/clock.c +1 -1
@@ -304,7 +304,7 @@ static int adjust_periph_pll(enum periph_id periph_id, int source,/* work out the source clock and set it */ if (source <0 )return -1 ; -if (mux_bits ==4 ) { +if (mux_bits ==MASK_BITS_31_28 ) {clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_28_MASK , source <<OUT_CLK_SOURCE_31_28_SHIFT ); }else {
arch/arm/cpu/tegra20-common/clock.c +2 -2
@@ -412,9 +412,9 @@ int get_periph_clock_source(enum periph_id periph_id,* with its 16-bit divisor */ if (type ==CLOCK_TYPE_PCXTS ) - *mux_bits =4 ; + *mux_bits =MASK_BITS_31_28 ;else - *mux_bits =2 ; + *mux_bits =MASK_BITS_31_30 ;if (type ==CLOCK_TYPE_PCMT16 ) *divider_bits =16 ;else
Signature · 1 line
1.8.1.5
PATCH 5/6 ARM: tegra: MASK_BITS_ no longer needs specific values
In reply to Stephen WarrenFrom: Stephen Warren <[email protected]>
Since all code that sets or interprets MASK_BITS_* now uses the enums to define/compare the values, there is no need for MASK_BITS_* to have a specific integer value. In fact, having a specific integer value may encourage people to hard-code those values, or interpret the values in incorrect ways.
As such, remove the logic that assigns a specific value to the enum values in order to make it completely clear that it's just an enum, not something that directly represents some integer value.
--- arch/arm/include/asm/arch-tegra/clock.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/include/asm/arch-tegra/clock.h +1 -1
@@ -30,7 +30,7 @@ enum clock_osc_freq {* them all together and pretends they're all 31:28. */ enum { -MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ +MASK_BITS_31_30 ,/* num of bits used to specify clock source */ MASK_BITS_31_29 ,MASK_BITS_31_28 , };
Signature · 1 line
1.8.1.5
PATCH 5/6 ARM: tegra: MASK_BITS_ no longer needs specific values
Quoted 11 lines · Stephen Warren
From: Stephen Warren <[email protected]>
Since all code that sets or interprets MASK_BITS_* now uses the enums to define/compare the values, there is no need for MASK_BITS_* to have a specific integer value. In fact, having a specific integer value may encourage people to hard-code those values, or interpret the values in incorrect ways.
As such, remove the logic that assigns a specific value to the enum values in order to make it completely clear that it's just an enum, not something that directly represents some integer value.
Ah yes, that's a nice way to clean it up as well, so my earlier comment about turning these into defines can be considered obsolete.
arch/arm/include/asm/arch-tegra/clock.h enum clock_osc_freq { · line 33
Quoted 10 lines
arch/arm/include/asm/arch-tegra/clock.h +1
-1@@ -30,7 +30,7 @@ enum clock_osc_freq {* them all together and pretends they're all 31:28. */ enum { -MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ +MASK_BITS_31_30 ,/* num of bits used to specify clock source */
Should the comment not be removed as well now?
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140124/73dae126/attachment.pgp>
PATCH 5/6 ARM: tegra: MASK_BITS_ no longer needs specific values
Quoted 9 lines · Thierry Reding
Quoted 8 lines · Stephen Warren
From: Stephen Warren <[email protected]>
Since all code that sets or interprets MASK_BITS_* now uses the enums to define/compare the values, there is no need for MASK_BITS_* to have a specific integer value. In fact, having a specific integer value may encourage people to hard-code those values, or interpret the values in incorrect ways.
Quoted 6 lines
Quoted 3 lines
As such, remove the logic that assigns a specific value to the enum values in order to make it completely clear that it's just an enum, not something that directly represents some integer value.
Ah yes, that's a nice way to clean it up as well, so my earlier comment about turning these into defines can be considered obsolete.
I guess I should read all the replies first:-)
Quoted 7 lines
arch/arm/include/asm/arch-tegra/clock.h enum clock_osc_freq { · line 33
Quoted 5 lines
arch/arm/include/asm/arch-tegra/clock.h +1
-1enum { -MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */ +MASK_BITS_31_30 ,/* num of bits used to specify clock source */ Should the comment not be removed as well now?
Well, it the enum name still defines the position (and size), just not the value any more:-)
But yes, it's obvious enough without the commment, so I'll remove that.
PATCH 6/6 ARM: tegra: implement MASK_BITS_31_29
In reply to Stephen WarrenFrom: Tom Warren <[email protected]>
Some clock sources have 3-bit muxes in bits 31:29. Implement core support for this mux field.
--- arch/arm/cpu/tegra-common/clock.c | 22 ++++++++++++++++++---- arch/arm/include/asm/arch-tegra/clk_rst.h | 3 +++ 2 files changed, 21 insertions(+), 4 deletions(-)
arch/arm/cpu/tegra-common/clock.c +18 -4
@@ -304,13 +304,27 @@ static int adjust_periph_pll(enum periph_id periph_id, int source,/* work out the source clock and set it */ if (source <0 )return -1 ; -if (mux_bits ==MASK_BITS_31_28 ) { -clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_28_MASK , - source <<OUT_CLK_SOURCE_31_28_SHIFT ); - }else { + +switch (mux_bits) { +case MASK_BITS_31_30 :clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_30_MASK , source <<OUT_CLK_SOURCE_31_30_SHIFT ); +break ; + +case MASK_BITS_31_29 : +clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_29_MASK , + source <<OUT_CLK_SOURCE_31_29_SHIFT ); +break ; + +case MASK_BITS_31_28 : +clrsetbits_le32 (reg,OUT_CLK_SOURCE_31_28_MASK , + source <<OUT_CLK_SOURCE_31_28_SHIFT ); +break ; + +default : +return -1 ; } +udelay (2 );return 0 ; }
arch/arm/include/asm/arch-tegra/clk_rst.h +3 -0
@@ -236,6 +236,9 @@ enum {#define OUT_CLK_SOURCE_31_30_SHIFT 30#define OUT_CLK_SOURCE_31_30_MASK (3U << OUT_CLK_SOURCE_31_30_SHIFT) +#define OUT_CLK_SOURCE_31_29_SHIFT 29 +#define OUT_CLK_SOURCE_31_29_MASK (7U << OUT_CLK_SOURCE_31_29_SHIFT) +/* Note: See comment for MASK_BITS_31_28 in arch-tegra/clock.h */ #define OUT_CLK_SOURCE_31_28_SHIFT 28#define OUT_CLK_SOURCE_31_28_MASK (15U << OUT_CLK_SOURCE_31_28_SHIFT)
Signature · 1 line
1.8.1.5
PATCH 1/6 ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
In reply to Stephen WarrenStephen,
Quoted 78 lines · Stephen Warren
From: Tom Warren <[email protected]>
The enum used to define the set of register bits used to represent a clock's input mux, MUX_BITS_*, is defined separately for each SoC at present. Move this definition to a common location to ease fixing up some issues with the definition, and the code that uses it.
Signed-off-by Tom Warren <[email protected]>[swarren, extracted from a larger patch by Tom]Signed-off-by Stephen Warren <[email protected]>--- arch/arm/cpu/tegra114-common/clock.c | 6 ------ arch/arm/cpu/tegra30-common/clock.c | 6 ------ arch/arm/include/asm/arch-tegra/clock.h | 6 ++++++ 3 files changed, 6 insertions(+), 12 deletions(-)arch/arm/cpu/tegra114-common/clock.c +0
-2@@ -61,12 +61,6 @@ enum {CLOCK_MAX_MUX =8 /* number of source options for each clock */ }; -enum { -MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */
arch/arm/cpu/tegra114-common/clock.c +0
-4-MASK_BITS_31_29 , - MASK_BITS_29_28, -}; -/* * Clock source mux for each clock type. This just converts our enum into * a list of mux sources for use by the code. arch/arm/cpu/tegra30-common/clock.c +0
-2@@ -60,12 +60,6 @@ enum {CLOCK_MAX_MUX =8 /* number of source options for each clock */ }; -enum { -MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */
arch/arm/cpu/tegra30-common/clock.c +0
-4-MASK_BITS_31_29 , - MASK_BITS_29_28, -}; -/* * Clock source mux for each clock type. This just converts our enum into * a list of mux sources for use by the code. arch/arm/include/asm/arch-tegra/clock.h +2
-0@@ -20,6 +20,12 @@ enum clock_osc_freq { CLOCK_OSC_FREQ_COUNT, }; +enum { +MASK_BITS_31_30 =2 ,/* num of bits used to specify clock source */
arch/arm/include/asm/arch-tegra/clock.h +4
-1+MASK_BITS_31_29 , + MASK_BITS_29_28, +}; +#include <asm/arch/clock-tables.h> /* PLL stabilization delay in usec */ #define CLOCK_PLL_STABLE_DELAY_US 300 --1.8.1.5
Quoted 1 line
Thanks for doing these patches - nice job. LGTM.
Applies cleanly to u-boot-tegra/next after applying Alban's 2 patches, your other 3 patches, and then this series of 6. Building all now, I'll test later.
Tom
PATCH 1/6 ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
On 01/22/2014 02:35 PM, Tom Warren wrote:
...
Quoted 5 lines
Thanks for doing these patches - nice job. LGTM.
Applies cleanly to u-boot-tegra/next after applying Alban's 2 patches, your other 3 patches, and then this series of 6. Building all now, I'll test later.
Great! Just FYI, I tested MMC and DHCP (USB net) boot on all of Springbank, Cardhu, Dalmore, Venice2 with these patches, your Tegra124 series, plus the other pxe/extlinux/... stuff I've been working on all applied.
PATCH 1/6 ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
Quoted 4 lines · Stephen Warren
On 01/22/2014 02:35 PM, Tom Warren wrote:
...Quoted 2 lines
Thanks for doing these patches - nice job. LGTM.
Quoted 9 lines
Quoted 3 lines
Applies cleanly to u-boot-tegra/next after applying Alban's 2 patches, your other 3 patches, and then this series of 6. Building all now, I'll test later.
Great! Just FYI, I tested MMC and DHCP (USB net) boot on all of Springbank, Cardhu, Dalmore, Venice2 with these patches, your Tegra124 series, plus the other pxe/extlinux/... stuff I've been working on all applied.
Great - I'd assumed you'd been thorough in your testing!
I'd like to have someone else ACK these patches before I commit them to u-boot-tegra/next. The only one of the 11 pending Tegra patches I mentioned that's got an Acked-by is Alban's pullid patch.
Tom
PATCH 1/6 ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
In reply to Stephen WarrenQuoted 7 lines · Stephen Warren
From: Tom Warren <[email protected]>
The enum used to define the set of register bits used to represent a clock's input mux, MUX_BITS_*, is defined separately for each SoC at present. Move this definition to a common location to ease fixing up some issues with the definition, and the code that uses it.
Quoted 8 lines
Signed-off-by Tom Warren <[email protected]>[swarren, extracted from a larger patch by Tom]Signed-off-by Stephen Warren <[email protected]>--- arch/arm/cpu/tegra114-common/clock.c | 6 ------ arch/arm/cpu/tegra30-common/clock.c | 6 ------ arch/arm/include/asm/arch-tegra/clock.h | 6 ++++++ 3 files changed, 6 insertions(+), 12 deletions(-)
With the few small comments addressed, the series:
I've also given these a spin together with your reworked Tegra124 patches and it all works great, so:
And since Tom asked for it:
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140124/3cca1c3e/attachment.pgp>
PATCH 1/6 ARM: tegra: deduplicate MASK_BITS_xxx clock mux enum
Quoted 1 line · Thierry Reding
On Wed, Jan 22, 2014 at 01:20:31PM -0700, Stephen Warren wrote:
...
Quoted 4 lines
With the few small comments addressed, the series:
Reviewed-by Thierry Reding <[email protected]>
Quoted 8 lines
I've also given these a spin together with your reworked Tegra124 patches and it all works great, so:
Tested-by Thierry Reding <[email protected]>And since Tom asked for it:
Acked-by Thierry Reding <[email protected]>
Thanks!
For me at least, a Reviewed-by implies an Acked-by, at least in the case where the patches are going through the normal tree, and you're just acking that can be applied.