- May 08, 2013
-
-
Alessandro Rubini authored
This commit updates ppsi with the latest development, but does not build if CONFIG_PPSI is selected. This whole branch is devoted to a smooth merge of ppsi changes, so every wrpc-sw modification that depends on ppsi is commited and explained separately. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commits affect several files, to be able to support both uart and uart_sw at the same time. My aim is sending verbose ppsi diagnostics to the uart_sw while retaining the real uart (or vuart) for the interactive user and wrpc status gui. To this aim, I use weak functions to avoid hairy ifdef around the code. Now both hw and sw uarts are initialized, and the missing init just does nothing. Also, uart_sw_write_string is always defined, and it is an alias of uart_write_string if no uart_sw is built. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 06, 2013
-
-
Alessandro Rubini authored
Sometimes a printf happens in the code, and it eventually prevents the wrc to link because it pick up the whole of libc. While ptp-noposix already has a definition of printf to mprintf, we don't have the same for ppsi, so let's add it. Currently, rxts_calibrator.c includes calls to printf, and didn't build with CONFIG_PPSI until this commit. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This introduced an "advanced" menu, only for developers, and most questions are grouped in there, because we cannot support users playing with experimental features or work in progress (like the new onewire code, or the new ptp daemon) until they are the officially supported option. The commit also removes changes in stack size, because the new calibration code by tom is not stack-hungry like the previous one: wrnic_defconfig is now the same as spec_defconfig and ppsi doesn't select a bigger stack any more. Finally, ppsi_defconfig replaces spec_ppsi_defconfig, since we only support the "spec" hardware configuration (other implementations we know of are still very much spec-alike). Unfortunately, this spits two warnings: Kconfig:25:warning: defaults for choice values not supported Kconfig:29:warning: defaults for choice values not supported even if such defaults actually works. The next commit removes them. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 03, 2013
-
-
Split a rule into two rules, to make make happy. In previous versions of make it was acceptable to list one or more explicit targets followed by one or more pattern targets in the same rule and it worked "as expected". However, this was not documented as acceptable and if you listed any explicit targets AFTER the pattern targets, the entire rule would be mis-parsed. This release removes this ability completely: make will generate an error message if you mix explicit and pattern targets in the same rule. You must split these rules into two rules: one for the pattern and one for the explicit targets. The Linux kernel source has already been modified in this way (in newer kernels).
-
- Apr 26, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
This also adds three shell commands, for testing: w1w PAGE TEXT w1r PAGE w1test The w1test command writes to 80 pages and reads them back (warning: it erases the whole device).
-
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
-
-
Grzegorz Daniluk authored
-
- Apr 24, 2013
-
-
Grzegorz Daniluk authored
call t24p calibration every time PTP is set to Slave mode, or read the value from EEPROM when Master mode
-
- Apr 23, 2013
-
-
Grzegorz Daniluk authored
Conflicts: dev/dev.mk
-
- Apr 09, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Apr 04, 2013
-
-
Grzegorz Daniluk authored
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Apr 03, 2013
-
-
Alessandro Rubini authored
This adds the build choice about whether to use the older sockitowm or the new "w1" implementation, which supports all three thermometers but is still missing eeprom support (the API is defined, though, see include/w1.h This also adds a shell command, called "w1", which rescans the bus and tries to read the temperature from all devices. In the example below the third device is an eeprom, so it return an error for temperature read-out. wrc# w1 W1: 68000801dce56910 W1: f70000001eda8242 W1: 5f00000040e50143 device 0: 68000801dce56910 temp: 34.7500 device 1: f70000001eda8242 temp: 32.5000 device 2: 5f00000040e50143 temp: -32768.0000 The code is properly integrated in wrpc-sw, and the "first" thermometer is used to build the MAC address of the device, like it used to be with sockitowm. The binary built with w1 is 3kB smaller than what is build with sockitowm. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This adds the files for an alternative to sockitowm. I called it "w1" like in the Linux kernel, because "onewire" was already in use as file name in this project. The bus scanning code was a fun project of mine a few years ago, the rest is what I did for my own crappy operating system in the last few days. This commit adds the files as modified to build in wrpc-sw, since I have no "official" Bathos files yet to diff against. This commit doesn't change the build, only adds the file, so actual changes to existing code is all part of the next (smaller) commit. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is the host part of the software-only uart. The lm32 part is selected at compile time (CONFIG_UART_SW). The tool, when run, opens one or more pty pairs, and reports to stdout which is the name of the slave descriptor. You can then run "minicom -p /dev/pts/XXX" or other commands, to access the software uart. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This introduces dev/uart-sw as an alternative to dev/uart . The software-only thing is a pair of circular buffers that can be driven by tools/wrpc-uart-sw . The software uart can be enabled by Kconfig (and is disabled by default). The code size is the same as the uart, but it "wastes" 306 bytes of data space. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This adds "sleep" that is used to verify the usleep function. It is not build by default nor by a Kconfig option, because it is not expected to be generally useful. To build, add "CONFIG_CMD_SLEEP=y" to the command line of make. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This adds a real usleep implementation. The init function calculates the "loops per jiffy" variable, by watching the timer ticks before interrupts are enabled by spll_init(). This init takes 40ms. Then, the udelay runs the same loop used in calculating lpj, and is thus correct (it will be slower because we have interrupts running at run time, but this is not a problem). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is a copy of ptp-noposix/libposix/freestanding-wrapper.c, moved into this project because it actually is only used here. The Makefile now builds this one. This move is needed in order to remove this faulty usleep and provide a better one, while keeping the other fake functions called by ptp-noposix code. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 29, 2013
-
-
Alessandro Rubini authored
1- wrc.h now includes syscon.h. This is a prerequisite to a non-inline implementation of usleep (the current inline one is just a random loop, 10x wrong on the spec). Without this we should modify sockitowm where it calls usleep, but I'd better not touch sockitowm. 2- syscon.h includes <sys/types.h>. This is needed to have useconds_t. I'd better have usleep take unsigned long, but some file already includes sys/types.h, so our prototype must match that one. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 28, 2013
-
-
Alessandro Rubini authored
This command can return the .config file to the user. It can be useful to trace what is actually running, as addition to the "ver" command. It is optional because it costs .5kB of binary size. Example: wrc# config Current WRPC-SW configuration: CONFIG_RAMSIZE=90112 # CONFIG_PTP_NOPOSIX is not set CONFIG_PPSI=y # CONFIG_CHECK_RESET is not set CONFIG_PPSI_VERBOSITY=0 CONFIG_PPSI_RUNTIME_VERBOSITY=y CONFIG_STACKSIZE=2048 CONFIG_PP_PRINTF=y # CONFIG_PRINTF_FULL is not set CONFIG_PRINTF_XINT=y # CONFIG_PRINTF_MINI is not set # CONFIG_PRINTF_NONE is not set CONFIG_PRINT_BUFSIZE=128 CONFIG_ETHERBONE=y # CONFIG_DETERMINISTIC_BINARY is not set CONFIG_CMD_CONFIG=y (This configuration amounts to a binary size of 86252 bytes, at this commit). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The help command currently only lists available commands. It was asked by some developers some time ago, and this implementation only costs 150 bytes in the final exectuable. I don't think it's worth a Kconfig option. This is it in action with my configuration: wrc# help Available commands: ver pll sfp stat ptp mode calibration time gui sdb mac init ptrack ip verbose help Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The environment was drafted but not actually used, so this commit removes it. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Grzegorz Daniluk <grzegorz.daniluk@cern.ch> Acked-by:
Tomasz Wlostowski <tomasz.wlostowski@cern.ch>
-
Alessandro Rubini authored
This commit creates a .cmd section, so there is no global list of commands in shell.c any more, and no ifdef in the code for conditional commands. Also, (unrelated) makes shell errors slightly more friendly. The technique is widely used, in the Linux kernel and all boot loaders, as well as a lot of my own personal code, so this is safe (and tested). As a side effect, this allows (in later commits) to move the "verbose" ppsi-specific command back to ppsi/arch-wrpc/ where it really belongs. It allows new commands to be easily added by just adding their respective file to the build. Even though this increases code size by around 50 lines, it makes it more modular and only costs 8 bytes in the final executable (in my configuration: 128 bytes less of text and 136 bytes more of data). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit makes no effect, but it prepares for the following one. In general, using an intermediate platform-agnostic linker script when making wrc.o is not bad, so let's do it here. The main reason why we need it is to force the "KEEP" command for the ".cmd" ELF section, introduced by the next commit. The alternative to this would be chaning the main linker script, which is worse in my opinion. If we add initcalls or similar stuff later, this bigobj.lds is the place to do it. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 26, 2013
-
-
Alessandro Rubini authored
The parameter used to be off by default in order to save space in the generated binay. Now ppsi is smaller and there's no reason to prevent diagnostic code to be there. This parameter, though, will disappear over time, as we have a new diagnostic system, more modular (which still offers a compile-time option to remove all diagnostic code). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The new configuation option CONFIG_CHECK_RESET adds a function to dump the stack (to the serial port) if a reset is detected. This happens when a null pointer is followed or when the program is reloaded (spec-sw/tools/spec-cl, for example). For this reason, the feature is disabled by default (actually, spec-cl may clear the RAM first, but it currently doesn't do that and the check is triggered). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-