Looks reasonable to me.
On Mon, Jun 20, 2016 at 3:52 PM, <p...@cmp.felk.cvut.cz> wrote: > From: Pavel Pisa <p...@cmp.felk.cvut.cz> > > These enhancements are laying already for long term in TMS570 > development branch for RTEMS 4.11 and they should be > available for mainline as well. > > https://github.com/AoLaD/rtems/tree/tms570-bsp-with-hwinit > > The main purpose of these changes is attempt to archive small but > required step in direction to provide BSP with complete initialization > included. > > If the review is positive I push changes to mainline. > > Pinmux definition allows easy setup of individual pin function at runtime > > tms570_bsp_pin_set_function(TMS570_BALL_V5_MDCLK, TMS570_PIN_FNC_AUTO); > > and even mechanism to setup all registers by single call > > #define TMS570_PINMMR_INIT_LIST(per_pin_action, common_arg) \ > per_pin_action(common_arg, TMS570_BALL_W10_GIOB_3) \ > per_pin_action(common_arg, TMS570_BALL_A5_GIOA_0) \ > ... > > const uint32_t tms570_pinmmr_init_data[] = { > TMS570_PINMMR_REG_VAL(0, TMS570_PINMMR_INIT_LIST), > TMS570_PINMMR_REG_VAL(1, TMS570_PINMMR_INIT_LIST), > TMS570_PINMMR_REG_VAL(2, TMS570_PINMMR_INIT_LIST), > TMS570_PINMMR_REG_VAL(3, TMS570_PINMMR_INIT_LIST), > ... > TMS570_PINMMR_REG_VAL(30, TMS570_PINMMR_INIT_LIST), > }; > > void > tms570_pinmux_init(void) > { > tms570_bsp_pinmmr_config(tms570_pinmmr_init_data, 0, > RTEMS_ARRAY_SIZE(tms570_pinmmr_init_data)); > } > > Serial hardware initialization appropriate for startup > from unconfigured state is includes as well. > > Complete initialization code is much more complex pending task. > If there is interrest I would prepare BSP configuration option > to build with complete HalCoGen files as well and call appropriate > functions during startup. > > Code has been tested over OpenOCD to run from SDRAM when > board is preconfigured by > > > https://github.com/hornmich/tms570ls3137-hdk-sdram/tree/master/SDRAM_SCI_configuration > > and to work with lwIP TMS570 port included in > > https://sourceforge.net/p/ulan/lwip-omk/ > > RTEMS ticker, OMK lwIP test and dlopen test with ELF load > run successfully on BSP. TMS570LS3137 in revission D > is required to run successfully from SDRAM due to more > critical errata. Run from internal RAM or Flash should > not be affected by these erratas so much. > > Pavel Pisa (4): > bsp/tms570: include package balls and PINMMR registers mapping for > TMS570LS3135ZWT chip. > bsp/tms570: update pinmux to provide support for initialization lists > and clear of alt outputs. > bsp/tms570: include complete peripheral initialization to SCI driver. > bsp/tms570: regenerate preinstall makefile by bootstrap -p. > > c/src/lib/libbsp/arm/tms570/Makefile.am | 3 + > c/src/lib/libbsp/arm/tms570/console/tms570-sci.c | 38 +- > .../lib/libbsp/arm/tms570/include/tms570-pinmux.h | 136 ++-- > c/src/lib/libbsp/arm/tms570/include/tms570-pins.h | 10 + > c/src/lib/libbsp/arm/tms570/include/tms570.h | 3 + > .../arm/tms570/include/tms570ls3137zwt-pins.h | 690 > +++++++++++++++++++++ > c/src/lib/libbsp/arm/tms570/pinmux/pinmux.c | 123 +++- > c/src/lib/libbsp/arm/tms570/preinstall.am | 8 + > 8 files changed, 940 insertions(+), 71 deletions(-) > create mode 100644 c/src/lib/libbsp/arm/tms570/include/tms570-pins.h > create mode 100644 c/src/lib/libbsp/arm/tms570/include/tms570ls3137zwt-pins.h > > -- > 1.9.1 > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel