Message ID | 20220513040220.3657135-2-pdel@fb.com |
---|---|
State | New |
Headers | show |
Series | hw: aspeed: Init all UART's with serial devices | expand |
On 5/13/22 06:02, Peter Delevoryas wrote: > This adds the missing UART memory and IRQ mappings for the AST2400, AST2500, > AST2600, and AST1030. > > This also includes the new UART interfaces added in the AST2600 and AST1030 > from UART6 to UART13. The addresses and interrupt numbers for these two > later chips are identical. Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > > Signed-off-by: Peter Delevoryas <pdel@fb.com> > --- > hw/arm/aspeed_ast10x0.c | 24 ++++++++++++++++++++++++ > hw/arm/aspeed_ast2600.c | 19 +++++++++++++++++++ > hw/arm/aspeed_soc.c | 6 ++++++ > include/hw/arm/aspeed_soc.h | 8 ++++++++ > 4 files changed, 57 insertions(+) > > diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c > index 4271549282..f65dc139da 100644 > --- a/hw/arm/aspeed_ast10x0.c > +++ b/hw/arm/aspeed_ast10x0.c > @@ -33,14 +33,38 @@ static const hwaddr aspeed_soc_ast1030_memmap[] = { > [ASPEED_DEV_SBC] = 0x7E6F2000, > [ASPEED_DEV_GPIO] = 0x7E780000, > [ASPEED_DEV_TIMER1] = 0x7E782000, > + [ASPEED_DEV_UART1] = 0x7E783000, > + [ASPEED_DEV_UART2] = 0x7E78D000, > + [ASPEED_DEV_UART3] = 0x7E78E000, > + [ASPEED_DEV_UART4] = 0x7E78F000, > [ASPEED_DEV_UART5] = 0x7E784000, > + [ASPEED_DEV_UART6] = 0x7E790000, > + [ASPEED_DEV_UART7] = 0x7E790100, > + [ASPEED_DEV_UART8] = 0x7E790200, > + [ASPEED_DEV_UART9] = 0x7E790300, > + [ASPEED_DEV_UART10] = 0x7E790400, > + [ASPEED_DEV_UART11] = 0x7E790500, > + [ASPEED_DEV_UART12] = 0x7E790600, > + [ASPEED_DEV_UART13] = 0x7E790700, > [ASPEED_DEV_WDT] = 0x7E785000, > [ASPEED_DEV_LPC] = 0x7E789000, > [ASPEED_DEV_I2C] = 0x7E7B0000, > }; > > static const int aspeed_soc_ast1030_irqmap[] = { > + [ASPEED_DEV_UART1] = 47, > + [ASPEED_DEV_UART2] = 48, > + [ASPEED_DEV_UART3] = 49, > + [ASPEED_DEV_UART4] = 50, > [ASPEED_DEV_UART5] = 8, > + [ASPEED_DEV_UART6] = 57, > + [ASPEED_DEV_UART7] = 58, > + [ASPEED_DEV_UART8] = 59, > + [ASPEED_DEV_UART9] = 60, > + [ASPEED_DEV_UART10] = 61, > + [ASPEED_DEV_UART11] = 62, > + [ASPEED_DEV_UART12] = 63, > + [ASPEED_DEV_UART13] = 64, > [ASPEED_DEV_GPIO] = 11, > [ASPEED_DEV_TIMER1] = 16, > [ASPEED_DEV_TIMER2] = 17, > diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c > index eedda7badc..1b72800682 100644 > --- a/hw/arm/aspeed_ast2600.c > +++ b/hw/arm/aspeed_ast2600.c > @@ -61,7 +61,18 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = { > [ASPEED_DEV_IBT] = 0x1E789140, > [ASPEED_DEV_I2C] = 0x1E78A000, > [ASPEED_DEV_UART1] = 0x1E783000, > + [ASPEED_DEV_UART2] = 0x1E78D000, > + [ASPEED_DEV_UART3] = 0x1E78E000, > + [ASPEED_DEV_UART4] = 0x1E78F000, > [ASPEED_DEV_UART5] = 0x1E784000, > + [ASPEED_DEV_UART6] = 0x1E790000, > + [ASPEED_DEV_UART7] = 0x1E790100, > + [ASPEED_DEV_UART8] = 0x1E790200, > + [ASPEED_DEV_UART9] = 0x1E790300, > + [ASPEED_DEV_UART10] = 0x1E790400, > + [ASPEED_DEV_UART11] = 0x1E790500, > + [ASPEED_DEV_UART12] = 0x1E790600, > + [ASPEED_DEV_UART13] = 0x1E790700, > [ASPEED_DEV_VUART] = 0x1E787000, > [ASPEED_DEV_I3C] = 0x1E7A0000, > [ASPEED_DEV_SDRAM] = 0x80000000, > @@ -78,6 +89,14 @@ static const int aspeed_soc_ast2600_irqmap[] = { > [ASPEED_DEV_UART3] = 49, > [ASPEED_DEV_UART4] = 50, > [ASPEED_DEV_UART5] = 8, > + [ASPEED_DEV_UART6] = 57, > + [ASPEED_DEV_UART7] = 58, > + [ASPEED_DEV_UART8] = 59, > + [ASPEED_DEV_UART9] = 60, > + [ASPEED_DEV_UART10] = 61, > + [ASPEED_DEV_UART11] = 62, > + [ASPEED_DEV_UART12] = 63, > + [ASPEED_DEV_UART13] = 64, > [ASPEED_DEV_VUART] = 8, > [ASPEED_DEV_FMC] = 39, > [ASPEED_DEV_SDMC] = 0, > diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c > index 58714cb2a0..2cd03d49da 100644 > --- a/hw/arm/aspeed_soc.c > +++ b/hw/arm/aspeed_soc.c > @@ -48,6 +48,9 @@ static const hwaddr aspeed_soc_ast2400_memmap[] = { > [ASPEED_DEV_ETH1] = 0x1E660000, > [ASPEED_DEV_ETH2] = 0x1E680000, > [ASPEED_DEV_UART1] = 0x1E783000, > + [ASPEED_DEV_UART2] = 0x1E78D000, > + [ASPEED_DEV_UART3] = 0x1E78E000, > + [ASPEED_DEV_UART4] = 0x1E78F000, > [ASPEED_DEV_UART5] = 0x1E784000, > [ASPEED_DEV_VUART] = 0x1E787000, > [ASPEED_DEV_SDRAM] = 0x40000000, > @@ -80,6 +83,9 @@ static const hwaddr aspeed_soc_ast2500_memmap[] = { > [ASPEED_DEV_ETH1] = 0x1E660000, > [ASPEED_DEV_ETH2] = 0x1E680000, > [ASPEED_DEV_UART1] = 0x1E783000, > + [ASPEED_DEV_UART2] = 0x1E78D000, > + [ASPEED_DEV_UART3] = 0x1E78E000, > + [ASPEED_DEV_UART4] = 0x1E78F000, > [ASPEED_DEV_UART5] = 0x1E784000, > [ASPEED_DEV_VUART] = 0x1E787000, > [ASPEED_DEV_SDRAM] = 0x80000000, > diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h > index e13af374b9..3f7f815275 100644 > --- a/include/hw/arm/aspeed_soc.h > +++ b/include/hw/arm/aspeed_soc.h > @@ -104,6 +104,14 @@ enum { > ASPEED_DEV_UART3, > ASPEED_DEV_UART4, > ASPEED_DEV_UART5, > + ASPEED_DEV_UART6, > + ASPEED_DEV_UART7, > + ASPEED_DEV_UART8, > + ASPEED_DEV_UART9, > + ASPEED_DEV_UART10, > + ASPEED_DEV_UART11, > + ASPEED_DEV_UART12, > + ASPEED_DEV_UART13, > ASPEED_DEV_VUART, > ASPEED_DEV_FMC, > ASPEED_DEV_SPI1,
diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c index 4271549282..f65dc139da 100644 --- a/hw/arm/aspeed_ast10x0.c +++ b/hw/arm/aspeed_ast10x0.c @@ -33,14 +33,38 @@ static const hwaddr aspeed_soc_ast1030_memmap[] = { [ASPEED_DEV_SBC] = 0x7E6F2000, [ASPEED_DEV_GPIO] = 0x7E780000, [ASPEED_DEV_TIMER1] = 0x7E782000, + [ASPEED_DEV_UART1] = 0x7E783000, + [ASPEED_DEV_UART2] = 0x7E78D000, + [ASPEED_DEV_UART3] = 0x7E78E000, + [ASPEED_DEV_UART4] = 0x7E78F000, [ASPEED_DEV_UART5] = 0x7E784000, + [ASPEED_DEV_UART6] = 0x7E790000, + [ASPEED_DEV_UART7] = 0x7E790100, + [ASPEED_DEV_UART8] = 0x7E790200, + [ASPEED_DEV_UART9] = 0x7E790300, + [ASPEED_DEV_UART10] = 0x7E790400, + [ASPEED_DEV_UART11] = 0x7E790500, + [ASPEED_DEV_UART12] = 0x7E790600, + [ASPEED_DEV_UART13] = 0x7E790700, [ASPEED_DEV_WDT] = 0x7E785000, [ASPEED_DEV_LPC] = 0x7E789000, [ASPEED_DEV_I2C] = 0x7E7B0000, }; static const int aspeed_soc_ast1030_irqmap[] = { + [ASPEED_DEV_UART1] = 47, + [ASPEED_DEV_UART2] = 48, + [ASPEED_DEV_UART3] = 49, + [ASPEED_DEV_UART4] = 50, [ASPEED_DEV_UART5] = 8, + [ASPEED_DEV_UART6] = 57, + [ASPEED_DEV_UART7] = 58, + [ASPEED_DEV_UART8] = 59, + [ASPEED_DEV_UART9] = 60, + [ASPEED_DEV_UART10] = 61, + [ASPEED_DEV_UART11] = 62, + [ASPEED_DEV_UART12] = 63, + [ASPEED_DEV_UART13] = 64, [ASPEED_DEV_GPIO] = 11, [ASPEED_DEV_TIMER1] = 16, [ASPEED_DEV_TIMER2] = 17, diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index eedda7badc..1b72800682 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -61,7 +61,18 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = { [ASPEED_DEV_IBT] = 0x1E789140, [ASPEED_DEV_I2C] = 0x1E78A000, [ASPEED_DEV_UART1] = 0x1E783000, + [ASPEED_DEV_UART2] = 0x1E78D000, + [ASPEED_DEV_UART3] = 0x1E78E000, + [ASPEED_DEV_UART4] = 0x1E78F000, [ASPEED_DEV_UART5] = 0x1E784000, + [ASPEED_DEV_UART6] = 0x1E790000, + [ASPEED_DEV_UART7] = 0x1E790100, + [ASPEED_DEV_UART8] = 0x1E790200, + [ASPEED_DEV_UART9] = 0x1E790300, + [ASPEED_DEV_UART10] = 0x1E790400, + [ASPEED_DEV_UART11] = 0x1E790500, + [ASPEED_DEV_UART12] = 0x1E790600, + [ASPEED_DEV_UART13] = 0x1E790700, [ASPEED_DEV_VUART] = 0x1E787000, [ASPEED_DEV_I3C] = 0x1E7A0000, [ASPEED_DEV_SDRAM] = 0x80000000, @@ -78,6 +89,14 @@ static const int aspeed_soc_ast2600_irqmap[] = { [ASPEED_DEV_UART3] = 49, [ASPEED_DEV_UART4] = 50, [ASPEED_DEV_UART5] = 8, + [ASPEED_DEV_UART6] = 57, + [ASPEED_DEV_UART7] = 58, + [ASPEED_DEV_UART8] = 59, + [ASPEED_DEV_UART9] = 60, + [ASPEED_DEV_UART10] = 61, + [ASPEED_DEV_UART11] = 62, + [ASPEED_DEV_UART12] = 63, + [ASPEED_DEV_UART13] = 64, [ASPEED_DEV_VUART] = 8, [ASPEED_DEV_FMC] = 39, [ASPEED_DEV_SDMC] = 0, diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c index 58714cb2a0..2cd03d49da 100644 --- a/hw/arm/aspeed_soc.c +++ b/hw/arm/aspeed_soc.c @@ -48,6 +48,9 @@ static const hwaddr aspeed_soc_ast2400_memmap[] = { [ASPEED_DEV_ETH1] = 0x1E660000, [ASPEED_DEV_ETH2] = 0x1E680000, [ASPEED_DEV_UART1] = 0x1E783000, + [ASPEED_DEV_UART2] = 0x1E78D000, + [ASPEED_DEV_UART3] = 0x1E78E000, + [ASPEED_DEV_UART4] = 0x1E78F000, [ASPEED_DEV_UART5] = 0x1E784000, [ASPEED_DEV_VUART] = 0x1E787000, [ASPEED_DEV_SDRAM] = 0x40000000, @@ -80,6 +83,9 @@ static const hwaddr aspeed_soc_ast2500_memmap[] = { [ASPEED_DEV_ETH1] = 0x1E660000, [ASPEED_DEV_ETH2] = 0x1E680000, [ASPEED_DEV_UART1] = 0x1E783000, + [ASPEED_DEV_UART2] = 0x1E78D000, + [ASPEED_DEV_UART3] = 0x1E78E000, + [ASPEED_DEV_UART4] = 0x1E78F000, [ASPEED_DEV_UART5] = 0x1E784000, [ASPEED_DEV_VUART] = 0x1E787000, [ASPEED_DEV_SDRAM] = 0x80000000, diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h index e13af374b9..3f7f815275 100644 --- a/include/hw/arm/aspeed_soc.h +++ b/include/hw/arm/aspeed_soc.h @@ -104,6 +104,14 @@ enum { ASPEED_DEV_UART3, ASPEED_DEV_UART4, ASPEED_DEV_UART5, + ASPEED_DEV_UART6, + ASPEED_DEV_UART7, + ASPEED_DEV_UART8, + ASPEED_DEV_UART9, + ASPEED_DEV_UART10, + ASPEED_DEV_UART11, + ASPEED_DEV_UART12, + ASPEED_DEV_UART13, ASPEED_DEV_VUART, ASPEED_DEV_FMC, ASPEED_DEV_SPI1,
This adds the missing UART memory and IRQ mappings for the AST2400, AST2500, AST2600, and AST1030. This also includes the new UART interfaces added in the AST2600 and AST1030 from UART6 to UART13. The addresses and interrupt numbers for these two later chips are identical. Signed-off-by: Peter Delevoryas <pdel@fb.com> --- hw/arm/aspeed_ast10x0.c | 24 ++++++++++++++++++++++++ hw/arm/aspeed_ast2600.c | 19 +++++++++++++++++++ hw/arm/aspeed_soc.c | 6 ++++++ include/hw/arm/aspeed_soc.h | 8 ++++++++ 4 files changed, 57 insertions(+)