diff --git a/packages/platforms/accton/armhf/Makefile b/packages/platforms/accton/armhf/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/.gitignore b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/.gitignore
new file mode 100644
index 00000000..4d978b36
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/.gitignore
@@ -0,0 +1,2 @@
+*x86*64*cel*redstone*xp*.mk
+onlpdump.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/PKG.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/PKG.yml
new file mode 100644
index 00000000..13254b29
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/PKG.yml
@@ -0,0 +1 @@
+!include $ONL_TEMPLATES/platform-modules.yml ARCH=armhf VENDOR=accton BASENAME=arm-accton-as4610-30 KERNELS="onl-kernel-4.14-lts-armhf-iproc-all:armhf"
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/builds/.gitignore b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/builds/.gitignore
new file mode 100644
index 00000000..a65b4177
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/builds/.gitignore
@@ -0,0 +1 @@
+lib
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/builds/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/builds/Makefile
new file mode 100644
index 00000000..13a4e194
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/modules/builds/Makefile
@@ -0,0 +1,7 @@
+KERNELS := onl-kernel-4.14-lts-armhf-iproc-all:armhf
+KMODULES := $(wildcard $(ONL)/packages/platforms/accton/armxx/arm-accton-as4610/modules/*.c)
+KINCLUDES := $(wildcard $(ONL)/packages/platforms/accton/armxx/arm-accton-as4610/modules/*.h)
+VENDOR := accton
+BASENAME := arm-accton-as4610-30
+ARCH := arm
+include $(ONL)/make/kmodule.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/PKG.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/PKG.yml
new file mode 100644
index 00000000..8d42f5a0
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/PKG.yml
@@ -0,0 +1 @@
+!include $ONL_TEMPLATES/onlp-platform-any.yml PLATFORM=arm-accton-as4610-30 ARCH=armhf TOOLCHAIN=arm-linux-gnueabihf
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/Makefile
new file mode 100644
index 00000000..e7437cb2
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/Makefile
@@ -0,0 +1,2 @@
+FILTER=src
+include $(ONL)/make/subdirs.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/lib/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/lib/Makefile
new file mode 100644
index 00000000..5456c2da
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/lib/Makefile
@@ -0,0 +1,44 @@
+############################################################
+#
+#
+# Copyright 2014 BigSwitch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+#
+############################################################
+include $(ONL)/make/config.armhf.mk
+
+MODULE := libonlp-arm-accton-as4610-30
+include $(BUILDER)/standardinit.mk
+
+DEPENDMODULES := AIM IOF arm_accton_as4610 onlplib
+DEPENDMODULE_HEADERS := sff
+
+include $(BUILDER)/dependmodules.mk
+
+SHAREDLIB := libonlp-arm-accton-as4610-30.so
+$(SHAREDLIB)_TARGETS := $(ALL_TARGETS)
+include $(BUILDER)/so.mk
+.DEFAULT_GOAL := $(SHAREDLIB)
+
+GLOBAL_CFLAGS += -I$(onlp_BASEDIR)/module/inc
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1
+GLOBAL_CFLAGS += -fPIC
+GLOBAL_LINK_LIBS += -lpthread
+
+include $(BUILDER)/targets.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/lib/libonlp-arm-accton-as4610-30.mk b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/lib/libonlp-arm-accton-as4610-30.mk
new file mode 100644
index 00000000..3c9f70fa
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/lib/libonlp-arm-accton-as4610-30.mk
@@ -0,0 +1,10 @@
+
+###############################################################################
+#
+# Inclusive Makefile for the libonlp-arm-accton-as4610-30 module.
+#
+# Autogenerated 2016-07-20 18:29:31.706331
+#
+###############################################################################
+libonlp-arm-accton-as4610-30_BASEDIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
+
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/onlpdump/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/onlpdump/Makefile
new file mode 100644
index 00000000..64d98aca
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/onlp/builds/onlpdump/Makefile
@@ -0,0 +1,45 @@
+############################################################
+#
+#
+# Copyright 2014 BigSwitch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+#
+#
+############################################################
+include $(ONL)/make/config.armhf.mk
+
+.DEFAULT_GOAL := onlpdump
+
+MODULE := onlpdump
+include $(BUILDER)/standardinit.mk
+
+DEPENDMODULES := AIM IOF onlp arm_accton_as4610 onlplib onlp_platform_defaults sff cjson cjson_util timer_wheel OS
+
+include $(BUILDER)/dependmodules.mk
+
+BINARY := onlpdump
+$(BINARY)_LIBRARIES := $(LIBRARY_TARGETS)
+include $(BUILDER)/bin.mk
+
+GLOBAL_CFLAGS += -DAIM_CONFIG_AIM_MAIN_FUNCTION=onlpdump_main
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1
+GLOBAL_LINK_LIBS += -lpthread -lm
+
+include $(BUILDER)/targets.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/PKG.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/PKG.yml
new file mode 100644
index 00000000..712d53eb
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/PKG.yml
@@ -0,0 +1 @@
+!include $ONL_TEMPLATES/platform-config-platform.yml ARCH=armhf VENDOR=accton BASENAME=arm-accton-as4610-30 REVISION=r0
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/Makefile
new file mode 100644
index 00000000..f57d6248
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/subdirs.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/dtb/.gitignore b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/dtb/.gitignore
new file mode 100644
index 00000000..f9450b8b
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/dtb/.gitignore
@@ -0,0 +1,3 @@
+*.dtb
+dts
+include
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/dtb/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/dtb/Makefile
new file mode 100644
index 00000000..5e17f4e4
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/builds/dtb/Makefile
@@ -0,0 +1,15 @@
+INCLUDES=include .
+KERNEL := onl-kernel-4.14-lts-armhf-iproc-all:armhf
+DTS_LIST := arm-accton-as4610.dts
+VPATH := $(ONL)/packages/platforms/accton/armxx/arm-accton-as4610
+include $(ONL)/make/dtbs.mk
+
+#
+# The 4610 DTS relies on the common arm devices tree includes. These are linked here from the kernel package.
+#
+setup::
+ onlpm --link-dir onl-kernel-4.14-lts-armhf-iproc-all:armhf /usr/share/onl/packages/armhf/onl-kernel-4.14-lts-armhf-iproc-all/mbuilds/arch/arm/boot/dts dts
+ onlpm --link-dir onl-kernel-4.14-lts-armhf-iproc-all:armhf /usr/share/onl/packages/armhf/onl-kernel-4.14-lts-armhf-iproc-all/mbuilds/include include
+
+setup-clean::
+ rm -f dts include
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/src/lib/arm-accton-as4610-30-r0.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/src/lib/arm-accton-as4610-30-r0.yml
new file mode 100644
index 00000000..178dc9fb
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/src/lib/arm-accton-as4610-30-r0.yml
@@ -0,0 +1,30 @@
+---
+
+######################################################################
+#
+# platform-config for AS4610-30
+#
+######################################################################
+
+arm-accton-as4610-30-r0:
+ flat_image_tree:
+ kernel:
+ <<: *armhf-iproc-4-14-kernel
+ dtb:
+ =: arm-accton-as4610.dtb
+ package: onl-platform-build-arm-accton-as4610-30-r0:armhf
+
+ itb:
+ <<: *armhf-itb
+
+ loader:
+ device: /dev/sda
+ ##partition: /dev/sda1
+ loadaddr: 0x70000000
+ nos_bootcmds: *usb2_bootcmds
+
+ environment:
+ - device: /dev/mtd2
+ env_offset: 0x00000000
+ env_size: 0x00002000
+ sector_size: 0x00010000
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/src/python/arm_accton_as4610_30_r0/__init__.py b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/src/python/arm_accton_as4610_30_r0/__init__.py
new file mode 100644
index 00000000..f4aa5bab
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-30/platform-config/r0/src/python/arm_accton_as4610_30_r0/__init__.py
@@ -0,0 +1,18 @@
+from onl.platform.base import *
+from onl.platform.accton import *
+
+class OnlPlatform_arm_accton_as4610_30_r0(OnlPlatformAccton,
+ OnlPlatformPortConfig_24x1_4x10):
+ PLATFORM='arm-accton-as4610-30-r0'
+ MODEL="AS4610-30"
+ SYS_OBJECT_ID=".4610.30"
+
+ def baseconfig(self):
+ self.insmod("accton_i2c_cpld")
+ self.new_i2c_device("as4610_30_cpld", 0x30, 0)
+ self.insmod("accton_as4610_sfp")
+ self.insmod("accton_as4610_psu")
+ self.insmod("accton_as4610_fan")
+ self.insmod("accton_as4610_leds")
+ self.insmod("ym2651y")
+ return True
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/.gitignore b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/.gitignore
new file mode 100644
index 00000000..4d978b36
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/.gitignore
@@ -0,0 +1,2 @@
+*x86*64*cel*redstone*xp*.mk
+onlpdump.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/PKG.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/PKG.yml
new file mode 100644
index 00000000..a0ecfdea
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/PKG.yml
@@ -0,0 +1 @@
+!include $ONL_TEMPLATES/platform-modules.yml ARCH=armhf VENDOR=accton BASENAME=arm-accton-as4610-54 KERNELS="onl-kernel-4.14-lts-armhf-iproc-all:armhf"
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/builds/.gitignore b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/builds/.gitignore
new file mode 100644
index 00000000..a65b4177
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/builds/.gitignore
@@ -0,0 +1 @@
+lib
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/builds/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/builds/Makefile
new file mode 100644
index 00000000..f8b3dc00
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/modules/builds/Makefile
@@ -0,0 +1,7 @@
+KERNELS := onl-kernel-4.14-lts-armhf-iproc-all:armhf
+KMODULES := $(wildcard $(ONL)/packages/platforms/accton/armxx/arm-accton-as4610/modules/*.c)
+KINCLUDES := $(wildcard $(ONL)/packages/platforms/accton/armxx/arm-accton-as4610/modules/*.h)
+VENDOR := accton
+BASENAME := arm-accton-as4610-54
+ARCH := arm
+include $(ONL)/make/kmodule.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/PKG.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/PKG.yml
new file mode 100644
index 00000000..95388927
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/PKG.yml
@@ -0,0 +1 @@
+!include $ONL_TEMPLATES/onlp-platform-any.yml PLATFORM=arm-accton-as4610-54 ARCH=armhf TOOLCHAIN=arm-linux-gnueabihf
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/Makefile
new file mode 100644
index 00000000..e7437cb2
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/Makefile
@@ -0,0 +1,2 @@
+FILTER=src
+include $(ONL)/make/subdirs.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/lib/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/lib/Makefile
new file mode 100644
index 00000000..3781c17c
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/lib/Makefile
@@ -0,0 +1,44 @@
+############################################################
+#
+#
+# Copyright 2014 BigSwitch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+#
+############################################################
+include $(ONL)/make/config.armhf.mk
+
+MODULE := libonlp-arm-accton-as4610-54
+include $(BUILDER)/standardinit.mk
+
+DEPENDMODULES := AIM IOF arm_accton_as4610 onlplib
+DEPENDMODULE_HEADERS := sff
+
+include $(BUILDER)/dependmodules.mk
+
+SHAREDLIB := libonlp-arm-accton-as4610-54.so
+$(SHAREDLIB)_TARGETS := $(ALL_TARGETS)
+include $(BUILDER)/so.mk
+.DEFAULT_GOAL := $(SHAREDLIB)
+
+GLOBAL_CFLAGS += -I$(onlp_BASEDIR)/module/inc
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1
+GLOBAL_CFLAGS += -fPIC
+GLOBAL_LINK_LIBS += -lpthread
+
+include $(BUILDER)/targets.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/lib/libonlp-arm-accton-as4610-54.mk b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/lib/libonlp-arm-accton-as4610-54.mk
new file mode 100644
index 00000000..71f6d993
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/lib/libonlp-arm-accton-as4610-54.mk
@@ -0,0 +1,10 @@
+
+###############################################################################
+#
+# Inclusive Makefile for the libonlp-arm-accton-as4610-54 module.
+#
+# Autogenerated 2016-07-20 18:27:47.344268
+#
+###############################################################################
+libonlp-arm-accton-as4610-54_BASEDIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
+
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/onlpdump/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/onlpdump/Makefile
new file mode 100644
index 00000000..64d98aca
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/onlp/builds/onlpdump/Makefile
@@ -0,0 +1,45 @@
+############################################################
+#
+#
+# Copyright 2014 BigSwitch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+#
+#
+############################################################
+include $(ONL)/make/config.armhf.mk
+
+.DEFAULT_GOAL := onlpdump
+
+MODULE := onlpdump
+include $(BUILDER)/standardinit.mk
+
+DEPENDMODULES := AIM IOF onlp arm_accton_as4610 onlplib onlp_platform_defaults sff cjson cjson_util timer_wheel OS
+
+include $(BUILDER)/dependmodules.mk
+
+BINARY := onlpdump
+$(BINARY)_LIBRARIES := $(LIBRARY_TARGETS)
+include $(BUILDER)/bin.mk
+
+GLOBAL_CFLAGS += -DAIM_CONFIG_AIM_MAIN_FUNCTION=onlpdump_main
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1
+GLOBAL_LINK_LIBS += -lpthread -lm
+
+include $(BUILDER)/targets.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/PKG.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/PKG.yml
new file mode 100644
index 00000000..a0f879a1
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/PKG.yml
@@ -0,0 +1 @@
+!include $ONL_TEMPLATES/platform-config-platform.yml ARCH=armhf VENDOR=accton BASENAME=arm-accton-as4610-54 REVISION=r0
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/Makefile
new file mode 100644
index 00000000..f57d6248
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/subdirs.mk
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/dtb/.gitignore b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/dtb/.gitignore
new file mode 100644
index 00000000..f9450b8b
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/dtb/.gitignore
@@ -0,0 +1,3 @@
+*.dtb
+dts
+include
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/dtb/Makefile b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/dtb/Makefile
new file mode 100644
index 00000000..5e17f4e4
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/builds/dtb/Makefile
@@ -0,0 +1,15 @@
+INCLUDES=include .
+KERNEL := onl-kernel-4.14-lts-armhf-iproc-all:armhf
+DTS_LIST := arm-accton-as4610.dts
+VPATH := $(ONL)/packages/platforms/accton/armxx/arm-accton-as4610
+include $(ONL)/make/dtbs.mk
+
+#
+# The 4610 DTS relies on the common arm devices tree includes. These are linked here from the kernel package.
+#
+setup::
+ onlpm --link-dir onl-kernel-4.14-lts-armhf-iproc-all:armhf /usr/share/onl/packages/armhf/onl-kernel-4.14-lts-armhf-iproc-all/mbuilds/arch/arm/boot/dts dts
+ onlpm --link-dir onl-kernel-4.14-lts-armhf-iproc-all:armhf /usr/share/onl/packages/armhf/onl-kernel-4.14-lts-armhf-iproc-all/mbuilds/include include
+
+setup-clean::
+ rm -f dts include
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/src/lib/arm-accton-as4610-54-r0.yml b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/src/lib/arm-accton-as4610-54-r0.yml
new file mode 100644
index 00000000..de1dfff4
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/src/lib/arm-accton-as4610-54-r0.yml
@@ -0,0 +1,30 @@
+---
+
+######################################################################
+#
+# platform-config for AS4610-54
+#
+######################################################################
+
+arm-accton-as4610-54-r0:
+ flat_image_tree:
+ kernel:
+ <<: *armhf-iproc-4-14-kernel
+ dtb:
+ =: arm-accton-as4610.dtb
+ package: onl-platform-build-arm-accton-as4610-54-r0:armhf
+
+ itb:
+ <<: *armhf-itb
+
+ loader:
+ device: /dev/sda
+ ##partition: /dev/sda1
+ loadaddr: 0x70000000
+ nos_bootcmds: *usb2_bootcmds
+
+ environment:
+ - device: /dev/mtd2
+ env_offset: 0x00000000
+ env_size: 0x00002000
+ sector_size: 0x00010000
diff --git a/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/src/python/arm_accton_as4610_54_r0/__init__.py b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/src/python/arm_accton_as4610_54_r0/__init__.py
new file mode 100644
index 00000000..87383d76
--- /dev/null
+++ b/packages/platforms/accton/armhf/arm-accton-as4610/arm-accton-as4610-54/platform-config/r0/src/python/arm_accton_as4610_54_r0/__init__.py
@@ -0,0 +1,36 @@
+from onl.platform.base import *
+from onl.platform.accton import *
+
+class OnlPlatform_arm_accton_as4610_54_r0(OnlPlatformAccton,
+ OnlPlatformPortConfig_48x1_4x10):
+ PLATFORM='arm-accton-as4610-54-r0'
+ MODEL="AS4610-54"
+ SYS_OBJECT_ID=".4610.54"
+
+ def baseconfig(self):
+ self.insmod("accton_i2c_cpld")
+ self.new_i2c_device("as4610_54_cpld", 0x30, 0)
+ self.insmod("accton_as4610_sfp")
+ self.insmod("accton_as4610_psu")
+ self.insmod("accton_as4610_fan")
+ self.insmod("accton_as4610_leds")
+ self.insmod("ym2651y")
+# self.new_i2c_devices(
+# [
+# ("pca9548", 0x70, 1),
+# ("as4610_sfp1", 0x50, 2),
+# ("as4610_sfp2", 0x50, 3),
+# ("as4610_sfp3", 0x50, 4),
+# ("as4610_sfp4", 0x50, 5),
+# ("as4610_sfp5", 0x50, 6),
+# ("as4610_sfp6", 0x50, 7),
+# ("as4610_psu1", 0x50, 8),
+# ("as4610_psu2", 0x51, 8),
+# ("ym1921", 0x58, 8),
+# ("ym1921", 0x59, 8),
+# ("lm77", 0x48, 9),
+# ("ds1307", 0x68, 9),
+# ("24c04", 0x50, 9),
+# ]
+# )
+ return True
diff --git a/packages/platforms/accton/armhf/modules/Makefile b/packages/platforms/accton/armhf/modules/Makefile
new file mode 100644
index 00000000..003238cf
--- /dev/null
+++ b/packages/platforms/accton/armhf/modules/Makefile
@@ -0,0 +1 @@
+include $(ONL)/make/pkg.mk
\ No newline at end of file
diff --git a/packages/platforms/accton/armhf/modules/PKG.yml b/packages/platforms/accton/armhf/modules/PKG.yml
new file mode 100644
index 00000000..3764a280
--- /dev/null
+++ b/packages/platforms/accton/armhf/modules/PKG.yml
@@ -0,0 +1 @@
+!include $ONL_TEMPLATES/no-arch-vendor-modules.yml ARCH=armhf VENDOR=accton