diff mbox series

[3/3] mfd: tqmx86: add support for TQMxE40M

Message ID 3c19d714645f788913956223097adc360ceb6203.1617189926.git.matthias.schiffer@ew.tq-group.com
State New
Headers show
Series tqmx86: TQMxE40M support | expand

Commit Message

Matthias Schiffer March 31, 2021, 11:35 a.m. UTC
All future TQMx86 SoMs will use a 24MHz LPC clock, so we can use that as
a default instead of listing each new module individually.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
---
 drivers/mfd/tqmx86.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

Comments

Andy Shevchenko March 31, 2021, 12:37 p.m. UTC | #1
On Wed, Mar 31, 2021 at 2:38 PM Matthias Schiffer
<matthias.schiffer@ew.tq-group.com> wrote:
>
> All future TQMx86 SoMs will use a 24MHz LPC clock, so we can use that as
> a default instead of listing each new module individually.

...

>         case TQMX86_REG_BOARD_ID_90UC:
>                 return "TQMx90UC";
> +       case TQMX86_REG_BOARD_ID_E40M:
> +               return "TQMxE40M";
>         default:
>                 return "Unknown";
>         }
> @@ -138,12 +141,6 @@ static const char *tqmx86_board_id_to_name(u8 board_id)
>  static int tqmx86_board_id_to_clk_rate(u8 board_id)
>  {
>         switch (board_id) {
> -       case TQMX86_REG_BOARD_ID_50UC:
> -       case TQMX86_REG_BOARD_ID_60EB:
> -       case TQMX86_REG_BOARD_ID_70EB:
> -       case TQMX86_REG_BOARD_ID_80UC:
> -       case TQMX86_REG_BOARD_ID_90UC:
> -               return 24000;
>         case TQMX86_REG_BOARD_ID_E39M:
>         case TQMX86_REG_BOARD_ID_E39C:
>         case TQMX86_REG_BOARD_ID_E39x:
> @@ -152,7 +149,7 @@ static int tqmx86_board_id_to_clk_rate(u8 board_id)
>         case TQMX86_REG_BOARD_ID_E38C:
>                 return 33000;
>         default:
> -               return 0;
> +               return 24000;

AFAICS it will return 24 MHz for "Unknown" board. Is it okay to be so brave?
Matthias Schiffer March 31, 2021, 1:33 p.m. UTC | #2
On Wed, 2021-03-31 at 15:37 +0300, Andy Shevchenko wrote:
> On Wed, Mar 31, 2021 at 2:38 PM Matthias Schiffer
> <matthias.schiffer@ew.tq-group.com> wrote:
> > 
> > All future TQMx86 SoMs will use a 24MHz LPC clock, so we can use that as
> > a default instead of listing each new module individually.
> 
> ...
> 
> >         case TQMX86_REG_BOARD_ID_90UC:
> >                 return "TQMx90UC";
> > +       case TQMX86_REG_BOARD_ID_E40M:
> > +               return "TQMxE40M";
> >         default:
> >                 return "Unknown";
> >         }
> > @@ -138,12 +141,6 @@ static const char *tqmx86_board_id_to_name(u8 board_id)
> >  static int tqmx86_board_id_to_clk_rate(u8 board_id)
> >  {
> >         switch (board_id) {
> > -       case TQMX86_REG_BOARD_ID_50UC:
> > -       case TQMX86_REG_BOARD_ID_60EB:
> > -       case TQMX86_REG_BOARD_ID_70EB:
> > -       case TQMX86_REG_BOARD_ID_80UC:
> > -       case TQMX86_REG_BOARD_ID_90UC:
> > -               return 24000;
> >         case TQMX86_REG_BOARD_ID_E39M:
> >         case TQMX86_REG_BOARD_ID_E39C:
> >         case TQMX86_REG_BOARD_ID_E39x:
> > @@ -152,7 +149,7 @@ static int tqmx86_board_id_to_clk_rate(u8 board_id)
> >         case TQMX86_REG_BOARD_ID_E38C:
> >                 return 33000;
> >         default:
> > -               return 0;
> > +               return 24000;
> 
> AFAICS it will return 24 MHz for "Unknown" board. Is it okay to be so brave?

As noted in the commit message, our hardware developers intend to use
24 MHz for all future x86 SoMs.
Andy Shevchenko March 31, 2021, 2:11 p.m. UTC | #3
On Wed, Mar 31, 2021 at 4:33 PM Matthias Schiffer
<matthias.schiffer@ew.tq-group.com> wrote:
> On Wed, 2021-03-31 at 15:37 +0300, Andy Shevchenko wrote:
> > On Wed, Mar 31, 2021 at 2:38 PM Matthias Schiffer
> > <matthias.schiffer@ew.tq-group.com> wrote:

...

> > > +               return 24000;
> >
> > AFAICS it will return 24 MHz for "Unknown" board. Is it okay to be so brave?
>
> As noted in the commit message, our hardware developers intend to use
> 24 MHz for all future x86 SoMs.

What may go wrong in the future?.. (rhetorical question, obviously)
Lee Jones April 1, 2021, 8:04 a.m. UTC | #4
On Wed, 31 Mar 2021, Andy Shevchenko wrote:

> On Wed, Mar 31, 2021 at 4:33 PM Matthias Schiffer
> <matthias.schiffer@ew.tq-group.com> wrote:
> > On Wed, 2021-03-31 at 15:37 +0300, Andy Shevchenko wrote:
> > > On Wed, Mar 31, 2021 at 2:38 PM Matthias Schiffer
> > > <matthias.schiffer@ew.tq-group.com> wrote:
> 
> ...
> 
> > > > +               return 24000;
> > >
> > > AFAICS it will return 24 MHz for "Unknown" board. Is it okay to be so brave?
> >
> > As noted in the commit message, our hardware developers intend to use
> > 24 MHz for all future x86 SoMs.
> 
> What may go wrong in the future?.. (rhetorical question, obviously)

My preference would be to be explicit.

Rather than support boards implicitly i.e. by accident.
Matthias Schiffer April 1, 2021, 8:06 a.m. UTC | #5
On Thu, 2021-04-01 at 09:04 +0100, Lee Jones wrote:
> On Wed, 31 Mar 2021, Andy Shevchenko wrote:
> 
> > On Wed, Mar 31, 2021 at 4:33 PM Matthias Schiffer
> > <matthias.schiffer@ew.tq-group.com> wrote:
> > > On Wed, 2021-03-31 at 15:37 +0300, Andy Shevchenko wrote:
> > > > On Wed, Mar 31, 2021 at 2:38 PM Matthias Schiffer
> > > > <matthias.schiffer@ew.tq-group.com> wrote:
> > 
> > ...
> > 
> > > > > +               return 24000;
> > > > 
> > > > AFAICS it will return 24 MHz for "Unknown" board. Is it okay to be so brave?
> > > 
> > > As noted in the commit message, our hardware developers intend to use
> > > 24 MHz for all future x86 SoMs.
> > 
> > What may go wrong in the future?.. (rhetorical question, obviously)
> 
> My preference would be to be explicit.
> 
> Rather than support boards implicitly i.e. by accident.
> 

How about logging a warning for unknown boards, but still returning
24 MHz?
diff mbox series

Patch

diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c
index 732013f40e4e..1d5cebc4e72b 100644
--- a/drivers/mfd/tqmx86.c
+++ b/drivers/mfd/tqmx86.c
@@ -36,6 +36,7 @@ 
 #define TQMX86_REG_BOARD_ID_70EB	8
 #define TQMX86_REG_BOARD_ID_80UC	9
 #define TQMX86_REG_BOARD_ID_90UC	10
+#define TQMX86_REG_BOARD_ID_E40M	12
 #define TQMX86_REG_BOARD_REV	0x21
 #define TQMX86_REG_IO_EXT_INT	0x26
 #define TQMX86_REG_IO_EXT_INT_NONE		0
@@ -130,6 +131,8 @@  static const char *tqmx86_board_id_to_name(u8 board_id)
 		return "TQMx80UC";
 	case TQMX86_REG_BOARD_ID_90UC:
 		return "TQMx90UC";
+	case TQMX86_REG_BOARD_ID_E40M:
+		return "TQMxE40M";
 	default:
 		return "Unknown";
 	}
@@ -138,12 +141,6 @@  static const char *tqmx86_board_id_to_name(u8 board_id)
 static int tqmx86_board_id_to_clk_rate(u8 board_id)
 {
 	switch (board_id) {
-	case TQMX86_REG_BOARD_ID_50UC:
-	case TQMX86_REG_BOARD_ID_60EB:
-	case TQMX86_REG_BOARD_ID_70EB:
-	case TQMX86_REG_BOARD_ID_80UC:
-	case TQMX86_REG_BOARD_ID_90UC:
-		return 24000;
 	case TQMX86_REG_BOARD_ID_E39M:
 	case TQMX86_REG_BOARD_ID_E39C:
 	case TQMX86_REG_BOARD_ID_E39x:
@@ -152,7 +149,7 @@  static int tqmx86_board_id_to_clk_rate(u8 board_id)
 	case TQMX86_REG_BOARD_ID_E38C:
 		return 33000;
 	default:
-		return 0;
+		return 24000;
 	}
 }