- Apr 04, 2013
-
-
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>
-
Alessandro Rubini authored
Clearing the screen is in general bad practice: it hides information for no advantage (ok, I can accept if for the "gui" interface). In this case it removes from the user the build date. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
I personally dislike "common" variables, as they hid bugs a few times for me. Thus, ppsi has "-fno-common" by now. This commit adds extern to memlayout.h and creates the variables in dev/sdb.c . This builds whether or not -fno-common is there and has no effect on a ptp-noposix build. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 19, 2013
-
-
Tomasz Wlostowski authored
-
- Mar 18, 2013
-
-
the pp_printf_defconfig was the trial version for pp_pritnf as an alternative to mprintf, so it is not needed any more. All other defconfig were working already, but I'd better regenerate them with the current defaults. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
mprintf is of uncertain copyright status, and that's why we added pp_printf (actually, that's why I picked pp_printf fro ptp-proposal and made it a standalone thing). Now that everyone involved confirms pp_printf is well tested, let's remove mprintf. We still accept mprintf in the callers, because the name is used by our ptp-noposix submodule, and I'm sure people has it in their fingers and it will appear again. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
The ppsi submodule (which is being cleaned up) now has a separate structure for whiterabbit-specific data associated to the port. This commit includes such change and adapts its own structures accordingly. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
The ppsi subproject now builds pp_printf by default, so the Makefile here passes ~CONFIG_NO_PRINTF=y". Also, assign_TimeInternal() is not there any more because it is just an assignment. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Grzegorz Daniluk authored
-
Grzegorz Daniluk authored
-
- Mar 12, 2013
-
-
Grzegorz Daniluk authored
-
- Mar 07, 2013
-
-
Wesley W. Terpstra authored
The minic driver reads the TX timestamp from the device after sending. Unfortunately, it only waited for the data to be enqueued to be sent. Sometimes this lead to a race condition where the old TX stamp was read. As a result, the PTP calculation goes wrong by as much as an entire second. When in track_phase, this manifests as a bad phase offset sent to softpll. The softpll takes years to reach that phase offset, so it is always busy. Thus the clock drifts further and further away, never correcting.
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
- Mar 06, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
-
- Mar 05, 2013
-
-
Wesley W. Terpstra authored
-
- Feb 20, 2013
-
-
Signed-off-by:
Aurelio Colosimo <aurelio@aureliocolosimo.it>
-
Signed-off-by:
Aurelio Colosimo <aurelio@aureliocolosimo.it>
-
Signed-off-by:
Aurelio Colosimo <aurelio@aureliocolosimo.it>
-
-