Jin-Seong Kim [Fri, 24 Mar 2017 02:25:11 +0000 (11:25 +0900)]
netutils: introduce er-coap library
This commit adds er-coap library
- er-coap library : er-coap-13 from wakaama
Change-Id: I29f034958a8161e7136a0347cb521f8afcf40dfc
Signed-off-by: Jin-Seong Kim <jseong82.kim@samsung.com>
Heesub Shin [Wed, 15 Mar 2017 01:57:20 +0000 (10:57 +0900)]
arm: configs: add to support ARTIK-053
This commit adds board-specific files for ARTIK-053 Starter Kit which is
an evaluation board based on SAMSUNG S5JT200 WiFi MCU.
Change-Id: Ie2d0b7603d850256adf33bdd9e3af809cad28725
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 26 Mar 2017 04:28:44 +0000 (13:28 +0900)]
net/lwip: fix invalid #ifdef condition
s/CONFIG_ARCH_BOARD_SIDK_S5JT200/CONFIG_ARCH_CHIP_S5JT200/
Change-Id: Ic67f936ff95e1c0e385bf0a0ae10e4045a8a0056
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
EunBong Song [Thu, 23 Mar 2017 23:41:18 +0000 (08:41 +0900)]
net: do only network stack cleanup for ip address change
For IP address change, we only need network stack clean up and do not
need network interface link up/down. This patch changes policy for ip
address change command so that just cleans up network stack regarding
network interface.
Change-Id: Ie5c907e5746c252391f03cc2a0d0027ffcd631e0
Signed-off-by: EunBong Song <eunb.song@samsung.com>
Ivan [Thu, 23 Mar 2017 19:11:06 +0000 (04:11 +0900)]
s5j/spi: clean spi driver code
Removed unsed pieces of code, added functions descriptions.
Hardcoding replaced with macro definitions.
Change-Id: I85baf30af0c3d87df8340664bcefdf7d21e99d54
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Ivan [Thu, 23 Mar 2017 17:39:13 +0000 (02:39 +0900)]
s5j/pwrcal: add code to set SPI CLK frequency
Change-Id: I9a04ee03ca92a80efd439cfad6e76d45bc93312c
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Jihoon Park [Thu, 23 Mar 2017 02:54:44 +0000 (11:54 +0900)]
s5j/boot: fix chip dependent memory map
s5jt200 has Internal SRAM sized in 1280KB and provides CONFIG_RAM_SIZE
from configured start address. During boot stage, s5j initializes SRAM
mpu setting as read/write cacheable attribution, plus SFR area to be
strongly-order for strict register accessibility.
s5j allows user or board dependent mpu setting for FLASH area which can
be various size and start address. The FLASH sets with read/write
cacheable attribution and expects proper changes corresponding to
partition map.
arch/arm/src/armv7-r/mpu.h has proper API set of mpu setting and keep
the base address of the memory region should align to a region-sized
boundary.
Change-Id: I2e9c9e9070d88c8d32465fc12235bd403952445b
Signed-off-by: Jihoon Park <jh6186.park@samsung.com>
EunBong Song [Wed, 22 Mar 2017 08:00:10 +0000 (17:00 +0900)]
net/socket: remove NET_NACTIVESOCKETS, NET_SOCKOPTS, NET_SOLINGER
NET_NACTIVESOCKETS, NET_SOCKOPTS, NET_SOLINGER are legacy NuttX socket
features. TizenRT does not support anymore these features. So let's
remove this!
Change-Id: I73643f37f1c998e732d473fd31bce4d37d9a05bf
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Wed, 22 Mar 2017 07:21:07 +0000 (16:21 +0900)]
netutils/dhcpd: do not close socket when select timeout
Do not need to close socket when select timeout happens.
And if g_dhcpd_quit is set to 1, this cause double close for sockfd.
Change-Id: I4d151706958b4e04daa00a7e128f705dd131bf49
Signed-off-by: EunBong Song <eunb.song@samsung.com>
Junyeon Lee [Thu, 23 Mar 2017 11:49:51 +0000 (20:49 +0900)]
net/tls: support HW ecdsa sign
This patch adds to support ECDSA sign based on hardware. SSS supporting
curves:
. SECP NIST : 192, 224, 256, 384, 512
. Brainpool : 256
Precondition: Before using HW ECDSA sign, user should set hardware
key and register key index to mbedtls_ecp_keypair.
Change-Id: I08d6770e79b1bac2c8871f446605eb23614dda50
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Wed, 22 Mar 2017 19:07:34 +0000 (04:07 +0900)]
net/tls: support CONFIG_HW_ECDH_PARAMS
This commit adds two hardware eliptic curve diffie-hellman routine.
Generating key pair and computing shared secret will be accelated by
hardware with CONFIG_HW_ECDH_PARAMS.
Change-Id: I1f9a7740473d456fddc36a815f596fc2f5ab6883
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Thu, 23 Mar 2017 07:16:44 +0000 (16:16 +0900)]
net/tls: support HW ecdsa verification
This patch adds to support ECDSA verificiation based on hardware. SSS
supporting curves:
. SECP NIST : 192, 224, 256, 384, 512
. Brainpool : 256
Change-Id: I66b172549050e65cbb1ecdab88b05aa9d9152562
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Wed, 22 Mar 2017 16:48:28 +0000 (01:48 +0900)]
net/tls: support CONFIG_HW_DH_PARAMS
This commit adds three hardware diffie hellman routines. Generating
parameter and publickey, caculating secret will be accelated by hardware
with CONFIG_HW_DH_PARAMS.
Change-Id: I406909e992260378974a3ea7718138e8b044a53b
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Wed, 22 Mar 2017 16:37:46 +0000 (01:37 +0900)]
net/tls: add new apis for supporting h/w routine
This commit adds new internal apis for supporting hardware
accelerator(SSS).
Change-Id: I2714c43affed7c3c9dc9f596fe13137629de671a
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Wed, 22 Mar 2017 16:05:23 +0000 (01:05 +0900)]
net/tls: remove unused Kconfig entries and add more
This commit removes all unused configurations and adds several
congurations what would be supported soon.
Change-Id: Ifd2c966dac7048632ee69023a7ca31fe792882e6
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Tue, 21 Mar 2017 18:09:03 +0000 (03:09 +0900)]
net/tls: support sss random number generator
This commit adds source code about hardware based
random number generator in mbedtls_hardware_poll().
Please enable CONFIG_HW_RNG for getting
the true random entropy source from hardware.
Change-Id: Ib2b55921909bd8c5c1a809e0f8a825c0959b807d
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Tue, 21 Mar 2017 18:02:26 +0000 (03:02 +0900)]
net/tls: tidy up a bit
Fixes trivial coding style issues.
Change-Id: Iea1fc56d2e9788812fe3d73cdf28411b93b8c98d
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Tue, 14 Mar 2017 07:21:53 +0000 (16:21 +0900)]
net/tls: improve network portability
Fix network releated error.
. resolve build error releated with getaddrinfo and freeaddrinfo
. store errno before calling fcntl
(fcntl()->sem_wait() changes an errno to the unexpected value)
Change-Id: Ifa6924a330193dc2fa456ede1779ea9d6cf785ed
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Tue, 21 Mar 2017 14:29:31 +0000 (23:29 +0900)]
examples: removed all unused code about sss
Removed all sss source code in network protocol examples
such as websocket, webserver/client, mqtt and tls client.
.sss : security sub system (HW security)
Change-Id: Ib0049e9161c18f78fd3956b64bf66a9fa189c06a
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Wonsang Ryou [Tue, 21 Mar 2017 05:42:41 +0000 (14:42 +0900)]
netutils/ntpclient: modify print function and debug messages
This patch modifies print function and debug messages in ntpclient
module and example application.
- replace printf() with ndbg() debug macro in the ntpclient module.
- modify debug messages in the ntpclient example application.
Change-Id: I9d949b769099360824bf498b62451dfe7e172544
Signed-off-by: Wonsang Ryou <wonsang.yoo@samsung.com>
EunBong Song [Tue, 21 Mar 2017 04:15:28 +0000 (13:15 +0900)]
net: add config menus for LwIP stat options
This patch adds for config menu for LwIP stat options.
Change-Id: I6db9427f0a61c219ed1e02fede6129df4ae04167
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 04:05:05 +0000 (13:05 +0900)]
net: add config menus for LwIP debug options
This patch adds for config menu for LwIP debug options.
Change-Id: If84d587f29c06ef58cfe764132870160bc64264d
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 03:47:24 +0000 (12:47 +0900)]
net: add config menus for LwIP SNMP options
This patch adds for config menu for LwIP SNMP options.
Change-Id: Ib0758518d95ce5cb6f760e327f28df37e71ba3ec
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 03:41:33 +0000 (12:41 +0900)]
net: add config menus for LwIP PPP options
This patch adds for config menu for LwIP PPP options.
Change-Id: I7f5c9072d0f43b0c839f7432c62a478f9e8ff6a6
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 02:24:29 +0000 (11:24 +0900)]
net: add config menus for LwIP thread options
This patch adds for config menu for LwIP thread options.
Change-Id: Iae7734f6977bd6defede874e00e6a6aeaf122ab5
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 02:11:59 +0000 (11:11 +0900)]
net: add config menus for LwIP Loopback interface options
This patch adds for config menu for LwIP Loopback interface options.
Change-Id: I93d81e0f710836d3c0addf73c61e09c9efa50dd4
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 02:07:58 +0000 (11:07 +0900)]
net: add config menus for LwIP VLAN options
This patch adds for config menu for LwIP VLAN options.
Change-Id: I122626c33e9a992f54f8e63d8f01e6178dd39b81
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 02:01:54 +0000 (11:01 +0900)]
net: add config menus for LwIP IP options
This patch adds for config menu for LwIP IP options.
Change-Id: Idc3d68bba8618e9fc89416d5fb7078e3bcd4a5d8
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 01:49:09 +0000 (10:49 +0900)]
net: add config menus for LwIP ARP options
This patch adds for config menu for LwIP ARP options.
Change-Id: I3a276fbc967991e3d65bf3a038ac09fd8df14168
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 01:39:10 +0000 (10:39 +0900)]
net: add config menus for LwIP TCP options
This patch adds for config menu for LwIP TCP options.
Change-Id: I2874f7f6f968449ff9cef8cd881b039f46c31e83
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 01:25:56 +0000 (10:25 +0900)]
net: add config menus for LwIP UDP options
This patch adds for config menu for LwIP UDP options.
Change-Id: If77b2036596adf34168c09a1215352c80e396497
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 01:22:11 +0000 (10:22 +0900)]
net: add config menus for LwIP IGMP options
This patch adds for config menu for LwIP IGMP options.
Change-Id: I093a13999a925914f9245b477edb79bd8f66637a
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 01:13:32 +0000 (10:13 +0900)]
net: add config menus for LwIP ICMP options
This patch adds for config menu for LwIP ICMP options.
Change-Id: Ie98478bc38a014f94c3b25d2a30a15a34b9ca11d
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 01:02:35 +0000 (10:02 +0900)]
net: replace CONFIG_CUSTOM_SOCKETS from CONFIG_NET_LWIP_SOCKET
Commit
81754e99 adds CONFIG_NET_LWIP_SOCKET for LwIP socket function.
And this is a duplicate of CONFIG_CUSTOM_SOCKETS.
This patch removes CONFIG_CUSTOM_SOCKETS and replace CONFIG_CUSTOM_SOCKETS
from CONFIG_NET_LWIP_SOCKET.
Change-Id: I607ed5ff3f307a7c95ab962b4ed98e41cfe36aed
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 00:46:53 +0000 (09:46 +0900)]
net: add config menus for LwIP socket options
This patch adds for config menu for LwIP socket options.
Change-Id: I9b44b612485a7b8e1edd3d8ac4c6579ee2cfe812
Signed-off-by: EunBong Song <eunb.song@samsung.com>
EunBong Song [Tue, 21 Mar 2017 00:37:55 +0000 (09:37 +0900)]
net: add config menus for LwIP memory options
This patch is the first patch for adding LwIP configuration.
And adds for config menu for LwIP memory options.
Change-Id: Ief52429e422e41aebb546e4c56322f4a45fe8244
Signed-off-by: EunBong Song <eunb.song@samsung.com>
Junyeon Lee [Tue, 21 Mar 2017 11:14:24 +0000 (20:14 +0900)]
examples/websocket: remove unnecessary code
This patch removes unused variables and code.
Change-Id: I5ebd9827f27377eb46feb1fed5309cf404e64f70
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Tue, 21 Mar 2017 10:57:22 +0000 (19:57 +0900)]
netutils/websocket: fix state and loopback bugs
1. Because of making failure in websocket loopback test,
wrapped gethostbyname() with CONFIG_NET_LOOPBACK definition.
2. Websocket is not clearly changing own's state. So rearrange it.
Change-Id: I98709dee09f559aef597ed62d6afeb380020a9d7
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Wonsang Ryou [Tue, 21 Mar 2017 01:47:15 +0000 (10:47 +0900)]
examples/mdns_test: add netif name for ARTIK-05x board
This patch adds netif name "wl1" for ARTIK-05x board.
mdns_test application needs netif name to start mdns module.
Change-Id: I516a89beb2b075b4fdcb24bab5bf1c845d4cbf09
Signed-off-by: Wonsang Ryou <wonsang.yoo@samsung.com>
Wonsang Ryou [Tue, 21 Mar 2017 00:58:38 +0000 (09:58 +0900)]
netutils/mdns: add new functions and fix some bugs
This patch includes the following features.
- support xmDNS for site domain
- support subtype on mdns service discovery
- change main_loop stack size to avoid stack overflow (1K -> 4K)
- add exception handling on ECONNRESET error in main_loop
Please, refer to below comment for supporting xmDNS.
You can set multicast address and port for xmDNS with below config.
The default xmDNS multicast address and port are same as mDNS.
CONFIG_NETUTILS_MDNS_XMDNS_MULTICAST_ADDR="224.0.0.251"
CONFIG_NETUTILS_MDNS_XMDNS_PORT_NUM=5353
When discovering site domain service, service_type parameter
should include .site suffix. For example, when you want to search
"_autio._tcp" serive type in site domain, "_audio._tcp.site"
should be passed to mdnsd_discover_service() function.
If service_type doesn't include domain suffix, service_type will be
processed as local domain service_type in mdnsd_discover_service()
function.
Change-Id: I009cddbbedc0292dcaab68c48212857be99c5a37
Signed-off-by: Wonsang Ryou <wonsang.yoo@samsung.com>
Wonsang Ryou [Mon, 20 Mar 2017 05:56:11 +0000 (14:56 +0900)]
apps/examples: add a new example for MQTT client
This commit adds an example application for MQTT subscriber and
publisher.
Change-Id: I981f8745d5271a68e206d1465a0c5b0069c036cb
Signed-off-by: Wonsang Ryou <wonsang.yoo@samsung.com>
Junyeon Lee [Mon, 20 Mar 2017 15:37:23 +0000 (00:37 +0900)]
netutils/websocket: improve stability websocket library
This commit is to improve stability of websocket library.
Such as state management, socket operation and etc.
Change-Id: I29c0743358973b169d09e64d5666da059e12d40e
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Mon, 20 Mar 2017 15:09:32 +0000 (00:09 +0900)]
netutils/websocket: support hostname resolution
- Do hostname resolution inside the library instead of expecting
addresses form the caller application.
- Allow passing the TLS "auth_mode" parameter from the application.
- Fix hard-coded server name and used hostname from parameters instead.
- Add status code 1000 when sending a Close control frame to
the server. Before no status code was sent (empty payload) which
caused some websocket servers to return error -1, leading to
wrong interpretation by the wslay layer and incomplete termination
of the websocket connection.
- Add "user_data" field in websocket_t structure to allow upper
layers to store session specific data.
Change-Id: Ie853c57b8061320cb82fdd3d624da7a629720110
Signed-off-by: Gregory Lemercier <g.lemercier@samsung.com>
Junyeon Lee [Mon, 20 Mar 2017 14:44:05 +0000 (23:44 +0900)]
netutils/websocket: add handshake retry routine
This commit adds client handshake retry routine for connection stability.
And retry number set by definition of WEBSOCKET_MAX_TLS_HANDSHAKE.
Change-Id: I6191605272d8b436227ae9c12a67cb5fb79804c9
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Junyeon Lee [Fri, 17 Mar 2017 08:35:18 +0000 (17:35 +0900)]
examples/tls_server: make retry count configurable
The number of retry counts was constant and hardcoded, not allowing to
change at runtime. Let the TLS server use the value passed through the
command line argument when it does handshake. For example:
$ tls_server retry=100
Change-Id: I972c012777d66163902c736ef182820cc36783c2
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Ivan [Sun, 26 Mar 2017 09:16:25 +0000 (18:16 +0900)]
sidk_s5jt200: enable artikwifi application
Now that the artikwifi application is added, enable it by default in
the 'sidk_tash_wlan' configuration.
Change-Id: Ie51377c127f37ccbd89e5f3a6fa0544d102e069f
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Signed-off-by: Siwon Kang <sw0809.kang@samsung.com>
[Shin: split the original commit into two separated commits]
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Ivan [Sun, 26 Mar 2017 09:13:34 +0000 (18:13 +0900)]
apps: add artikwifi application
Application 'artikwifi' is added.
Change-Id: I6c82a39065ccae37ac6ef7dd1591fae5b7b0a8cd
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Signed-off-by: Siwon Kang <sw0809.kang@samsung.com>
[Shin: split the original commit into two separated commits]
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
[Kim: fix coding style]
Signed-off-by: Jin-Seong Kim <jseong82.kim@samsung.com>
Junyeon Lee [Fri, 17 Mar 2017 06:22:01 +0000 (15:22 +0900)]
netutils: fix several known bugs in http server and client
Fixes bugs in webserver, client library and example applications based
on it, including:
. Supports tls handshake retry routine
. Shrink thread's stack memory usages
. Fixes compilation errors about NETDB, TLS
. Maximum request length changed (2048 -> 4096)
. Changed HW key and certificate configurations
. Improve stability of webserver, webclient applications
Change-Id: Iac0c2d0ba0ef9e1e9d069b9dd0c7a59d170c5090
Signed-off-by: Junyeon Lee <junyeon2.lee@samsung.com>
Wonsang Ryou [Fri, 17 Mar 2017 08:02:51 +0000 (17:02 +0900)]
netutils: introduce MQTT library and APIs
This commit adds MQTT library and APIs.
- MQTT library : mosquitto-1.4.10
- MQTT APIs : for MQTT client (subscriber/publisher) function
Change-Id: I8c13d808fe05206f0bc6b2c0716b23d2c1bc1f52
Signed-off-by: Wonsang Ryou <wonsang.yoo@samsung.com>
EunBong Song [Fri, 17 Mar 2017 07:41:03 +0000 (16:41 +0900)]
net: remove NET_LWIP_DHCPC and NET_LWIP_DHCPS
NET_LWIP_DHCPC and NET_LWIP_DHCPS should not be used because this can
break protection build. Instead of these, use NETUTILS_DHCPC and
NETUTILS_DHCPD. This patch removes NET_LWIP_DHCPC and NET_LWIP_DHCPS.
Change-Id: Iba3cbb95e90ae1a91c0d607bbf093dad2ecc4479
Signed-off-by: EunBong Song <eunb.song@samsung.com>
Jin-Seong Kim [Thu, 16 Mar 2017 08:28:22 +0000 (17:28 +0900)]
netutils/dhcpd: introduce dhcpd application and netutil library
Initial commit for dhcpd netutil library and application including:
- add dhcpd command to create dhcp server pthread as daemon
(included in net command)
- add select function instead of repeating recv function in an
infinite loop
- fix build-error regarding arp.h
Change-Id: I5286d9136b1fdd7a1c45f44732a104edf49c0dcb
Signed-off-by: Jin-Seong Kim <jseong82.kim@samsung.com>
Ivan [Mon, 20 Mar 2017 11:11:48 +0000 (20:11 +0900)]
sidk_s5jt200: expose GPIO at boot
Code for GPIO expose is called from board init level.
Function s5j_gpioinitialize is used to expose GPIO.
Change-Id: Ic556750d9f7ad5547a93d04c5411aba642cb9141
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Heesub Shin [Mon, 20 Mar 2017 08:07:38 +0000 (17:07 +0900)]
sidk_s5jt200: enable automount
This commit enalbes the automount feature at SIDK_S5JT200 evaluation
board, so that user and sss r/w partition will be mounted at /mnt and
/sss respectively.
Change-Id: I7918793a9523a71f444dd2fb70dc5782b14e3a1f
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Mon, 20 Mar 2017 07:55:39 +0000 (16:55 +0900)]
sidk_s5jt200: add to support automount partitions
This commit adds new Kconfig entries for configuring automount feature.
If it is enabled, board_app_initialize() will try to mount user r/w file
system and sss r/w file system.
Change-Id: I5f85524e6515e32c52b99678214fc73d69d264ec
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Mon, 20 Mar 2017 02:06:51 +0000 (11:06 +0900)]
sidk_s5jt200: repartition flash layout
Partition layout currently configured is not for SIDK_S5JT200. This is
the right configuration.
Change-Id: Ib1c76b0ee6373d3d3ee4446946af0fc77314ded7
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Ivan [Wed, 22 Mar 2017 15:53:21 +0000 (00:53 +0900)]
s5j/watchdog: added low level code for WD maintenance
This is low level chip dependent code to set configure basics features.
More complex code, based on this code, should be located in board
related directory.
Change-Id: I441c156bbad625e9ffe532b666c09edf710efd7b
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Heesub Shin [Wed, 22 Mar 2017 07:28:36 +0000 (16:28 +0900)]
s5j/spi: tidy up a bit
Change-Id: I78b3b226b66cc6ed6855d4b390aee23e3205c5a4
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Wed, 22 Mar 2017 06:49:08 +0000 (15:49 +0900)]
s5j: rename SPI driver files
For consistency,
s/s5j_iot_spidrv.c/s5j_spi.c/
s/s5j_spidrv.h/s5j_spi.h/
Change-Id: Ibb2cecc922e3b51d9d2048ee72d5d2975b0e2ae8
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 11:55:39 +0000 (20:55 +0900)]
s5j/irq: removing IDs for non-exist IRQs
EINT[3..31] is not available in S5J. So, we do not need to have
definitions for them.
Change-Id: I5f6fdf95b5e0adb7fd8a951550443098f6a5ccfc
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 11:19:43 +0000 (20:19 +0900)]
s5j/irq: fix incorrect NR_IRQS definition
NR_IRQS is currently defined as 512. This is unnecessarily huge given
that we have 16 SGIs, 16 PPIs, and only 96 SPIs for external interrupt
sources. As a result, the IRQ vector table in kernel, g_irqvector[],
becomes unnecessarily huge, consuming memory spaces.
Here is a comparison table of libkernel.a for each configuration:
NR_IRQS .data .bss .text Total
512 0 3912 25664 29576
128 0 2376 25664 28040
As you can see, nearly one and half kilobytes of .bss reduces when
NR_IRQS=128.
Change-Id: Ib90aa90677261ad6b2a680a28a8929085905209b
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 11:00:54 +0000 (20:00 +0900)]
s5j/irq: remove macro definitions not in use
Remove macro definitions that are not in use for better readability.
Change-Id: Ic18733ed3e22abd12e3549976e63aa1d434114c1
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 10:51:10 +0000 (19:51 +0900)]
s5j/irq: tidy up a bit
Fixes trivial coding style issues, replacing spaces with tabs.
Change-Id: I4a40359da7a13002a873590596ee65b025569a3b
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 08:33:18 +0000 (17:33 +0900)]
s5j/mct: tidy up a bit
Fixes trivial coding style issues.
Change-Id: I6893a785335d7f4350647a9abcd2a163246140ec
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 04:31:44 +0000 (13:31 +0900)]
s5j/timerisr: remove invalid sanity check
S5J has a tick count buffer of 32bits for every local tick counters. So,
there is no point in checking if it is greater than 24bits. I think it
came from some other code the original author refered to.
Change-Id: Ie681e0d76f0a8f57a282736eb7ce19b6a2bce054
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 04:21:59 +0000 (13:21 +0900)]
s5j/mct: remove s5j_mct_local_start_timer0
This commit removes s5j_mct_local_start_timer0() and moves all its code
lines to up_timer_initialize(). There is no point in defining a single
function for such operation contaminating the namespace, as it is not
likely to be reused or called from other than up_timer_initialize().
In addition, it also changes the calculation of tick tick counter, from
(26 * * USEC_PER_TICK) to SYSTICK_RELOAD. This commit does not make any
functional differences.
Change-Id: I4ed8eb53a19fe79c08d4e2177efa5921e2115c96
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 03:28:21 +0000 (12:28 +0900)]
s5j/timerisr: rework up_timerisr()
Resetting the timer before calling sched_process_timer() seems more
logical.
Change-Id: I3ea0e3475855d58147ed061a8d8693413ec7a86a
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 02:35:46 +0000 (11:35 +0900)]
s5j/timerisr: do not check watchdog at up_timerisr()
up_timerisr() is not the place for checking the watchdog or kicking it.
So, doing such jobs in up_timerisr() looks very weird and wrong.
Not only that, CONFIG_S5J_WATCHDOG_RESET is not defined. Thus, removing
watchdog things from up_timerisr() does not make any functional
differences.
Change-Id: I3df540ad41f364c37ae07bc24f056f743ab56855
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Tue, 21 Mar 2017 02:33:55 +0000 (11:33 +0900)]
s5j/timerisr: tidy up a bit
Fixes trivial violations to the coding style and removes unnecessary
code lines that are not in use.
Change-Id: Ibb8d603997557a97abf027ec2a16404aeedd0e4d
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Ivan [Mon, 20 Mar 2017 11:07:07 +0000 (20:07 +0900)]
s5j/gpio: clean up code
Function open should not expose any GPIOs, so it is remained empty.
Function up_gpioinitialize should not expose any GPIO, remained empty.
This job will be done on board dependednt level by s5j_gpioinitialize()
Change-Id: I83649092e725b0750bea05dd285d52a938a58db2
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 12:02:09 +0000 (21:02 +0900)]
s5j/sflash: do not clear already cleared
s5j_sflash_disable_wp() is trying to clear a bit that is already
cleared.
Change-Id: I6b6d7abcf15f12f619440b65f0eea522662db73d
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 11:41:38 +0000 (20:41 +0900)]
s5j/sflash: do not use SFR address
To be future-proof and for better readability, all the accesses to SFR
should use macro definitions rather than specifying addresses directly.
This commit fixes it without introducing any functional differences.
Change-Id: I204dacc07621494befce4530970c97286487221b
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 11:25:00 +0000 (20:25 +0900)]
s5j/sflash: clean up unnecessary macro definition
There is no benefit in defineing a new macro for flash base address,
S5J_SFLASH_MAPPED_ADDRESS. Remove it for better readability.
Change-Id: Ieb243e1818e59d29a2bb985491b123f8d441bb6d
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 11:12:45 +0000 (20:12 +0900)]
s5j: rename s5j_qspi_init() to s5j_sflash_init()
Now that s5j_qspi.c has been merged to s5j_sflash.c, rename
s5j_qspi_init() to s5j_sflash_init() for better consistency.
Change-Id: Ic6c3952225e53ca71f423607782688d68e8b1be9
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 11:08:37 +0000 (20:08 +0900)]
s5j: merge qspi and sflash
This commit merges s5j_qspi.c and s5j_sflash.c together. It seems to
alter quite a lot, but it does not introduce any functional differences
at all.
Change-Id: I988b8bb8254206acc4cde05bbdfd24a28bb01cb5
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 10:46:59 +0000 (19:46 +0900)]
s5j/qspi: remove mutex
We do not need to have a mutex for protecting QSPI resource, as it is
accessed only when IRQ is disabled. See s5j_sflash.c.
Change-Id: I0e9c8db65e904b27ef5180a681dca355efd80b1b
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 10:44:12 +0000 (19:44 +0900)]
s5j/qspi: tidy up a bit
Remove unnecessary code lines that are not in use.
Change-Id: I9db6913c8e3d818b4141207ed8f1f8cf4589f4c2
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 10:29:11 +0000 (19:29 +0900)]
sidk_s5jt200: remove s5jt200_watchdog.c
Remove s5jt200_watchdog.c that is not in use.
Change-Id: I95e693ddd290c3985f12c24fc21b8c2e36766eaf
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 10:25:50 +0000 (19:25 +0900)]
sidk_s5jt200: clean up unnecesary lines
Removes code lines that are not in use. This commit does not make any
functional differences at all.
Change-Id: I064eeaa2413874bf904eef1285428d6be27de065
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 05:41:43 +0000 (14:41 +0900)]
s5j: sidk_s5jt200: rework nvram support
Current design associated with NVRAM support is a mess, accessing to the
flash memory directly in Nv_Read/Write/Erase(). All flash accesses to
flash memory should be done through MTD interface. Any direct access
is invalid and breaks the design.
This commit fixes it by inroducing a new implementation of Nv_xxx()
which is based on MTD config device. It manages NVRAM data from WiFi
application stack.
Change-Id: I6674a982895d13884b7f10db3b417e37acb9ca27
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 09:55:19 +0000 (18:55 +0900)]
sidk_s5jt200: set nvram partition type to config
We will use the NVRAM partition as a backing device for storing MTD
configs.
Change-Id: If68e48ace86c1a08d47f5b01501cc71667fad0eb
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 08:57:15 +0000 (17:57 +0900)]
sidk_s5jt200: support a new partition type, config
This commit introduces a new partition type, 'config'. When it is
specified to an mtd partition, the partiton is initialized by mtdconfig
device at boot.
Change-Id: I6e6ad27f1bf10292607fab520ea86365be091990
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 05:37:14 +0000 (14:37 +0900)]
s5j/sflash: remove all unnecessary code lines
This commit cleans up unnecessary code lines that are not in use. It
seems to change extensively, but does not make any functional
difference.
Change-Id: I37e2c742591b089735c88ebcc4e7bd9522b9ddec
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 05:00:14 +0000 (14:00 +0900)]
sidk_s5jt200: drop to support fota and crashdump
FOTA and crashdump is directly accessing to the S5J flash driver. This
is breaking the whole design and needs to be improved but, there is no
better way than to drop them all completely and redesign them from
scratch.
Change-Id: I228a22044a9be3ebf4911e06ebebd5ef9bde4a72
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 04:45:51 +0000 (13:45 +0900)]
sidk_s5jt200: mount procfs at boot
procfs is very convenient for examining the current status of OS. Mount
it at boot by default when CONFIG_FS_PROCFS=y.
Change-Id: I6d26ae978123799e737b489debb13ee11bdb7176
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sun, 19 Mar 2017 04:15:09 +0000 (13:15 +0900)]
sidk_s5jt200: disable M25 flash driver
We do not use M25P flash driver. Let's disable it.
Change-Id: I6db3a80b7843df54aeef8b61e44fdadde8491d6f
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sat, 18 Mar 2017 10:58:12 +0000 (19:58 +0900)]
sidk_s5jt200: enable flash partitions
Configure flash partitions at boot time.
Change-Id: I92c69894dc583418367481dc4c66f4607ae32f86
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sat, 18 Mar 2017 10:35:19 +0000 (19:35 +0900)]
sidk_s5jt200: configure partitions at boot
This commit introduces several Kconfig entries for configurting
partitions and adds a function that configures flash partitions
dynamically at boot time. However, there will be no functional
differences yet unless we turn it on. So, don't worry.
Change-Id: I3f10491c6f0c753b2c874310ebfe70596ce0e3c6
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sat, 18 Mar 2017 10:28:52 +0000 (19:28 +0900)]
sidk_s5jt200: add to support progmem
This commit adds s5jt200_progmem.c that contains an implementation of
progmem interfaces. As it is linked with the final binary only when
CONFIG_MTD_PROGMEM=y, this commit does not cause any functional
differences yet.
Change-Id: I6df8d8b1c33825eff747d71ebb86e56ece9abdaa
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sat, 18 Mar 2017 10:22:38 +0000 (19:22 +0900)]
sidk_s5jt200: add new Kconfig entries for external flash
This commit adds new Kconfig entries for configuring the external flash
memory, SIDK_S5JT200_FLASH_CAPACITY and SIDK_S5JT200_FLASH_PAGE_SIZE.
Change-Id: I6fc2f350f09944ff217f01ba1400d611266797e8
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Sat, 18 Mar 2017 07:19:17 +0000 (16:19 +0900)]
s5j/sflash: add to support progmem
This commit implements the progmem interfaces. Though S5J does not have
on-chip flash memory, I cound not find any better design other than
using the progmem.
Change-Id: Ifc6f38b9bd0564754a2ec055e317868cd50e3bc0
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Fri, 17 Mar 2017 12:00:01 +0000 (21:00 +0900)]
s5j/sflash: allocate sflashdev statically
This commit moves dynamic allocation of sflashdev to static allocation.
There is no reason to have it dynamic given that it is never freed once
initialized. In addition, code lines that manage it dynamically occupies
unnecessary binary footprints.
Here is comparison of binary footprints:
text data bss dec
Before (dynamic) 1344 0 19 1363
After (static) 1280 20 15 1315
With this commit, overall footprint has reduced 48bytes. Advantage of
static allocation is clear.
Change-Id: I5d12e455c7ad85ee389d17b1b246695062d30bb9
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Fri, 17 Mar 2017 11:39:46 +0000 (20:39 +0900)]
s5j/sflash: simplify struct s5j_sflash_dev_s
This commit eliminates 'struct s5j_sflash_priv_s' which is a
sub-structure of 'struct s5j_sflash_dev_s'. There is no benefit to do
so.
Change-Id: Ib0d1c1643d09f36440d995035109b518862d15d9
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Fri, 17 Mar 2017 04:04:44 +0000 (13:04 +0900)]
s5j/sflash: tidy up a bit
This commit fixes trivial violations to the coding style, without
causing any functional differences.
Change-Id: I199e4edbafae8df508f2c938bc33057ef578b157
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Ivan [Fri, 17 Mar 2017 11:46:31 +0000 (20:46 +0900)]
s5j/sflash: clean up code and add function descriptions
Change-Id: Ib32feaae43b8bb906e6451006367bcd26cb01362
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Heesub Shin [Fri, 17 Mar 2017 01:43:08 +0000 (10:43 +0900)]
s5j/qspi: remove all unnecessary functions
There are huge amount of unnecessary functions which are not in use.
Even worse, most of them are static, but their declarations are exported
in public header file. This is completely wrong and should be fixed.
Change-Id: If05660654df1078953cf6c78bf52e6d1e3299bb4
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Fri, 17 Mar 2017 01:41:21 +0000 (10:41 +0900)]
s5j/qspi: do not read the status while init
There is no point in reading the flash status register and printing it
out while initializing QSPI. Don't do it.
Change-Id: I552bebbefb4eee3e7ed5d14da9ee92bf2a4aacb6
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Fri, 17 Mar 2017 01:05:01 +0000 (10:05 +0900)]
s5j/qspi: tidy up a bit
Fixing trivial violations to coding style without introducing any
functional differences at all.
Change-Id: I0317acc4aaf4be7eb6be83e345401c1c010c2c4c
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Fri, 17 Mar 2017 00:31:40 +0000 (09:31 +0900)]
sidk_s5jt200: clean up s5jt200_boot.c
Tidy up trivial violation to coding styles, fixing indentations and etc.
without causing functional differences.
Change-Id: I5d83ac883802bd2d9fbaabc5669337c84848588e
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Thu, 16 Mar 2017 12:16:18 +0000 (21:16 +0900)]
sidk_s5jt200: initialize QSPI earlier
Change-Id: Iad15ee8cf9c7a8ecd7bf6f3cc70de4330905efd1
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
Heesub Shin [Thu, 16 Mar 2017 12:09:09 +0000 (21:09 +0900)]
sidk_s5jt200: do not touch the watchdog at boot
Now that the watchdog is disabled by S5J, touching it at the
board-specific initialization stages is unnecessary.
Change-Id: I151bff1a167a357d71523c1c98f38c147915897b
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>