Commit Graph

35089 Commits

Author SHA1 Message Date
Gregory Nutt
f751aff7fe boards/boardctl.c and libs/libc/builtin: The BINFS file system uses the same builtin library and builtin arrays as does NSH. The builtin arrays are simple name-value pairs that map builtin function names with the user-space entry point. In the FLAT build, the builtin arrays are available everywhere via the backdoor left open by the FLAT address space. In the PROTECTED build, however, the kernel must maintain its own reference to the user-space builtin array. This commits adds those kernel globals and a new boardctl(BOARDIOC_BUILTINS) that can be used by applications to the provide the builtin list reference to the kernel. 2019-08-25 16:58:43 -06:00
Michael Jung
decd07725f arch/arm/src/stm32/stm32_spi.c: TI Synchronous Serial Frame Format. The SPI macros on STM32 MCUs do support the Texas Instruments Synchronous Serial Frame Format protocol (TI protocol). Defined a new SPIDEV_MODETI and add support for it in stm32_spi.c. 2019-08-25 09:07:09 -06:00
Michael Jung
b395cde043 arch/arm/src/stm32: PLLI2S support for F427/F437. Enable support of the I2S Phase Locked Loop on STM32F427 and STM32F437 MCUs. 2019-08-25 09:01:35 -06:00
Michael Jung
4227d2aaa5 binfmt/: Fix FLAT build with BUILTIN support. Fixes problems introduced in a recent commit. 2019-08-25 08:58:30 -06:00
Gregory Nutt
cb340cbfdb Correct more uses of C11 features in common code. 2019-08-24 17:59:26 -06:00
Gregory Nutt
b41093b020 fs/procfs/fs_procfsiobinfo.c: Correct use of C11 features in common code. 2019-08-24 17:51:05 -06:00
Gregory Nutt
13fd8e27b6 Update TODO list 2019-08-24 16:42:00 -06:00
Gregory Nutt
fb50a65756 boards/: Move more drivers directories at were placed too high in the hieararchy. 2019-08-24 14:42:14 -06:00
Ouss4
c8b1dcc5ab boards/mips/pic32mx&z/drivers/Kconfig: The drivers folder was one level above where it should be. 2019-08-24 14:28:44 -06:00
Gregory Nutt
27e4bfffd4 Update some comments and README files. 2019-08-24 13:06:43 -06:00
Gregory Nutt
e4c333820a tools/refresh.sh: Fix some remaining breakage from the boards/ directory reorganization; boards/arm/s32k1xx: Add CONFIG_NSH_ARCHINIT=y to all NSH configurations. 2019-08-24 08:43:46 -06:00
David Sidrane
e2d76e21d5 Merged in david_s5/nuttx/master_h7_typo (pull request #1023)
stm32h7:Memory Map DBGMCU is @ 0x5c001000

Fixtypo

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-24 11:27:23 +00:00
David Sidrane
c7dab20318 Merged in david_s5/nuttx/master_h7 (pull request #1022)
stm32h7:Memory Map DBGMCU is @ 0x5c001000

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-23 22:00:43 +00:00
Nathan Hartman
f7e3a82ecd tools/Makefile.unix: tools/Makefile.unix. 2019-08-23 13:23:31 -06:00
Gregory Nutt
3c30cf1f05 Squashed commit of the following:
task_spawn() and posix_spawn() are NuttX OS interfaces.  In PROTECTED and KERNEL build modes, then can be reached from applications only via a system call.  Currently, the number of parameters in a system call is limited to six; these spawn function have seven parameters.  Rather than extend the maximum number of parameters across all architectures, I opted instead to marshal the seven parameters into a structure.
     *

In order to support builtin in function in protected mode, a task_spawn() system call must be supported.  Unfortunately this is overly complex because there is a (soft) limit of 6 parameters in a system call; task_spawn has seven paramters.  This is a soft limit but still difficult to extend because it involves assembly language changes to numerous architectures.  Better to get more creative.
2019-08-23 13:20:52 -06:00
Gregory Nutt
bff30ff9bc Fix minor typo / copy-paste. 'cancellaction point'->'cancellation point' 2019-08-23 11:57:35 -06:00
Gregory Nutt
a2d8e108a6 libs/libc/Kconfig: Correct a typo in Kconfig file. 2019-08-23 11:07:09 -06:00
Gregory Nutt
dd97fb991b This commit moves shared builtin information out of binfmt/libbuiltin and into libs/libc/builtin where it can be shared. This should permit builtin application in the PROTECTED build where binfmt/libbuiltin is not available in user space.
Squashed commit of the following:

    Correct some additional compile-related issues.

    Move  include/nuttx/binfmt/builtin.h to include/nuttx/lib/builtin.h.  Move apps/builtin/lib_builtin_forindex.c to libs/libc/builtin/lib_builtin_forindex.c.

    Move binfmt/libbuiltin to libs/libc/builtin.  There are calls made directly from apps/nshlib into this logic and hence, must be part of a library that can be shared between the OS and applications.
2019-08-23 09:07:40 -06:00
Gregory Nutt
b3d609959c arch/arm/src/s32k1xx/hardware/s32k1xx_flexcan.h: Add an incomplete FlexCAN register definition header file. Still missing some bitfield definition. Also updates some README files. 2019-08-23 07:35:49 -06:00
Alin Jerpelea
6ecee7e403 Merged in alinjerpelea/nuttx (pull request #1021)
boards: cxd56xx: add SCU sensors (2/2)

* boards: cxd56xx: add cxd56_bh1721fvc initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_bh1745nuc initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_bm1383glv initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_bm1422gmv initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_bmi160 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_bmp280 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_kx022 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_lt1pa01 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_rpr0521rs initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_sensors initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* arch: arm: cxd56: add Backup Log driver

    The driver will be used to backup logs on crash.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: arm: cxd56xx: common: add crashlog driver

    Add Crashlog driver with support for reset on crash

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: arm: cxd56xx: move gs2200m initialization

    Move the board gs2200m initalization to the common board folder

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: arm: cxd56xx: move ili9340 initialization

    Move the board ili9340 initalization to the common board folder

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: arm: cxd56xx: move lpm013m091a initialization

    Move the board lpm013m091a initalization to the common board folder

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: arm: cxd56xx: common: typo fixes

    HEADER: Updates on file location
    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-23 13:28:35 +00:00
Gregory Nutt
3613ae33a7 boards/arm/s32k1xx/s32k118evb, s32k146evb, and s32148evb: Correct the 'sense' of the LED discrete output. A high level illuminates the LED. 2019-08-22 12:12:22 -06:00
Gregory Nutt
686ef9b317 arch/arm/src/s32k1xx: Clocking logic was including the wrong 'clock name' files for the S32K11x family. 2019-08-22 10:57:28 -06:00
Gregory Nutt
50e56f1d50 arch/arm/src/s32k1xx/Kconfig: Remove a duplicate configuration setting. Noted by Fabio Balzano. 2019-08-22 10:22:40 -06:00
Gregory Nutt
37960ff780 All S32K1xx flash.ld configurations: Do not write into FLASH configuration field.
Extend s32k146 and s23k148 NSH configurations so that they support more features.
2019-08-22 08:26:27 -06:00
Alin Jerpelea
d6366c1e82 Merged in alinjerpelea/nuttx (pull request #1019)
Add the sensor initialization for cxd56xx boards in the common board folder

* boards: cxd56xx: apds9930: typo fix

    fix apds9930 typos

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_ak09912 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: move cxd56_bmi160 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_apds9930 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* boards: cxd56xx: add cxd56_apds9960 initialization

    We are adding the sensor initialization for cxd56xx boards in the
    common board folder.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-22 13:55:35 +00:00
Alin Jerpelea
a91d86523c Merged in alinjerpelea/nuttx (pull request #1018)
boards: cxd56xx: add SCU sensors

* drivers: platform: add Avago APDS9930 Proximity and Ambient light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BH1721FVC Ambient Light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BH1745NUC Color Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BM1383GLV/BM1383AGLV Pressure Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BM1422GMV/BM1422AGMV Magnetic Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Bosch BMI160 Sensor support

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Bosch BMP280 Barometic Pressure Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Kionix KX022/KX122 Acceleration Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Murata LT1PA01 Proximity and Ambient light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm RPR0521RS Proximity and Ambient light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: sensors: bmi160: add optional I2C address

    Add a menu option for the case when the SDO pin is pulled to VDDIO

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-22 12:49:05 +00:00
David Sidrane
6d42574619 Merged in david_s5/nuttx/master_fix_relitive_build (pull request #1017)
Fixed CONFIG_ARCH_BOARD_CUSTOM based builds

Essentially reverts Added a missing '=' in the second grep statement

	it was not missing it was deliberately not  in the second grep

	Adding a '=' in the second grep statement caused the "children"
	of CONFIG_ARCH_BOARD_CUSTOM;

	namely:
		CONFIG_ARCH_BOARD_CUSTOM_DIR
		CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH
		CONFIG_ARCH_BOARD_CUSTOM_NAME

	to be lost on a savedefconfig
	To see the issue run make oldconfig; make savedefconfig; make oldconfig

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-22 12:01:26 +00:00
Gregory Nutt
04dda09ed1 arch/arm/src/s32k1xx/Kconfig: Add Ethernet configuration options that were supposed to have been included in a previous commit. 2019-08-21 17:43:36 -06:00
Nathan Hartman
92bf3bfece arch/arm/src/tiva/hardware/tm4c: Fix wrong description on define TIVA_1WIRE_BASE: Was "EEPROM and Key Locker" (same as the item above). Now "1-Wire Master Module." Make DMACTL symbols visible for TM4C123: Remove "#ifdef CONFIG_ARCH_CHIP_TM4C129" guard around UART DMA Control (DMACTL) symbols. These bits are valid on TM4C123 devices, as well as on TM4C129. Also, improve the comment on UART_DMACTL_DMAERR. 2019-08-21 17:41:24 -06:00
Gregory Nutt
962ccb0f68 arch/arm/src/s32k1xx: This is a rough port of the i.MXRT Ethernet driver to the S32K1xx. The i.MXRT uses the same IP. Completely untested at this point. 2019-08-21 17:33:54 -06:00
Gregory Nutt
7ad9dfb610 drivers/mtd/mx25lx.c: Minor changes to conform to coding standard detected by tools/nxstyle. 2019-08-21 16:16:39 -06:00
jjlange
7b6cff6f84 Merged in jjlange/nuttx/mx25l_4B (pull request #1016)
Add support for 4-byte addressing on >128Mb Macronix flash parts

* Save CONFIG_ARCH_BOARD_CUSTOM when running 'make savedefconfig'

* Only use PCLKSEL0 for ADC on LPC176x family.

* Made grep search expression more specific.

* Added missing '=' to second grep

* Revert "Only use PCLKSEL0 for ADC on LPC176x family."

    This reverts commit 835b5e9d6fcbea02cb0203c063b0e121fa57ba9e.

* Revert "Added missing '=' to second grep"

    This reverts commit 38b51f0c6d9612de755c102a53846ca7488cdf14.

* Added a missing '=' in the second grep statement

* Added support for 4-byte addressing on >128Mb Macronix flash parts

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-21 22:09:45 +00:00
Gregory Nutt
6ddd4752b0 Eliminate new warnings found in build testing. 2019-08-21 13:45:31 -06:00
Alin Jerpelea
3ed844640d Merged in alinjerpelea/nuttx (pull request #1015)
tools: unix: add support for common board folder

* tools: unix: add support for common board folder

    this patch adds support for a common board folder and simplifies the code
    and maintenance on boards that share the same code

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* cxd56xx: migration to a common folder

    This is the first platform to be migrated to the new common folder
    structure.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-21 17:25:16 +00:00
Gregory Nutt
cc945b00e0 drivers/mmcsd/mmcsd_sdio.c: Correct a misplaced #endif. 2019-08-21 11:22:59 -06:00
Gregory Nutt
b4ee19f5bd arch/arm/src/s32k1xx: This commit brings in the LPSPI and LPI2C peripheral drivers from the i.MXRT which used the identical IP.
Squashed commit of the following:

    arch/arm/src/s32k1xx:  Update peripheral input clocking for the way that things are done for the S32K1XX.  Fix other misc. compilation/configuration issues.

    arch/arm/src/s32k1xx:  Clean up LPSPI and LPI2C naming for S32K1XX.  Using S32K1XX clock functions to get peripheral input clock.

    arch/arm/src/s32k1xx:  Clone i.MXRT LPSPI and LPI2C support.  i.MXRT uses the same IP as S32K1XX.
2019-08-21 11:18:40 -06:00
Nathan Hartman
be5a40c656 Fix typos in comments. 2019-08-21 09:32:59 -06:00
Ivan Ucherdzhiev
f2c6a3f108 drivers/mmcsd/mmcsd_sdio.c: Copy/paste error fix for MMC. 2019-08-21 09:26:54 -06:00
Ivan Ucherdzhiev
19c070e0d1 drivers/mmcsd: Added support for MMC(eMMC) bigger than 2 GB (Tested with IMXRT1050EVKB and samsung eMMC 16GB). arch/arm/src/imxrt: IMXRT uSDHC driver cmd line reset logic modified. 2019-08-21 09:23:29 -06:00
Gregory Nutt
fe6f9b1f24 drivers/eeprom/i2c_xx24xx.c: Cosmetic changes for issues detected by tools/nxstyle and review of PR. 2019-08-21 07:48:28 -06:00
David Alessio
885bf254e9 Merged in david_alessio/nuttx/feature/devc-at24cs-uuid (pull request #1013)
register a character driver for UUID of AT24CSxx chips

Allows the UUID to read as a file or displayed from an nsh prompt
with:  hexdump /dev/eeprom.uuid

Approved-by: Alan Carvalho de Assis <acassis@gmail.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-21 13:41:16 +00:00
Alin Jerpelea
c6355f58d6 Merged in alinjerpelea/nuttx (pull request #1014)
boards: add stub drivers folder for later use

* boards: add stub drivers folder for later use

    The board/drivers folder is added for future use.

    In this folder we should place drives that are platform specific and
    depend on HW that is present only on a specific platform.

    NOTE: All shared drivers should go to the regular driver folder
    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* tools: shift BOARD_DIR one level up

    In preparation for drivers and common folders we are moving the
    BOARD_DIR path up one level.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* tools: add drivers/platform symlink

    Link the boards/<arch>/<chip>/drivers dir to drivers/platform

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: add platform specifc drivers extension

    There are platforms that use specific drivers and we should be able to
    include those drivers in the build

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* board: cxd56xx: drivers: add AK09912 driver for SCU

    This is a platform specific driver connected on the SCU unit.

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-21 13:39:29 +00:00
Gregory Nutt
507e01cb8e This commit adds support for the NXP S32K148EVB
Squashed commit of the following:

    boards/arm/s32k1xx/s32k148evb:  Correct linker scripts for the S32K148, Update README files, Hook eht S32K148EVB into the configuration and build system.

    arm/s32k1xx/s32k148evb:  Verify core and peripheral clocking.  It is the same as the S32K146EVB.  Fixed one-too-many copy-paste error in both.

    boards/arm/s32k1xx/s32k148evb:  Correct LED and button pin number for the S32K148EVB.

    boards/arm/s32k1xx/s32k148evb:  Change all occurrences of 146 to 148.

    boards/arm/s32k1xx/s32k148evb:  Initial S32K148EVB.  Initial commit is just  clone of S32K146EVB with file name changes
2019-08-20 17:02:29 -06:00
Gregory Nutt
5655a9d362 Update README files. 2019-08-20 14:39:46 -06:00
Gregory Nutt
c6026d7500 With these changes the S32K146EVB minimal NSH is function. Only verifed while running from SRAM.
arch/arm/src/s32k1xx/s32k1xx_lowputc.c:  Fix a typo that prevented LPUART1 from working.
    arch/arm/src/s32k1xx/s32k1xx_periphclocks.c and related files:  Fix yet another case of confusion between pre-decremented and non-decremented divider values.  Enforce the rule that dividers are not decremented until the moment they are written into registers.
    arch/arm/src/s32k1xx/s32k1xx_clockconfig.c:  Fix another problem related to whether a divider is pre-decremented or not.  The answer must be the divder values are never pre-decremented.  They are decremented just before being written to hardware.
    arch/arm/src/s32k1xx/s32k1xx_clockconfig.c:  Clean up some bad conditional logic.  Precedence of operators problem.
    boards/arm/s32k1xx/s32k118evb:  Add support for execution out of SRAM.  This is helpful for bringup when you want to avoid putting a lethal image in FLASH.
    arch/arm/src/s32k1xx/s32k1xx_clockconfig.h:  Remove crystal frequency, it is not used.
    arch/arm/src/s32k1xx/s32k1xx_wdog.h:  Fix a typo in a register name.i
    boards/arm/s32k1xx/s32k*evb/configs/nsh/defconfig:  Create Motorola SREC output format.
2019-08-20 14:35:36 -06:00
David Sidrane
64fb11c1b8 Merged in david_s5/nuttx/master_h7 (pull request #1012)
Master h7

* stm32h7:spi allow more clock sources

* stm32h7 has ARCH_HAVE_I2CRESET

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-20 14:41:13 +00:00
David Sidrane
0f6db4e1db Merged in david_s5/nuttx/master_h7 (pull request #1011)
Master h7

* stm32h7: DMA Fix compiler warning

* stm32h7: DMA Fix coding style

* stm32h7:serial fix undefined with TERMIOS

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-20 11:49:38 +00:00
Gregory Nutt
faf8bdcbf8 Eliminate some new warnings found in build testing 2019-08-19 17:50:04 -06:00
Anthony Merlino
c184d8fca3 Merged in antmerlino/nuttx/xbee-iobuser-fix (pull request #1010)
xbee: Fixes one instance of the use of IOBUSER_WIRELESS_MAC802154 which isn't available without the software MAC layer. Instead we use IOBUSER_WIRELESS_RAD802154 throughout the whole driver since it is always available when IEEE 802.15.4 support is enable

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-19 22:50:21 +00:00
Anthony Merlino
c024a1f569 Merged in antmerlino/nuttx/xbee-prefix (pull request #1009)
drivers/ieee802154/xbee: Add configuration option for setting the default prefix to use when bringing up the network and setting the IP address.

# Conflicts:
#	drivers/wireless/ieee802154/xbee/xbee_netdev.c

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-19 22:24:32 +00:00