arm, am335x: add support for siemens boards
Subsystems (2)
v3 cover arm, am335x: add support for siemens boards
add support for the am335x based boards from siemens:
dxr2:
- DDR3 128MiB
- NAND 256MiB
- Ethernet with external Switch SMSC LAN9303
- no PMIC
- internal Watchdog
- DFU support
pxm2:
- DDR2 512 MiB
- NAND 1024 MiB
- PMIC
- PHY atheros ar803x
- USB Host
- internal Watchdog
- DFU support
rut:
- DDR3 256 MiB
- NAND 256 MiB
- PMIC
- PHY natsemi dp83630
- external Watchdog
- DFU support
- changes for v2:
- add a more detailed comment, from where the files are based
- add missing (C)
- changes for v3:
- rebased against u-boot-ti commit bb2a5d8f87fffb4fadfb205837decbd1b3e75f88
- rebased against lokeshs v2 patches
- rebased arm, am33xx: add defines for gmii_sel_register bits patch, and therefore added to this patchserie
- add bd_ram_ofs to cpsw_data in board code
needed since commit 2bf36ac638ab2db9f0295aa47064976eeebf80c1
Needed patches:
- [U-Boot] arm, spl: add watchdog library to SPL
http://patchwork.ozlabs.org/patch/248503/
reposted with this patchserie
- [U-Boot] arm, arm335x: add watchdog support
http://patchwork.ozlabs.org/patch/248504/
reposted with this patchserie
- [U-Boot,v2] arm, am33xx: add defines for gmii_sel_register bits
http://patchwork.ozlabs.org/patch/248916/
added in v3 to this patchseries as rebased against u-boot-ti
- patches from Lokesh Vutla:
[U-Boot,V2,1/4] ARM: AM33xx: Cleanup dplls data
http://patchwork.ozlabs.org/patch/263175/
[U-Boot,V2,2/4] ARM: AM33xx: Cleanup clocks layer
http://patchwork.ozlabs.org/patch/263176/
[U-Boot,V2,3/4] ARM: AM33xx: Move s_init to a common place
http://patchwork.ozlabs.org/patch/263177/
[U-Boot,V2,4/4] musb: Disable extra prints
http://patchwork.ozlabs.org/patch/263174/
- [U-Boot,v5] dfu, nand, ubi: add partubi alt settings for updating ubi partition
http://patchwork.ozlabs.org/patch/261583/
- [U-Boot] net, phy, cpsw: fix gigabit register access
http://patchwork.ozlabs.org/patch/261087/
Tested patches with this patch:
- [U-Boot] dfu: Implementation of target reset after communication with dfu-util's -R switch
http://patchwork.ozlabs.org/patch/260041/
- [U-Boot] ARM: OMAP: GPIO: Fix valid range and enable usage of all GPIOs on OMAP5
http://patchwork.ozlabs.org/patch/253185/
Heiko Schocher (4):
arm, am33xx: add defines for gmii_sel_register bits arm, spl: add watchdog library to SPL
arm, am335x: add watchdog support
arm, am335x: add support for 3 siemens boards
MAINTAINERS | 5 + arch/arm/include/asm/arch-am33xx/cpu.h | 41 +++ board/isee/igep0033/board.c | 6 +- board/phytec/pcm051/board.c | 2 - board/siemens/common/board.c | 167 ++++++++++++ board/siemens/common/factoryset.c | 268 +++++++++++++++++++ board/siemens/common/factoryset.h | 21 ++ board/siemens/dxr2/Makefile | 49 ++++ board/siemens/dxr2/board.c | 241 +++++++++++++++++ board/siemens/dxr2/board.h | 69 +++++ board/siemens/dxr2/mux.c | 112 ++++++++ board/siemens/pxm2/Makefile | 49 ++++ board/siemens/pxm2/board.c | 238 +++++++++++++++++ board/siemens/pxm2/board.h | 22 ++ board/siemens/pxm2/mux.c | 140 ++++++++++ board/siemens/pxm2/pmic.h | 71 +++++ board/siemens/rut/Makefile | 49 ++++ board/siemens/rut/board.c | 180 +++++++++++++ board/siemens/rut/board.h | 22 ++ board/siemens/rut/mux.c | 341 ++++++++++++++++++++++++ board/ti/am335x/board.c | 6 +- boards.cfg | 3 + doc/README.SPL | 2 +- drivers/watchdog/Makefile | 1 + drivers/watchdog/omap_wdt.c | 121 +++++++++ include/configs/dxr2.h | 94 +++++++ include/configs/pxm2.h | 134 ++++++++++ include/configs/rut.h | 135 ++++++++++ include/configs/siemens-am33x-common.h | 464 +++++++++++++++++++++++++++++++++ spl/Makefile | 1 + 30 Dateien ge?ndert, 3042 Zeilen hinzugef?gt(+), 12 Zeilen entfernt(-) create mode 100644 board/siemens/common/board.c create mode 100644 board/siemens/common/factoryset.c create mode 100644 board/siemens/common/factoryset.h create mode 100644 board/siemens/dxr2/Makefile create mode 100644 board/siemens/dxr2/board.c create mode 100644 board/siemens/dxr2/board.h create mode 100644 board/siemens/dxr2/mux.c create mode 100644 board/siemens/pxm2/Makefile create mode 100644 board/siemens/pxm2/board.c create mode 100644 board/siemens/pxm2/board.h create mode 100644 board/siemens/pxm2/mux.c create mode 100644 board/siemens/pxm2/pmic.h create mode 100644 board/siemens/rut/Makefile create mode 100644 board/siemens/rut/board.c create mode 100644 board/siemens/rut/board.h create mode 100644 board/siemens/rut/mux.c create mode 100644 drivers/watchdog/omap_wdt.c create mode 100644 include/configs/dxr2.h create mode 100644 include/configs/pxm2.h create mode 100644 include/configs/rut.h create mode 100644 include/configs/siemens-am33x-common.h
Signature · 1 line
1.7.11.7
PATCH v3 1/4 arm, am33xx: add defines for gmii_sel_register bits
---
- changes for v2:
defined all bits used in the gmii_sel register as
Tom Rini suggested
- changes for v3:
rebased against u-boot-ti commit bb2a5d8f87fffb4fadfb205837decbd1b3e75f88
--- arch/arm/include/asm/arch-am33xx/cpu.h | 21 +++++++++++++++++++++ board/isee/igep0033/board.c | 6 ++---- board/phytec/pcm051/board.c | 2 -- board/ti/am335x/board.c | 6 +-----
4 Dateien ge?ndert, 24 Zeilen hinzugef?gt(+), 11 Zeilen entfernt(-)
arch/arm/include/asm/arch-am33xx/cpu.h +21 -0
@@ -336,6 +336,27 @@ struct ctrl_dev {unsigned int resv4[4 ];unsigned int miisel;/* offset 0x50 */ }; + +/* gmii_sel register defines */ +#define GMII1_SEL_MII 0x0 +#define GMII1_SEL_RMII 0x1 +#define GMII1_SEL_RGMII 0x2 +#define GMII1_SEL_NOTUSED 0x3 +#define GMII2_SEL_MII 0x0 +#define GMII2_SEL_RMII 0x4 +#define GMII2_SEL_RGMII 0x8 +#define GMII2_SEL_NOTUSED 0xc +#define RGMII1_IDMODE BIT(4) +#define RGMII2_IDMODE BIT(5) +#define RMII1_IO_CLK_EN BIT(6) +#define RMII2_IO_CLK_EN BIT(7) + +#define MII_MODE_ENABLE (GMII1_SEL_MII | GMII2_SEL_MII) +#define RMII_MODE_ENABLE (GMII1_SEL_RMII | GMII2_SEL_RMII) +#define RGMII_MODE_ENABLE (GMII1_SEL_RGMII | GMII2_SEL_RGMII) +#define RGMII_INT_DELAY (RGMII1_IDMODE | RGMII2_IDMODE) +#define RMII_CHIPCKL_ENABLE (RMII1_IO_CLK_EN | RMII2_IO_CLK_EN) +#endif /* __ASSEMBLY__ */ #endif /* __KERNEL_STRICT_NAMES */
board/isee/igep0033/board.c +2 -4
@@ -27,9 +27,6 @@DECLARE_GLOBAL_DATA_PTR ; -/* MII mode defines */ -#define RMII_MODE_ENABLE 0x4D -static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE ;#ifdef CONFIG_SPL_BUILD
@@ -158,7 +155,8 @@ int board_eth_init(bd_t *bis)eth_setenv_enetaddr ("ethaddr" , mac_addr); } -writel (RMII_MODE_ENABLE , &cdev->miisel); +writel ((GMII1_SEL_RMII |GMII2_SEL_NOTUSED |RMII1_IO_CLK_EN ), + &cdev->miisel); rv =cpsw_register (&cpsw_data);if (rv <0 )
board/phytec/pcm051/board.c +0 -2
@@ -31,8 +31,6 @@DECLARE_GLOBAL_DATA_PTR ;/* MII mode defines */ -#define MII_MODE_ENABLE 0x0 -#define RGMII_MODE_ENABLE 0xA#define RMII_RGMII2_MODE_ENABLE 0x49static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE ;
board/ti/am335x/board.c +1 -5
@@ -30,10 +30,6 @@DECLARE_GLOBAL_DATA_PTR ; -/* MII mode defines */ -#define MII_MODE_ENABLE 0x0 -#define RGMII_MODE_ENABLE 0x3A -/* GPIO that controls power to DDR on EVM-SK */ #define GPIO_DDR_VTT_EN 7
@@ -460,7 +456,7 @@ int board_eth_init(bd_t *bis) cpsw_slaves[0 ].phy_if = cpsw_slaves[1 ].phy_if =PHY_INTERFACE_MODE_MII ; }else { -writel (RGMII_MODE_ENABLE , &cdev->miisel); +writel ((RGMII_MODE_ENABLE |RGMII_INT_DELAY ), &cdev->miisel); cpsw_slaves[0 ].phy_if = cpsw_slaves[1 ].phy_if =PHY_INTERFACE_MODE_RGMII ; }
Signature · 1 line
1.7.11.7
PATCH v3 1/4 arm, am33xx: add defines for gmii_sel_register bits
Quoted 20 lines · Heiko Schocher
Signed-off-by Heiko Schocher <[email protected]>---
- changes for v2:
defined all bits used in thegmii_selregister as
Tom Rini suggested
- changes for v3:
rebased against u-boot-ti commitbb2a5d8f87fffb4fadfb205837decbd1b3e75f88--- arch/arm/include/asm/arch-am33xx/cpu.h | 21 +++++++++++++++++++++ board/isee/igep0033/board.c | 6 ++---- board/phytec/pcm051/board.c | 2 -- board/ti/am335x/board.c | 6 +-----4 Dateien ge?ndert, 24 Zeilen hinzugef?gt(+), 11 Zeilen entfernt(-)
arch/arm/include/asm/arch-am33xx/cpu.h +0
-0
arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 344
Quoted 9 lines
arch/arm/include/asm/arch-am33xx/cpu.h +6
-0@@ -336,6 +336,27 @@ struct ctrl_dev {unsigned int resv4[4 ];unsigned int miisel;/* offset 0x50 */ }; + +/* gmii_sel register defines */ +#define GMII1_SEL_MII 0x0 +#define GMII1_SEL_RMII 0x1 +#define GMII1_SEL_RGMII 0x2 +#define GMII1_SEL_NOTUSED 0x3
NOTUSED not needed as it is not supposed to be used.
arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 348
Quoted 4 lines
arch/arm/include/asm/arch-am33xx/cpu.h +4
-0+#define GMII2_SEL_MII 0x0 +#define GMII2_SEL_RMII 0x4 +#define GMII2_SEL_RGMII 0x8 +#define GMII2_SEL_NOTUSED 0xc
NOTUSED not needed as it is not supposed to be used.
Quoted 75 lines
arch/arm/include/asm/arch-am33xx/cpu.h +11
-0+#define RGMII1_IDMODE BIT(4) +#define RGMII2_IDMODE BIT(5) +#define RMII1_IO_CLK_EN BIT(6) +#define RMII2_IO_CLK_EN BIT(7) + +#define MII_MODE_ENABLE (GMII1_SEL_MII | GMII2_SEL_MII) +#define RMII_MODE_ENABLE (GMII1_SEL_RMII | GMII2_SEL_RMII) +#define RGMII_MODE_ENABLE (GMII1_SEL_RGMII | GMII2_SEL_RGMII) +#define RGMII_INT_DELAY (RGMII1_IDMODE | RGMII2_IDMODE) +#define RMII_CHIPCKL_ENABLE (RMII1_IO_CLK_EN | RMII2_IO_CLK_EN) +#endif /* __ASSEMBLY__ */ #endif /* __KERNEL_STRICT_NAMES */ board/isee/igep0033/board.c +2
-4@@ -27,9 +27,6 @@DECLARE_GLOBAL_DATA_PTR ; -/* MII mode defines */ -#define RMII_MODE_ENABLE 0x4D -static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE ;#ifdef CONFIG_SPL_BUILD @@ -158,7 +155,8 @@ int board_eth_init(bd_t *bis)eth_setenv_enetaddr ("ethaddr" , mac_addr); } -writel (RMII_MODE_ENABLE , &cdev->miisel); +writel ((GMII1_SEL_RMII |GMII2_SEL_NOTUSED |RMII1_IO_CLK_EN ), + &cdev->miisel); rv =cpsw_register (&cpsw_data);if (rv <0 )board/phytec/pcm051/board.c +0
-2@@ -31,8 +31,6 @@DECLARE_GLOBAL_DATA_PTR ;/* MII mode defines */ -#define MII_MODE_ENABLE 0x0 -#define RGMII_MODE_ENABLE 0xA#define RMII_RGMII2_MODE_ENABLE 0x49static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE ;board/ti/am335x/board.c +1
-5@@ -30,10 +30,6 @@DECLARE_GLOBAL_DATA_PTR ; -/* MII mode defines */ -#define MII_MODE_ENABLE 0x0 -#define RGMII_MODE_ENABLE 0x3A -/* GPIO that controls power to DDR on EVM-SK */ #define GPIO_DDR_VTT_EN 7@@ -460,7 +456,7 @@ int board_eth_init(bd_t *bis) cpsw_slaves[0 ].phy_if = cpsw_slaves[1 ].phy_if =PHY_INTERFACE_MODE_MII ; }else { -writel (RGMII_MODE_ENABLE , &cdev->miisel); +writel ((RGMII_MODE_ENABLE |RGMII_INT_DELAY ), &cdev->miisel); cpsw_slaves[0 ].phy_if = cpsw_slaves[1 ].phy_if =PHY_INTERFACE_MODE_RGMII ; }
PATCH v3 1/4 arm, am33xx: add defines for gmii_sel_register bits
Hello Mugunthan,
Am 30.07.2013 10:40, schrieb Mugunthan V N:
Quoted 16 lines · Heiko Schocher
Quoted 15 lines
Signed-off-by Heiko Schocher<[email protected]>---
- changes for v2:
defined all bits used in thegmii_selregister as Tom Rini suggested
- changes for v3:rebased against u-boot-ti commit bb2a5d8f87fffb4fadfb205837decbd1b3e75f88 --- arch/arm/include/asm/arch-am33xx/cpu.h | 21 +++++++++++++++++++++ board/isee/igep0033/board.c | 6 ++---- board/phytec/pcm051/board.c | 2 -- board/ti/am335x/board.c | 6 +-----4 Dateien ge?ndert, 24 Zeilen hinzugef?gt(+), 11 Zeilen entfernt(-)
Quoted 15 lines
Quoted 5 lines
arch/arm/include/asm/arch-am33xx/cpu.h +0
-0arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 344
Quoted 9 lines
arch/arm/include/asm/arch-am33xx/cpu.h +6
-0@@ -336,6 +336,27 @@ struct ctrl_dev {unsigned int resv4[4 ];unsigned int miisel;/* offset 0x50 */ }; + +/* gmii_sel register defines */ +#define GMII1_SEL_MII 0x0 +#define GMII1_SEL_RMII 0x1 +#define GMII1_SEL_RGMII 0x2 +#define GMII1_SEL_NOTUSED 0x3NOTUSED not needed as it is not supposed to be used.
Maybe it is used to check, that is it not set?
But I can remove it ...
Quoted 5 lines
arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 348
Quoted 4 lines
arch/arm/include/asm/arch-am33xx/cpu.h +4
-0+#define GMII2_SEL_MII 0x0 +#define GMII2_SEL_RMII 0x4 +#define GMII2_SEL_RGMII 0x8 +#define GMII2_SEL_NOTUSED 0xcNOTUSED not needed as it is not supposed to be used.
same here ...
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH v3 1/4 arm, am33xx: add defines for gmii_sel_register bits
Quoted 38 lines · Heiko Schocher
Hello Mugunthan,
Am 30.07.2013 10:40, schrieb Mugunthan V N:
Quoted 16 lines · Heiko Schocher
Quoted 15 lines
Signed-off-by Heiko Schocher<[email protected]>---
- changes for v2:
defined all bits used in thegmii_selregister as
Tom Rini suggested
- changes for v3:
rebased against u-boot-ti commitbb2a5d8f87fffb4fadfb205837decbd1b3e75f88--- arch/arm/include/asm/arch-am33xx/cpu.h | 21 +++++++++++++++++++++ board/isee/igep0033/board.c | 6 ++---- board/phytec/pcm051/board.c | 2 -- board/ti/am335x/board.c | 6 +-----4 Dateien ge??ndert, 24 Zeilen hinzugef??gt(+), 11 Zeilen entfernt(-)
Quoted 15 lines
Quoted 5 lines
arch/arm/include/asm/arch-am33xx/cpu.h +0
-0arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 344
Quoted 9 lines
arch/arm/include/asm/arch-am33xx/cpu.h +6
-0@@ -336,6 +336,27 @@ struct ctrl_dev {unsigned int resv4[4 ];unsigned int miisel;/* offset 0x50 */ }; + +/* gmii_sel register defines */ +#define GMII1_SEL_MII 0x0 +#define GMII1_SEL_RMII 0x1 +#define GMII1_SEL_RGMII 0x2 +#define GMII1_SEL_NOTUSED 0x3NOTUSED not needed as it is not supposed to be used.
Maybe it is used to check, that is it not set?
But I can remove it ...
Quoted 7 lines
Quoted 5 lines
arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 348
Quoted 4 lines
arch/arm/include/asm/arch-am33xx/cpu.h +4
-0+#define GMII2_SEL_MII 0x0 +#define GMII2_SEL_RMII 0x4 +#define GMII2_SEL_RGMII 0x8 +#define GMII2_SEL_NOTUSED 0xcNOTUSED not needed as it is not supposed to be used.
same here ...
I think "Not Used" in the TRM here means "this port is not used" rather than "this combination of bits is not to be used", so the changes are correct.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130812/6a6faa3f/attachment.pgp>
PATCH v3 1/4 arm, am33xx: add defines for gmii_sel_register bits
Quoted 10 lines · Tom Rini
Quoted 7 lines
Quoted 7 lines
Quoted 5 lines
+#define
GMII2_SEL_MII0x0Quoted 4 lines
Quoted 3 lines
arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 348
Quoted 3 lines
arch/arm/include/asm/arch-am33xx/cpu.h +3
-0+#define GMII2_SEL_RMII 0x4 +#define GMII2_SEL_RGMII 0x8 +#define GMII2_SEL_NOTUSED 0xcNOTUSED not needed as it is not supposed to be used.
same here ...
I think "Not Used" in the TRM here means "this port is not used" rather than "this combination of bits is not to be used", so the changes are correct.
But having this define is not useful as far as I can think of as there is not abstraction API for this to check what user is passing. But I leave it to Tom's decision to have this change or not.
Other than this the patch looks good to me.
Regards
Mugunthan V N
PATCH v3 1/4 arm, am33xx: add defines for gmii_sel_register bits
Quoted 10 lines · Mugunthan V N
Quoted 9 lines · Tom Rini
Quoted 6 lines
Quoted 6 lines
Quoted 5 lines
+#define
GMII2_SEL_MII0x0Quoted 4 lines
Quoted 3 lines
arch/arm/include/asm/arch-am33xx/cpu.h struct ctrl_dev { · line 348
Quoted 3 lines
arch/arm/include/asm/arch-am33xx/cpu.h +3
-0+#define GMII2_SEL_RMII 0x4 +#define GMII2_SEL_RGMII 0x8 +#define GMII2_SEL_NOTUSED 0xcNOTUSED not needed as it is not supposed to be used.
same here ...
I think "Not Used" in the TRM here means "this port is not used" rather than "this combination of bits is not to be used", so the changes are correct.
Quoted 8 lines
But having this define is not useful as far as I can think of as there is not abstraction API for this to check what user is passing. But I leave it to Tom's decision to have this change or not.
Other than this the patch looks good to me.
Acked-by Mugunthan V N <[email protected]>
I had a discussion with the hardware team internally and the comment is *When these bits are set to 11b the RGMII is selected with internal delay mode which was not timing closed. Therefore this register setting is not supported so it should not be used. The respective pin multiplexing should be used to deselect any unused CPGMAC pins.*c The same will be updated in the TRM soon. So can you remove NOTUSED define and resubmit the patch again and can include my Acked-by in your next version patch.
Regards
Mugunthan V N
PATCH v3 1/4 arm, am33xx: add defines for gmii_sel_register bits
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 20 lines · Mugunthan V N
Quoted 10 lines · Mugunthan V N
Quoted 9 lines · Tom Rini
Quoted 6 lines
Quoted 6 lines
Quoted 5 lines
+#define
GMII2_SEL_MII0x0Quoted 4 lines
Quoted 3 lines
Quoted 3 lines
+#define
GMII2_SEL_RMII0x4+#defineGMII2_SEL_RGMII0x8+#defineGMII2_SEL_NOTUSED0xcNOTUSED not needed as it is not supposed to be used.
same here ...
I think "Not Used" in the TRM here means "this port is not used" rather than "this combination of bits is not to be used", so the changes are correct.
Quoted 9 lines
But having this define is not useful as far as I can think of as there is not abstraction API for this to check what user is passing. But I leave it to Tom's decision to have this change or not.
Other than this the patch looks good to me. Acked-by: Mugunthan V N <[email protected]>
Quoted 8 lines
I had a discussion with the hardware team internally and the comment is *When these bits are set to 11b the RGMII is selected with internal delay mode which was not timing closed. Therefore this register setting is not supported so it should not be used. The respective pin multiplexing should be used to deselect any unused CPGMAC pins.*c The same will be updated in the TRM soon. So can you remove NOTUSED define and resubmit the patch again and can include my Acked-by in your next version patch.
Along with fixing the boards that set these bits to not set them please, thanks!
- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJSC4tmAAoJENk4IS6UOR1Wn98P/ia2XzqBG//s8gxhKSn39QIb K2m3U/X1qiAFlibWhCgje6j7C1wBE0vHEn/ef/XP9+sCKRUZJHjFlaPKH4UO8l4d sMTPrz+n2OHpVPN/pQmc/tpA3D8KWHUo0OzIT3kvnonLyfUPT0qDEZ3qw1++1QmE 1LMqCQzubkrjJogN0TgzXYaKLG7IeGYev/XdaL8xRcpzsTz6DTlBDb62Inzidag2 yFY2Lb+/e0O7ji5iamevOdmniFEcXusQq2w98KavMxyeYG/TkKaMcWHegoayUmOC BJVUAbMQlRMsqzad9+w9x/TTDZ+Hb5jg8mTC61PmurWwOj99AbLgYipkVcIAScft TLO5bNHlDuj5Gk+4kU2R+5JAuPWLlKXTtmffsl6GLFcKHU0OsLGoPUGwVcn9SZax 1b0VG3ojFfk5hNRpQMaK6LUtQI6aPbr67GKP/1osJR0kZF2fTlRe9i/Sc1caJxhm GoHT7S+DbPA7pLFQfetz4V2EsHwe6IQuErhkG45Pia2zTzhjz05PGfKeRBubuuUH rjv6cwfamPfZ/OLzG0Ju61UHCVgVjbjUAkL84GYuAfsSttfxZYDVC37Rdyhx+MYm xSf0czR+q4qJaRWfwndCLNtcTrCP6OLKKSDer9CZkWNWSQnqBuMyUxlsWUrAyGpv daPZyMqV/kg5X47ToECn
=txIN
-----END PGP SIGNATURE-----
PATCH v3 2/4 arm, spl: add watchdog library to SPL
In reply to Heiko Schocher---
- changes for v2:
none
- changes for v3:
rebased against u-boot-ti commit bb2a5d8f87fffb4fadfb205837decbd1b3e75f88
--- doc/README.SPL | 2 +- spl/Makefile | 1 +
2 Dateien ge?ndert, 2 Zeilen hinzugef?gt(+), 1 Zeile entfernt(-)
doc/README.SPL +1 -1
@@ -67,7 +67,7 @@ CONFIG_SPL_POST_MEM_SUPPORT (post/drivers/memory.o) CONFIG_SPL_NAND_LOAD (drivers/mtd/nand/nand_spl_load.o) CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o) CONFIG_SPL_RAM_DEVICE (common/spl/spl.c) - +CONFIG_SPL_WATCHDOG_SUPPORT (drivers/watchdog/libwatchdog.o) Normally CPU is assumed to be the same between the SPL and normal u-boot build. However it is possible to specify a different CPU for
spl/Makefile +1 -0
@@ -82,6 +82,7 @@ LIBS-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/libnet.o LIBS-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/phy/libphy.o LIBS-$(CONFIG_SPL_MUSB_NEW_SUPPORT) += drivers/usb/musb-new/libusb_musb-new.o LIBS-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/usb/gadget/libusb_gadget.o +LIBS-$(CONFIG_SPL_WATCHDOG_SUPPORT) += drivers/watchdog/libwatchdog.o ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TI814X),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o
Signature · 1 line
1.7.11.7
PATCH v3 3/4 arm, am335x: add watchdog support
In reply to Heiko SchocherAdd TI OMAP 16xx & 24xx/34xx 32KHz (non-secure) watchdog support.
---
- changes for v2:
- add Reviedwed-by from Tom Rini
- fixed subject
- add SPDX-License-Identifier
- changes for v3:
- add a more detailed comment, from where this file is based
- fixed SPDX-License-Identifier to GPL-2.0
- changes for v4:
rebased against u-boot-ti commit bb2a5d8f87fffb4fadfb205837decbd1b3e75f88
--- arch/arm/include/asm/arch-am33xx/cpu.h | 20 ++++++ drivers/watchdog/Makefile | 1 + drivers/watchdog/omap_wdt.c | 121 +++++++++++++++++++++++++++++++++ 3 Dateien ge?ndert, 142 Zeilen hinzugef?gt(+) create mode 100644 drivers/watchdog/omap_wdt.c
arch/arm/include/asm/arch-am33xx/cpu.h +20 -0
@@ -53,6 +53,26 @@#define PRM_RSTCTRL_RESET 0x01#define PRM_RSTST_WARM_RESET_MASK 0x232 +/* +* Watchdog: +* Using the prescaler, the OMAP watchdog could go for many +* months before firing. These limits work without scaling, +* with the 60 second default assumed by most tools and docs. +*/ +#define TIMER_MARGIN_MAX (24 * 60 * 60)/* 1 day */ +#define TIMER_MARGIN_DEFAULT 60/* 60 secs */ +#define TIMER_MARGIN_MIN 1 + +#define PTV 0/* prescale */ +#define GET_WLDR_VAL (secs) (0xffffffff - ((secs) * (32768/(1<<PTV))) + 1) +#define WDT_WWPS_PEND_WCLR BIT(0) +#define WDT_WWPS_PEND_WLDR BIT(2) +#define WDT_WWPS_PEND_WTGR BIT(3) +#define WDT_WWPS_PEND_WSPR BIT(4) + +#define WDT_WCLR_PRE BIT(5) +#define WDT_WCLR_PTV_OFF 2 +#ifndef __KERNEL_STRICT_NAMES#ifndef __ASSEMBLY__ struct gpmc_cs {
drivers/watchdog/Makefile +1 -0
@@ -18,6 +18,7 @@ COBJS-$(CONFIG_TNETV107X_WATCHDOG) += tnetv107x_wdt.o COBJS-$(CONFIG_S5P) += s5p_wdt.o COBJS-$(CONFIG_XILINX_TB_WATCHDOG) += xilinx_tb_wdt.o COBJS-$(CONFIG_BFIN_WATCHDOG) += bfin_wdt.o +COBJS-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c)
drivers/watchdog/omap_wdt.c new file +121 -0
121 lines not on this page · raw message
Signature · 1 line
1.7.11.7
PATCH v3 4/4 arm, am335x: add support for 3 siemens boards
In reply to Heiko Schocheradd support for the am335x based boards from siemens:
dxr2:
- DDR3 128MiB
- NAND 256MiB
- Ethernet with external Switch SMSC LAN9303
- no PMIC
- internal Watchdog
- DFU support
pxm2:
- DDR2 512 MiB
- NAND 1024 MiB
- PMIC
- PHY atheros ar803x
- USB Host
- internal Watchdog
- DFU support
rut:
- DDR3 256 MiB
- NAND 256 MiB
- PMIC
- PHY natsemi dp83630
- external Watchdog
- DFU support
---
- changes for v2:
- add a more detailed comment, from where the files are based
- add missing (C)
- changes for v3:
- rebased against u-boot-ti commit bb2a5d8f87fffb4fadfb205837decbd1b3e75f88
- updated with lokeshs v2 patches
- rebased arm, am33xx: add defines for gmii_sel_register bits patch, and therefore added to this patchserie
- add bd_ram_ofs to cpsw_data in board code
needed since commit 2bf36ac638ab2db9f0295aa47064976eeebf80c1
Needed patches:
- [U-Boot] arm, spl: add watchdog library to SPL
http://patchwork.ozlabs.org/patch/248503/
reposted with this patchserie
- [U-Boot] arm, arm335x: add watchdog support
http://patchwork.ozlabs.org/patch/248504/
reposted with this patchserie
- [U-Boot,v2] arm, am33xx: add defines for gmii_sel_register bits
http://patchwork.ozlabs.org/patch/248916/
added in v3 to this patchseries as rebased against u-boot-ti
- patches from Lokesh Vutla:
[U-Boot,V2,1/4] ARM: AM33xx: Cleanup dplls data
http://patchwork.ozlabs.org/patch/263175/
[U-Boot,V2,2/4] ARM: AM33xx: Cleanup clocks layer
http://patchwork.ozlabs.org/patch/263176/
[U-Boot,V2,3/4] ARM: AM33xx: Move s_init to a common place
http://patchwork.ozlabs.org/patch/263177/
[U-Boot,V2,4/4] musb: Disable extra prints
http://patchwork.ozlabs.org/patch/263174/
- [U-Boot,v5] dfu, nand, ubi: add partubi alt settings for updating ubi partition
http://patchwork.ozlabs.org/patch/261583/
- [U-Boot] net, phy, cpsw: fix gigabit register access
http://patchwork.ozlabs.org/patch/261087/
Tested patches with this patch:
- [U-Boot] dfu: Implementation of target reset after communication with dfu-util's -R switch
http://patchwork.ozlabs.org/patch/260041/
- [U-Boot] ARM: OMAP: GPIO: Fix valid range and enable usage of all GPIOs on OMAP5
http://patchwork.ozlabs.org/patch/253185/
MAINTAINERS | 5 + board/siemens/common/board.c | 167 ++++++++++++ board/siemens/common/factoryset.c | 268 +++++++++++++++++++ board/siemens/common/factoryset.h | 21 ++ board/siemens/dxr2/Makefile | 49 ++++ board/siemens/dxr2/board.c | 241 +++++++++++++++++ board/siemens/dxr2/board.h | 69 +++++ board/siemens/dxr2/mux.c | 112 ++++++++ board/siemens/pxm2/Makefile | 49 ++++ board/siemens/pxm2/board.c | 238 +++++++++++++++++ board/siemens/pxm2/board.h | 22 ++ board/siemens/pxm2/mux.c | 140 ++++++++++ board/siemens/pxm2/pmic.h | 71 +++++ board/siemens/rut/Makefile | 49 ++++ board/siemens/rut/board.c | 180 +++++++++++++ board/siemens/rut/board.h | 22 ++ board/siemens/rut/mux.c | 341 ++++++++++++++++++++++++ boards.cfg | 3 + include/configs/dxr2.h | 94 +++++++ include/configs/pxm2.h | 134 ++++++++++ include/configs/rut.h | 135 ++++++++++ include/configs/siemens-am33x-common.h | 464 +++++++++++++++++++++++++++++++++ 22 Dateien ge?ndert, 2874 Zeilen hinzugef?gt(+) create mode 100644 board/siemens/common/board.c create mode 100644 board/siemens/common/factoryset.c create mode 100644 board/siemens/common/factoryset.h create mode 100644 board/siemens/dxr2/Makefile create mode 100644 board/siemens/dxr2/board.c create mode 100644 board/siemens/dxr2/board.h create mode 100644 board/siemens/dxr2/mux.c create mode 100644 board/siemens/pxm2/Makefile create mode 100644 board/siemens/pxm2/board.c create mode 100644 board/siemens/pxm2/board.h create mode 100644 board/siemens/pxm2/mux.c create mode 100644 board/siemens/pxm2/pmic.h create mode 100644 board/siemens/rut/Makefile create mode 100644 board/siemens/rut/board.c create mode 100644 board/siemens/rut/board.h create mode 100644 board/siemens/rut/mux.c create mode 100644 include/configs/dxr2.h create mode 100644 include/configs/pxm2.h create mode 100644 include/configs/rut.h create mode 100644 include/configs/siemens-am33x-common.h
MAINTAINERS +5 -0
@@ -1082,6 +1082,11 @@ Sergey Yanovich <[email protected]> lp8x4x xscale/pxa +Roger Meier <[email protected]> + dxr2 ARM ARMV7 (AM335x SoC) + pxm2 ARM ARMV7 (AM335x SoC) + rut ARM ARMV7 (AM335x SoC) + ------------------------------------------------------------------------- Unknown / orphaned boards:
board/siemens/common/board.c new file +167 -0
167 lines not on this page · raw message
board/siemens/common/factoryset.c new file +268 -0
268 lines not on this page · raw message
board/siemens/common/factoryset.h new file +21 -0
@@ -0,0 +1,21 @@ +/* +* Common board functions for siemens AM335X based boards +* (C) Copyright 2013 Siemens Schweiz AG +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef __FACTORYSET_H +#define __FACTORYSET_H + +struct factorysetcontainer { +uchar mac[6 ]; +int usb_vendor_id; +int usb_product_id; +}; + +int factoryset_read_eeprom (int i2c_addr); +int factoryset_setenv (void ); +extern struct factorysetcontainer factory_dat; + +#endif /* __FACTORYSET_H */
board/siemens/dxr2/Makefile new file +49 -0
49 lines not on this page · raw message
board/siemens/dxr2/board.c new file +241 -0
241 lines not on this page · raw message
board/siemens/dxr2/board.h new file +69 -0
69 lines not on this page · raw message
board/siemens/dxr2/mux.c new file +112 -0
112 lines not on this page · raw message
board/siemens/pxm2/Makefile new file +49 -0
49 lines not on this page · raw message
board/siemens/pxm2/board.c new file +238 -0
238 lines not on this page · raw message
board/siemens/pxm2/board.h new file +22 -0
@@ -0,0 +1,22 @@ +/* +* board.h +* +* (C) Copyright 2013 Siemens Schweiz AG +* (C) Heiko Schocher, DENX Software Engineering, hs at denx.de. +* +* Based on: +* TI AM335x boards information header +* u-boot:/board/ti/am335x/board.h +* +* Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/ +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +void enable_uart0_pin_mux (void ); +void enable_i2c0_pin_mux (void ); +void enable_board_pin_mux (void ); +#endif
board/siemens/pxm2/mux.c new file +140 -0
140 lines not on this page · raw message
board/siemens/pxm2/pmic.h new file +71 -0
71 lines not on this page · raw message
board/siemens/rut/Makefile new file +49 -0
49 lines not on this page · raw message
board/siemens/rut/board.c new file +180 -0
180 lines not on this page · raw message
board/siemens/rut/board.h new file +22 -0
@@ -0,0 +1,22 @@ +/* +* board.h +* +* (C) Copyright 2013 Siemens Schweiz AG +* (C) Heiko Schocher, DENX Software Engineering, hs at denx.de. +* +* Based on: +* TI AM335x boards information header +* u-boot:/board/ti/am335x/board.h +* +* Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/ +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +void enable_uart0_pin_mux (void ); +void enable_i2c0_pin_mux (void ); +void enable_board_pin_mux (void ); +#endif
board/siemens/rut/mux.c new file +341 -0
341 lines not on this page · raw message
boards.cfg +3 -0
@@ -252,6 +252,9 @@ am335x_evm_uart4 arm armv7 am335x ti am335x_evm_uart5 arm armv7 am335x ti am33xx am335x_evm:SERIAL6,CONS_INDEX=1,NAND am335x_evm_usbspl arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT am335x_boneblack arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,EMMC_BOOT +dxr2 arm armv7 dxr2 siemens am33xx +pxm2 arm armv7 pxm2 siemens am33xx +rut arm armv7 rut siemens am33xx ti814x_evm arm armv7 ti814x ti am33xx pcm051 arm armv7 pcm051 phytec am33xx pcm051 sama5d3xek_mmc arm armv7 sama5d3xek atmel at91 sama5d3xek:SAMA5D3,SYS_USE_MMC
include/configs/dxr2.h new file +94 -0
94 lines not on this page · raw message
include/configs/pxm2.h new file +134 -0
134 lines not on this page · raw message
include/configs/rut.h new file +135 -0
135 lines not on this page · raw message
include/configs/siemens-am33x-common.h new file +464 -0
464 lines not on this page · raw message
Signature · 1 line
1.7.11.7