diff --git a/packages/base/all/initrds/loader-initrd-files/src/bin/swiget b/packages/base/all/initrds/loader-initrd-files/src/bin/swiget index 1be874d1..333674a9 100755 --- a/packages/base/all/initrds/loader-initrd-files/src/bin/swiget +++ b/packages/base/all/initrds/loader-initrd-files/src/bin/swiget @@ -19,7 +19,6 @@ import zipfile import onl.install.InstallUtils MountContext = onl.install.InstallUtils.MountContext BlkidParser = onl.install.InstallUtils.BlkidParser -UbinfoParser = onl.install.InstallUtils.UbinfoParser ProcMountsParser = onl.install.InstallUtils.ProcMountsParser import onl.mounts @@ -248,14 +247,6 @@ class Runner(onl.install.InstallUtils.SubprocessMixin): part = blkid[label] except IndexError: part = None - if part is None: - ubinfo = UbinfoParser(log=self.log) - part = {} - part = ubinfo[label] - device = "/dev/" + part['device'] + "_" + part['Volume ID'] - - return self.blockdevCopy(device, r, dir=mpt) - if part is not None: return self.blockdevCopy(part.device, r, dir=mpt) diff --git a/packages/base/all/initrds/loader-initrd-files/src/bin/swimount b/packages/base/all/initrds/loader-initrd-files/src/bin/swimount index 2741b5bd..b7ea1879 100755 --- a/packages/base/all/initrds/loader-initrd-files/src/bin/swimount +++ b/packages/base/all/initrds/loader-initrd-files/src/bin/swimount @@ -11,7 +11,6 @@ import logging import onl.install.InstallUtils BlkidParser = onl.install.InstallUtils.BlkidParser -UbinfoParser = onl.install.InstallUtils.UbinfoParser import onl.mounts MountContext = onl.install.InstallUtils.MountContext @@ -27,7 +26,6 @@ class Runner(onl.install.InstallUtils.SubprocessMixin): self.log = log self.blkid = BlkidParser(log=self.log) - self.ubinfo = UbinfoParser(log=self.log) def mount(self, SWI): @@ -127,13 +125,6 @@ class Runner(onl.install.InstallUtils.SubprocessMixin): part = self.blkid[label] except IndexError: part = None - if part is None: - part = {} - part = self.ubinfo[label] - - device = "/dev/" + part['device'] + "_" + part['Volume ID'] - - return self.blockdevMount(device, path, dir=mpt) if part is not None: return self.blockdevMount(part.device, path, dir=mpt) @@ -150,12 +141,7 @@ class Runner(onl.install.InstallUtils.SubprocessMixin): if not os.path.exists(dst): self.log.error("missing SWI: %s", dst) return None - p = dev.find('ubi') - if p < 0: - self.check_call(('mount', '-o', 'rw,remount', dst,)) - else: - self.check_call(('mount', '-t', 'ubifs', '-o', 'rw,remount', dst,)) - + self.check_call(('mount', '-o', 'rw,remount', dst,)) return dst with MountContext(device=dev, log=self.log) as ctx: @@ -168,12 +154,7 @@ class Runner(onl.install.InstallUtils.SubprocessMixin): # move to its proper location as per mtab # XXX perms may not be right here if dir is not None: - p = dev.find('ubi') - if p < 0: - self.check_call(('mount', '-o', 'rw,remount', ctx.dir,)) - else: - self.check_call(('mount', '-t', 'ubifs', '-o', 'rw,remount', ctx.dir,)) - + self.check_call(('mount', '-o', 'rw,remount', ctx.dir,)) self.check_call(('mount', '--move', ctx.dir, dir,)) ctx.mounted = False dst = dir diff --git a/packages/base/all/initrds/loader-initrd-files/src/bootmodes/installed b/packages/base/all/initrds/loader-initrd-files/src/bootmodes/installed index dc0e887b..00aa3a41 100755 --- a/packages/base/all/initrds/loader-initrd-files/src/bootmodes/installed +++ b/packages/base/all/initrds/loader-initrd-files/src/bootmodes/installed @@ -15,8 +15,8 @@ if [ ! -d /mnt/onl/data ]; then fi # make sure it's mounted as per mtab.yml -d1=$(stat -f -c '%b' /mnt/onl) -d2=$(stat -f -c '%b' /mnt/onl/data) +d1=$(stat -f -c '%d' /mnt/onl) +d2=$(stat -f -c '%d' /mnt/onl/data) if [ "$d1" -eq "$d2" ]; then msg_error "Unmounted /mnt/onl/data, disk boot cannot continue" exit 200 diff --git a/packages/base/all/vendor-config-onl/src/lib/platform-config-defaults-uboot.yml b/packages/base/all/vendor-config-onl/src/lib/platform-config-defaults-uboot.yml index 6b66f8c6..4ad068fb 100644 --- a/packages/base/all/vendor-config-onl/src/lib/platform-config-defaults-uboot.yml +++ b/packages/base/all/vendor-config-onl/src/lib/platform-config-defaults-uboot.yml @@ -129,13 +129,6 @@ default: - ext2load mmc 0:1 $onl_loadaddr $onl_itb - "bootm $onl_loadaddr#$onl_platform" - #ubifs to boot onl - flash_bootcmds: &flash_bootcmds - - ubi part open - - ubifsmount ONL-BOOT - - ubifsload $loadaddr $onl_itb - - "bootm $onl_loadaddr#$onl_platform" - nos_bootcmds: *ide_bootcmds # Configure the fw_env.config file, diff --git a/packages/base/all/vendor-config-onl/src/python/onl/install/BaseInstall.py b/packages/base/all/vendor-config-onl/src/python/onl/install/BaseInstall.py index 50b21638..2ca43c17 100755 --- a/packages/base/all/vendor-config-onl/src/python/onl/install/BaseInstall.py +++ b/packages/base/all/vendor-config-onl/src/python/onl/install/BaseInstall.py @@ -17,7 +17,7 @@ import imp import fnmatch, glob from InstallUtils import SubprocessMixin -from InstallUtils import MountContext, BlkidParser, PartedParser, UbinfoParser +from InstallUtils import MountContext, BlkidParser, PartedParser from InstallUtils import ProcMountsParser from InstallUtils import GdiskParser from InstallUtils import OnieSubprocess @@ -83,7 +83,6 @@ class Base: # keep track of next partition/next block self.blkidParts = [] - self.ubiParts = [] # current scan of partitions and labels self.partedDevice = None @@ -854,203 +853,7 @@ class GrubInstaller(SubprocessMixin, Base): def shutdown(self): Base.shutdown(self) -class UBIfsCreater(SubprocessMixin, Base): - - def __init__(self, *args, **kwargs): - Base.__init__(self, *args, **kwargs) - self.log = logging.getLogger("ubinfo -a") - self.device = self.im.getDevice() - self.ubiParts = None - """Set up an UBI file system.""" - - def ubifsinit(self): - UNITS = { - 'GiB' : 1024 * 1024 * 1024, - 'G' : 1000 * 1000 * 1000, - 'MiB' : 1024 * 1024, - 'M' : 1000 * 1000, - 'KiB' : 1024, - 'K' : 1000, - } - try: - code = 0 - if not code: - mtd_num = self.device[-1] - cmd = ('ubiformat', '/dev/mtd' + mtd_num) - self.check_call(cmd, vmode=self.V2) - cmd = ('ubiattach', '-m', mtd_num, '-d', '0', '/dev/ubi_ctrl',) - self.check_call(cmd, vmode=self.V2) - for part in self.im.platformConf['installer']: - label, partData = list(part.items())[0] - if type(partData) == dict: - sz, fmt = partData['='], partData.get('format', 'ubifs') - else: - sz, fmt = partData, 'ubifs' - cnt = None - for ul, ub in UNITS.items(): - if sz.endswith(ul): - cnt = int(sz[:-len(ul)], 10) * ub - break - if cnt is None: - self.log.error("invalid size (no units) for %s: %s",part, sz) - return 1 - label = label.strip() - cmd = ('ubimkvol', '/dev/ubi0', '-N', label, '-s', bytes(cnt),) - self.check_call(cmd, vmode=self.V2) - except Exception: - self.log.exception("cannot create UBI file systemfrom %s",self.device) - - return 0 - - def ubi_mount(self, dir, devpart): - - if devpart is None: - self.log.error("Mount failed.no given mount device part") - return 1 - if dir is None: - self.log.error("Mount failed.no given mount directory") - return 1 - if self.ubiParts is None: - try: - self.ubiParts = UbinfoParser(log=self.log.getChild("ubinfo -a")) - except Exception: - self.log.exception("Mount failed.No UBIfs") - return 1 - try: - dev = self.ubiParts[devpart] - except IndexError as ex: - self.log.error("Mount failed.cannot find %s partition", str(devpart)) - return 1 - self.makedirs(dir) - device = "/dev/" + dev['device'] + "_" + dev['Volume ID'] - if dev['fsType']: - cmd = ('mount', '-t', dev['fsType'], device, dir,) - else: - cmd = ('mount', device, dir,) - code = self.check_call(cmd, vmode=self.V2) - if code: - self.log.error("Mount failed.mount command exect failed") - return 1 - return 0 - - def ubi_unmount(self,dir=None): - - if dir is None: - self.log.error("Unmount failed.no given unmount directory") - return 1 - cmd = ('umount', dir) - code = self.check_call(cmd, vmode=self.V2) - if code: - self.log.error("Unmount failed.umount command exect failed") - return 1 - return 0 - - def ubi_getinfo(self): - try: - self.ubiParts = UbinfoParser(log=self.log.getChild("ubinfo -a")) - except Exception: - self.log.exception("UBI info get failed.No UBIfs") - return 1 - return 0 - - def ubi_installSwi(self): - - files = os.listdir(self.im.installerConf.installer_dir) + self.zf.namelist() - - swis = [x for x in files if x.endswith('.swi')] - - if not swis: - self.log.warn("No ONL Software Image available for ubi installation.") - self.log.warn("Post-install ZTN installation will be required.") - - if len(swis) > 1: - self.log.error("Multiple SWIs found in ubi installer: %s", " ".join(swis)) - return 1 - - base = swis[0] - - self.log.info("Installing ONL Software Image (%s)...", base) - dev = "ONL-IMAGES" - dstDir = "/tmp/ubifs" - code = self.ubi_mount(dstDir,dev) - if code : - return 1 - dst = os.path.join(dstDir, base) - self.installerCopy(base, dst) - self.log.info("syncing block devices(%s)...",dev) - self.check_call(('sync',)) - self.ubi_unmount(dstDir) - return 0 - - def ubi_installLoader(self): - - loaderBasename = None - for c in sysconfig.installer.fit: - if self.installerExists(c): - loaderBasename = c - break - if not loaderBasename: - self.log.error("The platform loader file is missing.") - return 1 - - self.log.info("Installing the ONL loader from %s...", loaderBasename) - dev = "ONL-BOOT" - dstDir = "/tmp/ubiloader" - code = self.ubi_mount(dstDir,dev) - if code : - return 1 - dst = os.path.join(dstDir, "%s.itb" % self.im.installerConf.installer_platform) - self.installerCopy(loaderBasename, dst) - self.log.info("syncing block devices(%s)...",dev) - self.check_call(('sync',)) - self.ubi_unmount(dstDir) - return 0 - - def ubi_installBootConfig(self): - - basename = 'boot-config' - - self.log.info("Installing boot-config to ONL-BOOT partion") - dev = "ONL-BOOT" - dstDir = "/tmp/ubibootcon" - code = self.ubi_mount(dstDir,dev) - if code : - return 1 - dst = os.path.join(dstDir, basename) - self.installerCopy(basename, dst, True) - with open(dst) as fd: - buf = fd.read() - ecf = buf.encode('base64', 'strict').strip() - if self.im.grub and self.im.grubEnv is not None: - setattr(self.im.grubEnv, 'boot_config_default', ecf) - if self.im.uboot and self.im.ubootEnv is not None: - setattr(self.im.ubootEnv, 'boot-config-default', ecf) - self.log.info("syncing block devices(%s)...",dev) - self.check_call(('sync',)) - self.ubi_unmount(dstDir) - return 0 - - def ubi_installOnlConfig(self): - - self.log.info("Installing onl-config to ONL-CONFIG partion") - dev = "ONL-CONFIG" - dstDir = "/tmp/ubionlconfig" - code = self.ubi_mount(dstDir,dev) - if code : - return 1 - for f in self.zf.namelist(): - d = 'config/' - if f.startswith(d) and f != d: - dst = os.path.join(dstDir, os.path.basename(f)) - if not os.path.exists(dst): - self.installerCopy(f, dst) - self.log.info("syncing block devices(%s)...",dev) - self.check_call(('sync',)) - self.ubi_unmount(dstDir) - return 0 - - -class UbootInstaller(SubprocessMixin, UBIfsCreater): +class UbootInstaller(SubprocessMixin, Base): class installmeta(Base.installmeta): @@ -1071,16 +874,13 @@ class UbootInstaller(SubprocessMixin, UBIfsCreater): cmds.append("setenv onl_itb %s" % itb) for item in self.platformConf['loader']['setenv']: k, v = list(item.items())[0] - device = self.getDevice() - if "mtdblock" in device: - cmds.append("setenv %s %s ${platformargs} ubi.mtd=%s root=/dev/ram ethaddr=$ethaddr" % (k, v, device[-1],)) - else: - cmds.append("setenv %s %s" % (k, v,)) + cmds.append("setenv %s %s" % (k, v,)) cmds.extend(self.platformConf['loader']['nos_bootcmds']) return "; ".join(cmds) def __init__(self, *args, **kwargs): - UBIfsCreater.__init__(self, *args, **kwargs) + Base.__init__(self, *args, **kwargs) + self.device = self.im.getDevice() self.rawLoaderDevice = None @@ -1214,24 +1014,6 @@ class UbootInstaller(SubprocessMixin, UBIfsCreater): code = self.assertUnmounted() if code: return code - - if "mtdblock" in self.device: - code = self.ubifsinit() - if code: return code - code = self.ubi_getinfo() - if code: return code - code = self.ubi_installSwi() - if code: return code - code = self.ubi_installLoader() - if code: return code - code = self.ubi_installBootConfig() - if code: return code - code = self.ubi_installOnlConfig() - if code: return code - code = self.runPlugins(Plugin.PLUGIN_POSTINSTALL) - if code: return code - code = self.installUbootEnv() - return code code = self.maybeCreateLabel() if code: return code diff --git a/packages/base/all/vendor-config-onl/src/python/onl/install/InstallUtils.py b/packages/base/all/vendor-config-onl/src/python/onl/install/InstallUtils.py index 85fe2c01..ccb4615e 100644 --- a/packages/base/all/vendor-config-onl/src/python/onl/install/InstallUtils.py +++ b/packages/base/all/vendor-config-onl/src/python/onl/install/InstallUtils.py @@ -388,63 +388,6 @@ class BlkidParser(SubprocessMixin): def __len__(self): return len(self.parts) -class UbinfoParser(SubprocessMixin): - - def __init__(self, log=None): - self.log = log or logging.getLogger("ubinfo -a") - self.parse() - - def parse(self): - self.parts = [] - lines = '' - try: - cmd = ('ubinfo', '-a',) - lines = self.check_output(cmd).splitlines() - except Exception as ex: - return self - - dev = None - volId = None - name = None - attrs = {} - for line in lines: - line = line.strip() - - p = line.find(':') - if p < 0: continue - name, value = line[:p], line[p+1:].strip() - if 'Volume ID' in name: - p = value.find('(') - if p < 0: continue - volumeId = value[:p].strip() - attrs['Volume ID'] = volumeId - p = value.find('on') - if p < 0: continue - dev = value[p+2:-1].strip() - attrs['device'] = dev - - if 'Name' in name: - dev = "/dev/" + dev + "_" + volumeId - p = line.find(':') - if p < 0: continue - attrs['Name'] = line[p+1:].strip() - attrs['fsType'] = 'ubifs' - self.parts.append(attrs) - dev = None - volId = None - name = None - attrs = {} - - def __getitem__(self, idxOrName): - if type(idxOrName) == int: - return self.parts[idxOrName] - for part in self.parts: - if part['Name'] == idxOrName: return part - raise IndexError("cannot find partition %s" % repr(idxOrName)) - - def __len__(self): - return len(self.parts) - class ProcMtdEntry: def __init__(self, diff --git a/packages/base/all/vendor-config-onl/src/python/onl/mounts/__init__.py b/packages/base/all/vendor-config-onl/src/python/onl/mounts/__init__.py index e6d24391..bf591df6 100755 --- a/packages/base/all/vendor-config-onl/src/python/onl/mounts/__init__.py +++ b/packages/base/all/vendor-config-onl/src/python/onl/mounts/__init__.py @@ -63,12 +63,7 @@ class MountManager(object): self.logger.debug("%s not mounted @ %s. It will be mounted %s" % (device, directory, mode)) try: - p = device.find('ubi') - if p < 0: - cmd = "mount -o %s %s %s" % (','.join(mountargs), device, directory) - else: - cmd = "mount -o %s -t %s %s %s" % (','.join(mountargs), 'ubifs', device, directory) - + cmd = "mount -o %s %s %s" % (','.join(mountargs), device, directory) self.logger.debug("+ %s" % cmd) subprocess.check_call(cmd, shell=True) except subprocess.CalledProcessError, e: @@ -153,39 +148,12 @@ class OnlMountManager(object): def _discover(k): v = md[k] lbl = v.get('label', k) - useUbiDev = False + try: v['device'] = subprocess.check_output(('blkid', '-L', lbl,)).strip() except subprocess.CalledProcessError: - useUbiDev = True - if useUbiDev == True: - if k == 'EFI-BOOT': - return False - output = subprocess.check_output("ubinfo -d 0 -N %s" % k, shell=True).splitlines() - volumeId = None - device = None - for line in output: - line = line.strip() - p = line.find(':') - if p < 0: - self.logger.debug("Invaild ubinfo output %s" % line) - - name, value = line[:p], line[p+1:].strip() - if 'Volume ID' in name: - p = value.find('(') - if p < 0: - self.logger.debug("Invalid Volume ID %s" % value) - - volumeId = value[:p].strip() - p = value.find('on') - if p < 0: - self.logger.debug("Invalid ubi devicde %s" % value) - - device = value[p+2:-1].strip() - if 'Name' in name: - v['device'] = "/dev/" + device + "_" + volumeId - - + return False + if not os.path.isdir(v['dir']): self.logger.debug("Make directory '%s'...", v['dir']) os.makedirs(v['dir']) diff --git a/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py b/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py index ed6efcfa..170f1eac 100755 --- a/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py +++ b/packages/base/all/vendor-config-onl/src/python/onl/platform/base.py @@ -474,10 +474,6 @@ class OnlPlatformPortConfig_48x1_4x10(object): PORT_COUNT=52 PORT_CONFIG="48x1 + 4x10" -class OnlPlatformPortConfig_48x1_2x10(object): - PORT_COUNT=50 - PORT_CONFIG="48x1 + 2x10" - class OnlPlatformPortConfig_48x10_4x40(object): PORT_COUNT=52 PORT_CONFIG="48x10 + 4x40" diff --git a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/Makefile b/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/Makefile index 49f02b06..b16fc9d4 100644 --- a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/Makefile +++ b/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/Makefile @@ -38,6 +38,6 @@ K_COPY_DST := kernel-3.2-lts-arm-iproc-all.bin.gz endif export ARCH=arm -DTS_LIST := accton_as4610_54 delta_ag6248c +DTS_LIST := accton_as4610_54 include $(ONL)/make/kbuild.mk diff --git a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/arm-iproc-all.config b/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/arm-iproc-all.config index e70dd3b3..4df4b2f3 100644 --- a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/arm-iproc-all.config +++ b/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/arm-iproc-all.config @@ -289,7 +289,6 @@ CONFIG_BCM_RAM_START_RESERVED_SIZE=0x200000 # CONFIG_MACH_GH is not set # CONFIG_MACH_DNI_3448P is not set CONFIG_MACH_ACCTON_AS4610_54=y -CONFIG_MACH_DELTA_AG6248C=y # CONFIG_MACH_IPROC_EMULATION is not set # @@ -1939,8 +1938,7 @@ CONFIG_IPROC_QSPI_SINGLE_MODE=y # CONFIG_IPROC_QSPI_DUAL_MODE is not set # CONFIG_IPROC_QSPI_QUAD_MODE is not set CONFIG_IPROC_QSPI_MAX_HZ=62500000 -CONFIG_IPROC_MTD_NAND=y -# CONFIG_IPROC_MTD_NAND_USE_JFFS2 is not set +# CONFIG_IPROC_MTD_NAND is not set # CONFIG_IPROC_PWM is not set CONFIG_IPROC_USB2H=y CONFIG_USB_EHCI_BCM=y diff --git a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/patches/platform-delta-ag6248c-device-drivers.patch b/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/patches/platform-delta-ag6248c-device-drivers.patch deleted file mode 100644 index 6dd2774b..00000000 --- a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/patches/platform-delta-ag6248c-device-drivers.patch +++ /dev/null @@ -1,181 +0,0 @@ -diff --git a/arch/arm/boot/dts/delta_ag6248c.dts b/arch/arm/boot/dts/delta_ag6248c.dts -new file mode 100755 -index 0000000..f86c35b ---- /dev/null -+++ b/arch/arm/boot/dts/delta_ag6248c.dts -@@ -0,0 +1,78 @@ -+/* -+ * Delta Networks, Inc. AG6248C Device Tree Source -+ * -+ * Copyright 2015, Cumulus Networks, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License as published by the -+ * Free Software Foundation; either version 2 of the License, or (at your -+ * option) any later version. -+ * -+ */ -+/dts-v1/; -+/include/ "helix4.dtsi" -+ -+/ { -+ model = "delta,ag6248c"; -+ compatible = "delta,ag6248c"; -+ -+ aliases { -+ serial0 = &uart0; -+ i2c-controller0 = &i2c0; -+ i2c-controller1 = &i2c1; -+ }; -+ -+ memory { -+ reg = <0x61000000 0x7f000000>; -+ }; -+ -+ cpus { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ cpu@0 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a9"; -+ next-level-cache = <&L2>; -+ reg = <0x00>; -+ }; -+ cpu@1 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a9"; -+ next-level-cache = <&L2>; -+ reg = <0x01>; -+ }; -+ }; -+ -+ localbus@1e000000{ -+ address-cells = <0x2>; -+ #size-cells = <0x1>; -+ compatible = "simple-bus"; -+ ranges = <0x0 0x0 0x1e000000 0x02000000>; -+ -+ }; -+ -+ i2c0: i2c@18038000 { -+ compatible = "iproc-smb"; -+ reg = <0x18038000 0x1000>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ interrupts = < 127 >; -+ clock-frequency = <400000>; -+ rtc@68 { -+ compatible = "m41st85"; -+ reg = <0x68>; -+ }; -+ }; -+ -+ -+ i2c1: i2c@1803b000 { -+ compatible = "iproc-smb"; -+ reg = <0x1803b000 0x1000>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ interrupts = < 128 >; -+ clock-frequency = <100000>; -+ -+ }; -+}; -diff --git a/arch/arm/mach-iproc/Kconfig b/arch/arm/mach-iproc/Kconfig -index c77208d..c6a87fc 100644 ---- a/arch/arm/mach-iproc/Kconfig -+++ b/arch/arm/mach-iproc/Kconfig -@@ -49,6 +49,12 @@ config MACH_ACCTON_AS4610_54 - help - Support for Accton AS4610-54 POE and non -POE board. - -+config MACH_DELTA_AG6248C -+ select ARM_L1_CACHE_SHIFT_6 -+ bool "Support Delta AG6248C board" -+ help -+ Support for Delta AG6248C board. -+ - config MACH_IPROC_P7 - bool "Support iProc Profile 7 architecture" - depends on MACH_GH -diff --git a/arch/arm/mach-iproc/board_bu.c b/arch/arm/mach-iproc/board_bu.c -index 7e07ed1..5479020 100644 ---- a/arch/arm/mach-iproc/board_bu.c -+++ b/arch/arm/mach-iproc/board_bu.c -@@ -1083,6 +1083,7 @@ MACHINE_END - static const char * helix4_dt_board_compat[] = { - "dni,dni_3448p", - "accton,as4610_54", -+ "delta,ag6248c", - NULL - }; - -diff --git a/arch/arm/mach-iproc/common.c b/arch/arm/mach-iproc/common.c -index b116ffc..e911a2b 100644 ---- a/arch/arm/mach-iproc/common.c -+++ b/arch/arm/mach-iproc/common.c -@@ -187,7 +187,8 @@ static struct platform_device wdt_device = - enum { - HX4_NONE = 0, - HX4_DNI_3448P, -- HX4_ACCTON_AS4610_54 -+ HX4_ACCTON_AS4610_54, -+ HX4_DELTA_AG6248C, - }; - - /* -@@ -212,6 +213,8 @@ int brcm_get_hx4_model(void) - return HX4_DNI_3448P; - else if (!strcmp(model, "accton,as4610_54")) - return HX4_ACCTON_AS4610_54; -+ else if (!strcmp(model, "delta,ag6248c")) -+ return HX4_DELTA_AG6248C; - - printk( KERN_ERR "Unknown Model %s\n", model ); - return HX4_NONE; -diff --git a/arch/arm/mach-iproc/include/mach/iproc_regs.h b/arch/arm/mach-iproc/include/mach/iproc_regs.h -index 460c436..50ea557 100644 ---- a/arch/arm/mach-iproc/include/mach/iproc_regs.h -+++ b/arch/arm/mach-iproc/include/mach/iproc_regs.h -@@ -364,7 +364,11 @@ - #define IPROC_GMAC3_INT 182 - #elif (defined(CONFIG_MACH_HX4) || defined(CONFIG_MACH_KT2) || defined(CONFIG_MACH_DNI_3448P) || \ - defined(CONFIG_MACH_ACCTON_AS4610_54)) -+#if defined(CONFIG_MACH_DELTA_AG6248C) -+#define IPROC_NUM_GMACS 1 -+#else - #define IPROC_NUM_GMACS 2 -+#endif - #define IPROC_GMAC0_REG_BASE (GMAC0_DEVCONTROL) //(0x18022000) - #define IPROC_GMAC1_REG_BASE (GMAC1_DEVCONTROL) //(0x18023000) - #define IPROC_GMAC2_REG_BASE (0) // n/a -diff --git a/drivers/bcmdrivers/gmac/src/shared/nvramstubs.c b/drivers/bcmdrivers/gmac/src/shared/nvramstubs.c -index d5b400d..a823697 100644 ---- a/drivers/bcmdrivers/gmac/src/shared/nvramstubs.c -+++ b/drivers/bcmdrivers/gmac/src/shared/nvramstubs.c -@@ -143,7 +143,8 @@ __setup("envaddr=", envaddr_setup); - enum { - HX4_NONE = 0, - HX4_DNI_3448P, -- HX4_ACCTON_AS4610_54 -+ HX4_ACCTON_AS4610_54, -+ HX4_DELTA_AG6248C - }; - - static void -@@ -158,7 +159,10 @@ setup_uboot_vars(void) { - } else if (modelnum == HX4_ACCTON_AS4610_54) { - env_offset = 0x000f0000; - uboot_vars_start = CONFIG_SPI_BASE + env_offset; -- } -+ }else if (modelnum == HX4_DELTA_AG6248C) { -+ env_offset = 0x00300000; -+ uboot_vars_start = CONFIG_NAND_BASE + env_offset; -+ } - } - - /* --- -2.1.4 - diff --git a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/patches/series b/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/patches/series index 3028ed13..e2adb686 100644 --- a/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/patches/series +++ b/packages/base/any/kernels/3.2-lts/configs/arm-iproc-all/patches/series @@ -506,4 +506,3 @@ scripts_package_Makefile.patch tools_include_tools_be_byteshift.h.patch tools_include_tools_le_byteshift.h.patch platform-accton-as4610-device-drivers.patch -platform-delta-ag6248c-device-drivers.patch diff --git a/packages/platforms/delta/armel/Makefile b/packages/platforms/delta/armel/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/README.md b/packages/platforms/delta/armel/arm-delta-ag6248c/README.md deleted file mode 100644 index b49d2126..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/README.md +++ /dev/null @@ -1,25 +0,0 @@ -#How to run ONL in DELTA AG6248C board - -For the first step, it only support install the ONL to the USB and boot up. -It will be support to install the ONL to NandFlash next step. - -Build the ONL --------------------------------------------------------------------------- -Please refer the $ONL/docs/Building.md - -Install the ONL through ONIE --------------------------------------------------------------------------- -``` -ONIE:/ # onie-discovery-stop -discover: installer mode detected. -Stopping: discover... done. -ONIE:/ # -ONIE:/ # ifconfig eth0 192.168.1.1 #configure the DUT IP address -ONIE:/ # tftp -r ONL-2.*_ARMEL_INSTALLED_INSTALLER -g 192.168.1.99 -b 10240 -ONIE:/ # onie-nos-install ONL-2.*_ARMEL_INSTALLED_INSTALLER -``` -Boot the ONL --------------------------------------------------------------------------- -Device will reboot automatically after install the ONL installer successfull. - -Now it will start the ONL boot progress. diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/.gitignore b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/.gitignore deleted file mode 100644 index 4d978b36..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*x86*64*cel*redstone*xp*.mk -onlpdump.mk diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/PKG.yml b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/PKG.yml deleted file mode 100755 index cb9893f5..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/PKG.yml +++ /dev/null @@ -1 +0,0 @@ -!include $ONL_TEMPLATES/platform-modules.yml ARCH=armel VENDOR=delta BASENAME=arm-delta-ag6248c KERNELS="onl-kernel-3.2-lts-arm-iproc-all:armel" diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/.gitignore b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/.gitignore deleted file mode 100755 index a813c369..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -onlpdump.mk -lib diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/Makefile deleted file mode 100755 index 465902c8..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -KERNELS := onl-kernel-3.2-lts-arm-iproc-all:armel -KMODULES := $(wildcard *.c) -VENDOR := delta -BASENAME := arm-delta-ag6248c -ARCH := arm -include $(ONL)/make/kmodule.mk diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/arm-delta-ag6248c-cpld-mux-1.c b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/arm-delta-ag6248c-cpld-mux-1.c deleted file mode 100755 index 56d68b13..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/arm-delta-ag6248c-cpld-mux-1.c +++ /dev/null @@ -1,242 +0,0 @@ -/* - * An I2C multiplexer dirver for delta as5812 CPLD - * - * Copyright (C) 2017 Delta Networks, Inc. - * Brandon Chuang - * - * This module supports the delta cpld that hold the channel select - * mechanism for other i2c slave devices, such as SFP. - * This includes the: - * Delta ag7648c CPLD1/CPLD2/CPLD3 - * - * Based on: - * pca954x.c from Kumar Gala - * Copyright (C) 2006 - * - * Based on: - * pca954x.c from Ken Harrenstien - * Copyright (C) 2004 Google, Inc. (Ken Harrenstien) - * - * Based on: - * i2c-virtual_cb.c from Brian Kuschak - * and - * pca9540.c from Jean Delvare . - * - * This file is licensed under the terms of the GNU General Public - * License version 2. This program is licensed "as is" without any - * warranty of any kind, whether express or implied. - */ - -#include -#include -#include -#include -#include -#include -#include - -#define CTRL_CPLD_BUS 0x0 -#define CTRL_CPLD_I2C_ADDR 0x28 -#define PARENT_CHAN 0x0 -#define NUM_OF_CPLD_CHANS 0x2 - -#define CPLD_CHANNEL_SELECT_REG 0x19 -#define CPLD_CHANNEL_SELECT_MASK 0x3 -#define CPLD_CHANNEL_SELECT_OFFSET 0x0 - -#define CPLD_DESELECT_CHANNEL 0xff - -#define CPLD_MUX_MAX_NCHANS 0x2 -enum cpld_mux_type { - delta_cpld_mux -}; - -struct delta_i2c_cpld_mux { - enum cpld_mux_type type; - struct i2c_adapter *virt_adaps[CPLD_MUX_MAX_NCHANS]; - u8 last_chan; /* last register value */ -}; - -struct chip_desc { - u8 nchans; - u8 deselectChan; -}; - -/* Provide specs for the PCA954x types we know about */ -static const struct chip_desc chips[] = { - [delta_cpld_mux] = { - .nchans = NUM_OF_CPLD_CHANS, - .deselectChan = CPLD_DESELECT_CHANNEL, - } -}; - -static struct delta_i2c_cpld_mux *cpld_mux_data; - -static struct device dump_dev; - -/* Write to mux register. Don't use i2c_transfer()/i2c_smbus_xfer() - for this as they will try to lock adapter a second time */ -static int delta_i2c_cpld_mux_reg_write(struct i2c_adapter *adap, - struct i2c_client *client, u8 val) -{ - unsigned long orig_jiffies; - unsigned short flags; - union i2c_smbus_data data; - struct i2c_adapter *ctrl_adap; - int try; - s32 res = -EIO; - u8 reg_val = 0; - - data.byte = val; - flags = 0; - - ctrl_adap = i2c_get_adapter(CTRL_CPLD_BUS); - if (!ctrl_adap) - return res; - - // try to lock it - if (ctrl_adap->algo->smbus_xfer) { - /* Retry automatically on arbitration loss */ - orig_jiffies = jiffies; - for (res = 0, try = 0; try <= ctrl_adap->retries; try++) { - // read first - res = ctrl_adap->algo->smbus_xfer(ctrl_adap, CTRL_CPLD_I2C_ADDR, flags, - I2C_SMBUS_READ, CPLD_CHANNEL_SELECT_REG, - I2C_SMBUS_BYTE_DATA, &data); - if (res && res != -EAGAIN) - break; - - // modify the field we wanted - data.byte &= ~(CPLD_CHANNEL_SELECT_MASK << CPLD_CHANNEL_SELECT_OFFSET); - reg_val |= ((val & CPLD_CHANNEL_SELECT_MASK) << CPLD_CHANNEL_SELECT_OFFSET); - data.byte |= reg_val; - - // modify the register - res = ctrl_adap->algo->smbus_xfer(ctrl_adap, CTRL_CPLD_I2C_ADDR, flags, - I2C_SMBUS_WRITE, CPLD_CHANNEL_SELECT_REG, - I2C_SMBUS_BYTE_DATA, &data); - if (res && res != -EAGAIN) - break; - if (time_after(jiffies, - orig_jiffies + ctrl_adap->timeout)) - break; - } - } - - return res; -} - -static int delta_i2c_cpld_mux_select_chan(struct i2c_adapter *adap, - void *client, u32 chan) -{ - u8 regval; - int ret = 0; - regval = chan; - - /* Only select the channel if its different from the last channel */ - if (cpld_mux_data->last_chan != regval) { - ret = delta_i2c_cpld_mux_reg_write(NULL, NULL, regval); - cpld_mux_data->last_chan = regval; - } - - return ret; -} - -static int delta_i2c_cpld_mux_deselect_mux(struct i2c_adapter *adap, - void *client, u32 chan) -{ - /* Deselect active channel */ - cpld_mux_data->last_chan = chips[cpld_mux_data->type].deselectChan; - - return delta_i2c_cpld_mux_reg_write(NULL, NULL, cpld_mux_data->last_chan); -} - -/* - * I2C init/probing/exit functions - */ -static int __delta_i2c_cpld_mux_init(void) -{ - struct i2c_adapter *adap = i2c_get_adapter(PARENT_CHAN); - int chan=0; - int ret = -ENODEV; - - memset (&dump_dev, 0, sizeof(dump_dev)); - - if (!i2c_check_functionality(adap, I2C_FUNC_SMBUS_BYTE)) - goto err; - - if (!adap) - goto err; - - cpld_mux_data = kzalloc(sizeof(struct delta_i2c_cpld_mux), GFP_KERNEL); - if (!cpld_mux_data) { - ret = -ENOMEM; - goto err; - } - - cpld_mux_data->type = delta_cpld_mux; - cpld_mux_data->last_chan = chips[cpld_mux_data->type].deselectChan; /* force the first selection */ - - /* Now create an adapter for each channel */ - for (chan = 0; chan < NUM_OF_CPLD_CHANS; chan++) { - cpld_mux_data->virt_adaps[chan] = i2c_add_mux_adapter(adap, &dump_dev, NULL, 0, - chan, - delta_i2c_cpld_mux_select_chan, - delta_i2c_cpld_mux_deselect_mux); - - if (cpld_mux_data->virt_adaps[chan] == NULL) { - ret = -ENODEV; - printk("failed to register multiplexed adapter %d, parent %d\n", chan, PARENT_CHAN); - goto virt_reg_failed; - } - } - - printk("registered %d multiplexed busses for I2C mux bus %d\n", - chan, PARENT_CHAN); - - return 0; - -virt_reg_failed: - for (chan--; chan >= 0; chan--) { - i2c_del_mux_adapter(cpld_mux_data->virt_adaps[chan]); - } - - kfree(cpld_mux_data); -err: - return ret; -} - -static int __delta_i2c_cpld_mux_remove(void) -{ - const struct chip_desc *chip = &chips[cpld_mux_data->type]; - int chan; - - for (chan = 0; chan < chip->nchans; ++chan) { - if (cpld_mux_data->virt_adaps[chan]) { - i2c_del_mux_adapter(cpld_mux_data->virt_adaps[chan]); - cpld_mux_data->virt_adaps[chan] = NULL; - } - } - - kfree(cpld_mux_data); - - return 0; -} - -static int __init delta_i2c_cpld_mux_init(void) -{ - return __delta_i2c_cpld_mux_init (); -} - -static void __exit delta_i2c_cpld_mux_exit(void) -{ - __delta_i2c_cpld_mux_remove (); -} - -MODULE_AUTHOR("Dave Hu "); -MODULE_DESCRIPTION("Delta I2C CPLD mux driver"); -MODULE_LICENSE("GPL"); - -module_init(delta_i2c_cpld_mux_init); -module_exit(delta_i2c_cpld_mux_exit); - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/arm-delta-ag6248c-cpld-mux-2.c b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/arm-delta-ag6248c-cpld-mux-2.c deleted file mode 100755 index 12b5fb38..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/modules/builds/arm-delta-ag6248c-cpld-mux-2.c +++ /dev/null @@ -1,243 +0,0 @@ -/* - * An I2C multiplexer dirver for delta as5812 CPLD - * - * Copyright (C) 2017 Delta Networks, Inc. - * Brandon Chuang - * - * This module supports the delta cpld that hold the channel select - * mechanism for other i2c slave devices, such as SFP. - * This includes the: - * Delta ag7648c CPLD1/CPLD2/CPLD3 - * - * Based on: - * pca954x.c from Kumar Gala - * Copyright (C) 2006 - * - * Based on: - * pca954x.c from Ken Harrenstien - * Copyright (C) 2004 Google, Inc. (Ken Harrenstien) - * - * Based on: - * i2c-virtual_cb.c from Brian Kuschak - * and - * pca9540.c from Jean Delvare . - * - * This file is licensed under the terms of the GNU General Public - * License version 2. This program is licensed "as is" without any - * warranty of any kind, whether express or implied. - */ - -#include -#include -#include -#include -#include -#include -#include - -#define CTRL_CPLD_BUS 0x0 -#define CTRL_CPLD_I2C_ADDR 0x28 -#define PARENT_CHAN 0x1 -#define NUM_OF_CPLD_CHANS 0x2 - -#define CPLD_CHANNEL_SELECT_REG 0x19 -#define CPLD_CHANNEL_SELECT_MASK 0x3 -#define CPLD_CHANNEL_SELECT_OFFSET 0x5 - -#define CPLD_DESELECT_CHANNEL 0xff - -#define CPLD_MUX_MAX_NCHANS 0x2 -enum cpld_mux_type { - delta_cpld_mux -}; - -struct delta_i2c_cpld_mux { - enum cpld_mux_type type; - struct i2c_adapter *virt_adaps[CPLD_MUX_MAX_NCHANS]; - u8 last_chan; /* last register value */ -}; - -struct chip_desc { - u8 nchans; - u8 deselectChan; -}; - -/* Provide specs for the PCA954x types we know about */ -static const struct chip_desc chips[] = { - [delta_cpld_mux] = { - .nchans = NUM_OF_CPLD_CHANS, - .deselectChan = CPLD_DESELECT_CHANNEL, - } -}; - -static struct delta_i2c_cpld_mux *cpld_mux_data; - -static struct device dump_dev; - -/* Write to mux register. Don't use i2c_transfer()/i2c_smbus_xfer() - for this as they will try to lock adapter a second time */ -static int delta_i2c_cpld_mux_reg_write(struct i2c_adapter *adap, - struct i2c_client *client, u8 val) -{ - unsigned long orig_jiffies; - unsigned short flags; - union i2c_smbus_data data; - struct i2c_adapter *ctrl_adap; - int try; - s32 res = -EIO; - u8 reg_val = 0; - - data.byte = val; - flags = 0; - - ctrl_adap = i2c_get_adapter(CTRL_CPLD_BUS); - if (!ctrl_adap) - return res; - - - // try to lock it - if (ctrl_adap->algo->smbus_xfer) { - /* Retry automatically on arbitration loss */ - orig_jiffies = jiffies; - for (res = 0, try = 0; try <= ctrl_adap->retries; try++) { - // read first - res = ctrl_adap->algo->smbus_xfer(ctrl_adap, CTRL_CPLD_I2C_ADDR, flags, - I2C_SMBUS_READ, CPLD_CHANNEL_SELECT_REG, - I2C_SMBUS_BYTE_DATA, &data); - if (res && res != -EAGAIN) - break; - - // modify the field we wanted - data.byte &= ~(CPLD_CHANNEL_SELECT_MASK << CPLD_CHANNEL_SELECT_OFFSET); - reg_val |= ((val & CPLD_CHANNEL_SELECT_MASK) << CPLD_CHANNEL_SELECT_OFFSET); - data.byte |= reg_val; - - // modify the register - res = ctrl_adap->algo->smbus_xfer(ctrl_adap, CTRL_CPLD_I2C_ADDR, flags, - I2C_SMBUS_WRITE, CPLD_CHANNEL_SELECT_REG, - I2C_SMBUS_BYTE_DATA, &data); - if (res != -EAGAIN) - break; - if (time_after(jiffies, - orig_jiffies + ctrl_adap->timeout)) - break; - } - } - - return res; -} - -static int delta_i2c_cpld_mux_select_chan(struct i2c_adapter *adap, - void *client, u32 chan) -{ - u8 regval; - int ret = 0; - regval = chan; - - /* Only select the channel if its different from the last channel */ - if (cpld_mux_data->last_chan != regval) { - ret = delta_i2c_cpld_mux_reg_write(NULL, NULL, regval); - cpld_mux_data->last_chan = regval; - } - - return ret; -} - -static int delta_i2c_cpld_mux_deselect_mux(struct i2c_adapter *adap, - void *client, u32 chan) -{ - /* Deselect active channel */ - cpld_mux_data->last_chan = chips[cpld_mux_data->type].deselectChan; - - return delta_i2c_cpld_mux_reg_write(NULL, NULL, cpld_mux_data->last_chan); -} - -/* - * I2C init/probing/exit functions - */ -static int __delta_i2c_cpld_mux_init(void) -{ - struct i2c_adapter *adap = i2c_get_adapter(PARENT_CHAN); - int chan=0; - int ret = -ENODEV; - - memset (&dump_dev, 0, sizeof(dump_dev)); - - if (!i2c_check_functionality(adap, I2C_FUNC_SMBUS_BYTE)) - goto err; - - if (!adap) - goto err; - - cpld_mux_data = kzalloc(sizeof(struct delta_i2c_cpld_mux), GFP_KERNEL); - if (!cpld_mux_data) { - ret = -ENOMEM; - goto err; - } - - cpld_mux_data->type = delta_cpld_mux; - cpld_mux_data->last_chan = chips[cpld_mux_data->type].deselectChan; /* force the first selection */ - - /* Now create an adapter for each channel */ - for (chan = 0; chan < NUM_OF_CPLD_CHANS; chan++) { - cpld_mux_data->virt_adaps[chan] = i2c_add_mux_adapter(adap, &dump_dev, NULL, 0, - chan, - delta_i2c_cpld_mux_select_chan, - delta_i2c_cpld_mux_deselect_mux); - - if (cpld_mux_data->virt_adaps[chan] == NULL) { - ret = -ENODEV; - printk("failed to register multiplexed adapter %d, parent %d\n", chan, PARENT_CHAN); - goto virt_reg_failed; - } - } - - printk("registered %d multiplexed busses for I2C mux bus %d\n", - chan, PARENT_CHAN); - - return 0; - -virt_reg_failed: - for (chan--; chan >= 0; chan--) { - i2c_del_mux_adapter(cpld_mux_data->virt_adaps[chan]); - } - - kfree(cpld_mux_data); -err: - return ret; -} - -static int __delta_i2c_cpld_mux_remove(void) -{ - const struct chip_desc *chip = &chips[cpld_mux_data->type]; - int chan; - - for (chan = 0; chan < chip->nchans; ++chan) { - if (cpld_mux_data->virt_adaps[chan]) { - i2c_del_mux_adapter(cpld_mux_data->virt_adaps[chan]); - cpld_mux_data->virt_adaps[chan] = NULL; - } - } - - kfree(cpld_mux_data); - - return 0; -} - -static int __init delta_i2c_cpld_mux_init(void) -{ - return __delta_i2c_cpld_mux_init (); -} - -static void __exit delta_i2c_cpld_mux_exit(void) -{ - __delta_i2c_cpld_mux_remove (); -} - -MODULE_AUTHOR("Dave Hu "); -MODULE_DESCRIPTION("Delta I2C CPLD mux driver"); -MODULE_LICENSE("GPL"); - -module_init(delta_i2c_cpld_mux_init); -module_exit(delta_i2c_cpld_mux_exit); - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/PKG.yml b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/PKG.yml deleted file mode 100644 index 63b56dc7..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/PKG.yml +++ /dev/null @@ -1 +0,0 @@ -!include $ONL_TEMPLATES/onlp-platform-any.yml PLATFORM=arm-delta-ag6248c ARCH=armel TOOLCHAIN=arm-linux-gnueabi diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/Makefile deleted file mode 100644 index e7437cb2..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -FILTER=src -include $(ONL)/make/subdirs.mk diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/lib/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/lib/Makefile deleted file mode 100644 index 46fdfee8..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/lib/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -############################################################ -# -# -# 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.armel.mk - -MODULE := libonlp-arm-delta-ag6248c -include $(BUILDER)/standardinit.mk - -DEPENDMODULES := AIM IOF arm_delta_ag6248c onlplib -DEPENDMODULE_HEADERS := sff - -include $(BUILDER)/dependmodules.mk - -SHAREDLIB := libonlp-arm-delta-ag6248c.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/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/lib/libonlp-arm-delta-ag6248c.mk b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/lib/libonlp-arm-delta-ag6248c.mk deleted file mode 100644 index 9cf2a027..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/lib/libonlp-arm-delta-ag6248c.mk +++ /dev/null @@ -1,10 +0,0 @@ - -############################################################################### -# -# Inclusive Makefile for the libonlp-arm-delta-ag6248c module. -# -# Autogenerated 2016-07-20 18:27:47.344268 -# -############################################################################### -libonlp-arm-delta-ag6248c_BASEDIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/onlpdump/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/onlpdump/Makefile deleted file mode 100644 index 3fe979f3..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/onlp/builds/onlpdump/Makefile +++ /dev/null @@ -1,45 +0,0 @@ -############################################################ -# -# -# 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.armel.mk - -.DEFAULT_GOAL := onlpdump - -MODULE := onlpdump -include $(BUILDER)/standardinit.mk - -DEPENDMODULES := AIM IOF onlp arm_delta_ag6248c 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/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/PKG.yml b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/PKG.yml deleted file mode 100644 index 16ff5c28..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/PKG.yml +++ /dev/null @@ -1 +0,0 @@ -!include $ONL_TEMPLATES/platform-config-platform.yml ARCH=armel VENDOR=delta BASENAME=arm-delta-ag6248c REVISION=r0 diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/src/lib/arm-delta-ag6248c-r0.yml b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/src/lib/arm-delta-ag6248c-r0.yml deleted file mode 100644 index ba1cbec5..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/src/lib/arm-delta-ag6248c-r0.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- - -###################################################################### -# -# platform-config for AG6248C -# -###################################################################### - -arm-delta-ag6248c-r0: - flat_image_tree: - kernel: - <<: *arm-iproc-kernel - dtb: - =: delta_ag6248c.dtb - <<: *arm-iproc-kernel-package - itb: - <<: *arm-itb - - loader: - device: /dev/mtdblock4 - loadaddr: 0x70000000 - nos_bootcmds: *flash_bootcmds - - environment: - - device: /dev/mtd2 - env_offset: 0x00000000 - env_size: 0x00002000 - sector_size: 0x00010000 - - installer: - - ONL-BOOT: - =: 128MiB - format: ubifs - - ONL-CONFIG: - =: 128MiB - format: ubifs - - ONL-IMAGES: - =: 1024MiB - format: ubifs - - ONL-DATA: - =: 2048MiB - format: ubifs - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/src/python/arm_delta_ag6248c_r0/__init__.py b/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/src/python/arm_delta_ag6248c_r0/__init__.py deleted file mode 100755 index 7d7b97a1..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/arm-delta-ag6248c/platform-config/r0/src/python/arm_delta_ag6248c_r0/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -from onl.platform.base import * -from onl.platform.delta import * - -class OnlPlatform_arm_delta_ag6248c_r0(OnlPlatformDelta,OnlPlatformPortConfig_48x1_2x10): - PLATFORM='arm-delta-ag6248c-r0' - MODEL="AG6248C" - SYS_OBJECT_ID=".6248.2" - - def baseconfig(self): - self.insmod('arm-delta-ag6248c-cpld-mux-1.ko') - self.insmod('arm-delta-ag6248c-cpld-mux-2.ko') - - self.new_i2c_devices( - [ - # initiate lm75 - ('tmp75', 0x49, 0), - ('tmp75', 0x4a, 0), - - - - ] - ) - return True diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/.gitignore b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/.gitignore deleted file mode 100644 index 82fb1eaf..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/arm_delta_ag6248c_poe.mk -/doc diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/.module b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/.module deleted file mode 100644 index 1e18e32c..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/.module +++ /dev/null @@ -1 +0,0 @@ -name: arm_delta_ag6248c diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/Makefile deleted file mode 100644 index bfc40983..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################ -# -# -# Copyright 2014, 2015 Big Switch 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.mk -MODULE := arm_delta_ag6248c -AUTOMODULE := arm_delta_ag6248c -include $(BUILDER)/definemodule.mk diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/arm_delta_ag6248c.doxy b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/arm_delta_ag6248c.doxy deleted file mode 100644 index b13fcf5d..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/arm_delta_ag6248c.doxy +++ /dev/null @@ -1,1869 +0,0 @@ -# Doxyfile 1.8.3.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = "arm_delta_ag6248c" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "Open Network Platform Linux Example Implementation." - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = doc - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. Note that you specify absolute paths here, but also -# relative paths, which will be relative from the directory where doxygen is -# started. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, -# and language is one of the parsers supported by doxygen: IDL, Java, -# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, -# C++. For instance to make doxygen treat .inc files as Fortran files (default -# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note -# that for custom extensions you also need to set FILE_PATTERNS otherwise the -# files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# When enabled doxygen tries to link words that correspond to documented classes, -# or namespaces to their corresponding documentation. Such a link can be -# prevented in individual cases by by putting a percent sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES (the -# default) will make doxygen replace the get and set methods by a property in -# the documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal -# scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if section-label ... \endif -# and \cond section-label ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. Do not use -# file names with spaces, bibtex cannot handle them. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = module/inc - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page (index.html). -# This can be useful if you have a project on for instance GitHub and want reuse -# the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If left blank doxygen will -# generate a default style sheet. Note that it is recommended to use -# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this -# tag will in the future become obsolete. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional -# user-defined cascading style sheet that is included after the standard -# style sheets created by doxygen. Using this option one can overrule -# certain style aspects. This is preferred over using HTML_STYLESHEET -# since it does not replace the standard style sheet and is therefor more -# robust against future updates. Doxygen will copy the style sheet file to -# the output directory. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely -# identify the documentation publisher. This should be a reverse domain-name -# style string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and -# SVG. The default value is HTML-CSS, which is slower, but has the best -# compatibility. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. -# There are two flavours of web server based search depending on the -# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for -# searching and an index file used by the script. When EXTERNAL_SEARCH is -# enabled the indexing and searching needs to be provided by external tools. -# See the manual for details. - -SERVER_BASED_SEARCH = NO - -# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP -# script for searching. Instead the search results are written to an XML file -# which needs to be processed by an external indexer. Doxygen will invoke an -# external search engine pointed to by the SEARCHENGINE_URL option to obtain -# the search results. Doxygen ships with an example indexer (doxyindexer) and -# search engine (doxysearch.cgi) which are based on the open source search engine -# library Xapian. See the manual for configuration details. - -EXTERNAL_SEARCH = NO - -# The SEARCHENGINE_URL should point to a search engine hosted by a web server -# which will returned the search results when EXTERNAL_SEARCH is enabled. -# Doxygen ships with an example search engine (doxysearch) which is based on -# the open source search engine library Xapian. See the manual for configuration -# details. - -SEARCHENGINE_URL = - -# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed -# search data is written to a file for indexing by an external tool. With the -# SEARCHDATA_FILE tag the name of this file can be specified. - -SEARCHDATA_FILE = searchdata.xml - -# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the -# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is -# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple -# projects and redirect the results back to the right project. - -EXTERNAL_SEARCH_ID = - -# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen -# projects other than the one defined by this configuration file, but that are -# all added to the same external search index. Each project needs to have a -# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id -# of to a relative location where the documentation can be found. -# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... - -EXTRA_SEARCH_MAPPINGS = - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50 percent before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/arm_delta_ag6248c.mk b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/arm_delta_ag6248c.mk deleted file mode 100644 index 42ac4368..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/arm_delta_ag6248c.mk +++ /dev/null @@ -1,13 +0,0 @@ - -############################################################################### -# -# Inclusive Makefile for the arm_delta_ag6248c module. -# -# Autogenerated 2017-02-16 14:19:33.628446 -# -############################################################################### -arm_delta_ag6248c_BASEDIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) -include $(arm_delta_ag6248c_BASEDIR)module/make.mk -include $(arm_delta_ag6248c_BASEDIR)module/auto/make.mk -include $(arm_delta_ag6248c_BASEDIR)module/src/make.mk - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/auto/arm_delta_ag6248c.yml b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/auto/arm_delta_ag6248c.yml deleted file mode 100644 index 80f1a97d..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/auto/arm_delta_ag6248c.yml +++ /dev/null @@ -1,67 +0,0 @@ -############################################################ -# -# -# Copyright 2014, 2015 Big Switch 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. -# -# -############################################################ -# -# -############################################################ - -cdefs: &cdefs -- ONLPSIM_CONFIG_INCLUDE_LOGGING: - doc: "Include or exclude logging." - default: 1 -- ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT: - doc: "Default enabled log options." - default: AIM_LOG_OPTIONS_DEFAULT -- ONLPSIM_CONFIG_LOG_BITS_DEFAULT: - doc: "Default enabled log bits." - default: AIM_LOG_BITS_DEFAULT -- ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT: - doc: "Default enabled custom log bits." - default: 0 -- ONLPSIM_CONFIG_PORTING_STDLIB: - doc: "Default all porting macros to use the C standard libraries." - default: 1 -- ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS: - doc: "Include standard library headers for stdlib porting macros." - default: ONLPSIM_CONFIG_PORTING_STDLIB -- ONLPSIM_CONFIG_INCLUDE_UCLI: - doc: "Include generic uCli support." - default: 0 -- ONLPSIM_CONFIG_SFP_COUNT: - doc: "SFP Count." - default: 0 - -definitions: - cdefs: - ONLPSIM_CONFIG_HEADER: - defs: *cdefs - basename: arm_delta_ag6248c_config - - portingmacro: - ONLPSIM: - macros: - - malloc - - free - - memset - - memcpy - - strncpy - - vsnprintf - - snprintf - - strlen diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/auto/make.mk b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/auto/make.mk deleted file mode 100644 index 57889792..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/auto/make.mk +++ /dev/null @@ -1,28 +0,0 @@ -############################################################ -# -# -# Copyright 2014, 2015 Big Switch 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. -# -# -############################################################ -# -# -############################################################ - -arm_delta_ag6248c_AUTO_DEFS := module/auto/arm_delta_ag6248c.yml -arm_delta_ag6248c_AUTO_DIRS := module/inc/arm_delta_ag6248c module/src -include $(BUILDER)/auto.mk - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c.x b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c.x deleted file mode 100644 index f15500cc..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c.x +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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 - -/* <--auto.start.xmacro(ALL).define> */ -/* */ - -/* <--auto.start.xenum(ALL).define> */ -/* */ - - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_config.h b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_config.h deleted file mode 100644 index 68664185..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_config.h +++ /dev/null @@ -1,162 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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. - * - * - ************************************************************ - * - * - * - ***********************************************************/ - -/**************************************************************************//** - * - * @file - * @brief arm_delta_ag6248c Configuration Header - * - * @addtogroup arm_delta_ag6248c-config - * @{ - * - *****************************************************************************/ -#ifndef __ONLPSIM_CONFIG_H__ -#define __ONLPSIM_CONFIG_H__ - -#ifdef GLOBAL_INCLUDE_CUSTOM_CONFIG -#include -#endif -#ifdef ONLPSIM_INCLUDE_CUSTOM_CONFIG -#include -#endif - -/* */ -#include -/** - * ONLPSIM_CONFIG_INCLUDE_LOGGING - * - * Include or exclude logging. */ - - -#ifndef ONLPSIM_CONFIG_INCLUDE_LOGGING -#define ONLPSIM_CONFIG_INCLUDE_LOGGING 1 -#endif - -/** - * ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT - * - * Default enabled log options. */ - - -#ifndef ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT -#define ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT AIM_LOG_OPTIONS_DEFAULT -#endif - -/** - * ONLPSIM_CONFIG_LOG_BITS_DEFAULT - * - * Default enabled log bits. */ - - -#ifndef ONLPSIM_CONFIG_LOG_BITS_DEFAULT -#define ONLPSIM_CONFIG_LOG_BITS_DEFAULT AIM_LOG_BITS_DEFAULT -#endif - -/** - * ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT - * - * Default enabled custom log bits. */ - - -#ifndef ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT -#define ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT 0 -#endif - -/** - * ONLPSIM_CONFIG_PORTING_STDLIB - * - * Default all porting macros to use the C standard libraries. */ - - -#ifndef ONLPSIM_CONFIG_PORTING_STDLIB -#define ONLPSIM_CONFIG_PORTING_STDLIB 1 -#endif - -/** - * ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS - * - * Include standard library headers for stdlib porting macros. */ - - -#ifndef ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS -#define ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS ONLPSIM_CONFIG_PORTING_STDLIB -#endif - -/** - * ONLPSIM_CONFIG_INCLUDE_UCLI - * - * Include generic uCli support. */ - - -#ifndef ONLPSIM_CONFIG_INCLUDE_UCLI -#define ONLPSIM_CONFIG_INCLUDE_UCLI 0 -#endif - -/** - * ONLPSIM_CONFIG_SFP_COUNT - * - * SFP Count. */ - - -#ifndef ONLPSIM_CONFIG_SFP_COUNT -#define ONLPSIM_CONFIG_SFP_COUNT 0 -#endif - - - -/** - * All compile time options can be queried or displayed - */ - -/** Configuration settings structure. */ -typedef struct arm_delta_ag6248c_config_settings_s { - /** name */ - const char* name; - /** value */ - const char* value; -} arm_delta_ag6248c_config_settings_t; - -/** Configuration settings table. */ -/** arm_delta_ag6248c_config_settings table. */ -extern arm_delta_ag6248c_config_settings_t arm_delta_ag6248c_config_settings[]; - -/** - * @brief Lookup a configuration setting. - * @param setting The name of the configuration option to lookup. - */ -const char* arm_delta_ag6248c_config_lookup(const char* setting); - -/** - * @brief Show the compile-time configuration. - * @param pvs The output stream. - */ -int arm_delta_ag6248c_config_show(struct aim_pvs_s* pvs); - -/* */ - -#include "arm_delta_ag6248c_porting.h" - -#endif /* __ONLPSIM_CONFIG_H__ */ -/* @} */ diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_dox.h b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_dox.h deleted file mode 100644 index 20f312ed..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_dox.h +++ /dev/null @@ -1,51 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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. - * - * - ************************************************************ - * - * - * - ***********************************************************/ - -/********************************************************//** - * - * arm_delta_ag6248c Doxygen Header - * - ***********************************************************/ -#ifndef __ONLPSIM_DOX_H__ -#define __ONLPSIM_DOX_H__ - -/** - * @defgroup arm_delta_ag6248c arm_delta_ag6248c - onlpsim Description - * - -The documentation overview for this module should go here. - - * - * @{ - * - * @defgroup arm_delta_ag6248c-arm_delta_ag6248c Public Interface - * @defgroup arm_delta_ag6248c-config Compile Time Configuration - * @defgroup arm_delta_ag6248c-porting Porting Macros - * - * @} - * - */ - -#endif /* __ONLPSIM_DOX_H__ */ diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_porting.h b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_porting.h deleted file mode 100644 index 19853401..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/inc/arm_delta_ag6248c/arm_delta_ag6248c_porting.h +++ /dev/null @@ -1,132 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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. - * - * - ************************************************************ - * - * - * - ***********************************************************/ - -/********************************************************//** - * - * @file - * @brief arm_delta_ag6248c Porting Macros. - * - * @addtogroup arm_delta_ag6248c-porting - * @{ - * - ***********************************************************/ -#ifndef __ONLPSIM_PORTING_H__ -#define __ONLPSIM_PORTING_H__ - - -/* */ -#if ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS == 1 -#include -#include -#include -#include -#include -#endif - -#ifndef ONLPSIM_MALLOC - #if defined(GLOBAL_MALLOC) - #define ONLPSIM_MALLOC GLOBAL_MALLOC - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_MALLOC malloc - #else - #error The macro ONLPSIM_MALLOC is required but cannot be defined. - #endif -#endif - -#ifndef ONLPSIM_FREE - #if defined(GLOBAL_FREE) - #define ONLPSIM_FREE GLOBAL_FREE - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_FREE free - #else - #error The macro ONLPSIM_FREE is required but cannot be defined. - #endif -#endif - -#ifndef ONLPSIM_MEMSET - #if defined(GLOBAL_MEMSET) - #define ONLPSIM_MEMSET GLOBAL_MEMSET - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_MEMSET memset - #else - #error The macro ONLPSIM_MEMSET is required but cannot be defined. - #endif -#endif - -#ifndef ONLPSIM_MEMCPY - #if defined(GLOBAL_MEMCPY) - #define ONLPSIM_MEMCPY GLOBAL_MEMCPY - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_MEMCPY memcpy - #else - #error The macro ONLPSIM_MEMCPY is required but cannot be defined. - #endif -#endif - -#ifndef ONLPSIM_STRNCPY - #if defined(GLOBAL_STRNCPY) - #define ONLPSIM_STRNCPY GLOBAL_STRNCPY - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_STRNCPY strncpy - #else - #error The macro ONLPSIM_STRNCPY is required but cannot be defined. - #endif -#endif - -#ifndef ONLPSIM_VSNPRINTF - #if defined(GLOBAL_VSNPRINTF) - #define ONLPSIM_VSNPRINTF GLOBAL_VSNPRINTF - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_VSNPRINTF vsnprintf - #else - #error The macro ONLPSIM_VSNPRINTF is required but cannot be defined. - #endif -#endif - -#ifndef ONLPSIM_SNPRINTF - #if defined(GLOBAL_SNPRINTF) - #define ONLPSIM_SNPRINTF GLOBAL_SNPRINTF - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_SNPRINTF snprintf - #else - #error The macro ONLPSIM_SNPRINTF is required but cannot be defined. - #endif -#endif - -#ifndef ONLPSIM_STRLEN - #if defined(GLOBAL_STRLEN) - #define ONLPSIM_STRLEN GLOBAL_STRLEN - #elif ONLPSIM_CONFIG_PORTING_STDLIB == 1 - #define ONLPSIM_STRLEN strlen - #else - #error The macro ONLPSIM_STRLEN is required but cannot be defined. - #endif -#endif - -/* */ - - -#endif /* __ONLPSIM_PORTING_H__ */ -/* @} */ diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/make.mk b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/make.mk deleted file mode 100644 index 29f7a9f3..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/make.mk +++ /dev/null @@ -1,29 +0,0 @@ -############################################################ -# -# -# Copyright 2014, 2015 Big Switch 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. -# -# -############################################################ -# -# -# -############################################################ -THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) -arm_delta_ag6248c_INCLUDES := -I $(THIS_DIR)inc -arm_delta_ag6248c_INTERNAL_INCLUDES := -I $(THIS_DIR)src -arm_delta_ag6248c_DEPENDMODULE_ENTRIES := init:arm_delta_ag6248c ucli:arm_delta_ag6248c - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/Makefile b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/Makefile deleted file mode 100644 index 94aa2ec9..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -############################################################ -# -# -# Copyright 2014, 2015 Big Switch 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. -# -# -############################################################ -# -# Local source generation targets. -# -############################################################ - -include ../../../../init.mk - -ucli: - $(SUBMODULE_BIGCODE)/tools/uclihandlers.py arm_delta_ag6248c_ucli.c - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_config.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_config.c deleted file mode 100644 index 6447135c..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_config.c +++ /dev/null @@ -1,101 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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 - -/* */ -#define __arm_delta_ag6248c_config_STRINGIFY_NAME(_x) #_x -#define __arm_delta_ag6248c_config_STRINGIFY_VALUE(_x) __arm_delta_ag6248c_config_STRINGIFY_NAME(_x) -arm_delta_ag6248c_config_settings_t arm_delta_ag6248c_config_settings[] = -{ -#ifdef ONLPSIM_CONFIG_INCLUDE_LOGGING - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_INCLUDE_LOGGING), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_INCLUDE_LOGGING) }, -#else -{ ONLPSIM_CONFIG_INCLUDE_LOGGING(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif -#ifdef ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT) }, -#else -{ ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif -#ifdef ONLPSIM_CONFIG_LOG_BITS_DEFAULT - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_LOG_BITS_DEFAULT), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_LOG_BITS_DEFAULT) }, -#else -{ ONLPSIM_CONFIG_LOG_BITS_DEFAULT(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif -#ifdef ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT) }, -#else -{ ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif -#ifdef ONLPSIM_CONFIG_PORTING_STDLIB - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_PORTING_STDLIB), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_PORTING_STDLIB) }, -#else -{ ONLPSIM_CONFIG_PORTING_STDLIB(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif -#ifdef ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS) }, -#else -{ ONLPSIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif -#ifdef ONLPSIM_CONFIG_INCLUDE_UCLI - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_INCLUDE_UCLI), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_INCLUDE_UCLI) }, -#else -{ ONLPSIM_CONFIG_INCLUDE_UCLI(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif -#ifdef ONLPSIM_CONFIG_SFP_COUNT - { __arm_delta_ag6248c_config_STRINGIFY_NAME(ONLPSIM_CONFIG_SFP_COUNT), __arm_delta_ag6248c_config_STRINGIFY_VALUE(ONLPSIM_CONFIG_SFP_COUNT) }, -#else -{ ONLPSIM_CONFIG_SFP_COUNT(__arm_delta_ag6248c_config_STRINGIFY_NAME), "__undefined__" }, -#endif - { NULL, NULL } -}; -#undef __arm_delta_ag6248c_config_STRINGIFY_VALUE -#undef __arm_delta_ag6248c_config_STRINGIFY_NAME - -const char* -arm_delta_ag6248c_config_lookup(const char* setting) -{ - int i; - for(i = 0; arm_delta_ag6248c_config_settings[i].name; i++) { - if(strcmp(arm_delta_ag6248c_config_settings[i].name, setting)) { - return arm_delta_ag6248c_config_settings[i].value; - } - } - return NULL; -} - -int -arm_delta_ag6248c_config_show(struct aim_pvs_s* pvs) -{ - int i; - for(i = 0; arm_delta_ag6248c_config_settings[i].name; i++) { - aim_printf(pvs, "%s = %s\n", arm_delta_ag6248c_config_settings[i].name, arm_delta_ag6248c_config_settings[i].value); - } - return i; -} - -/* */ - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_enums.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_enums.c deleted file mode 100644 index 2a14c2cc..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_enums.c +++ /dev/null @@ -1,30 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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 - -/* <--auto.start.enum(ALL).source> */ -/* */ - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_int.h b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_int.h deleted file mode 100644 index 8dfd2c7c..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_int.h +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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. - * - * - ************************************************************ - * - * - * - ***********************************************************/ - -#ifndef __ONLPSIM_INT_H__ -#define __ONLPSIM_INT_H__ - -#include - - -#endif /* __ONLPSIM_INT_H__ */ diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_log.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_log.c deleted file mode 100644 index 1941f294..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_log.c +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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 - -#include "arm_delta_ag6248c_log.h" -/* - * arm_delta_ag6248c log struct. - */ -AIM_LOG_STRUCT_DEFINE( - ONLPSIM_CONFIG_LOG_OPTIONS_DEFAULT, - ONLPSIM_CONFIG_LOG_BITS_DEFAULT, - NULL, /* Custom log map */ - ONLPSIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT - ); - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_log.h b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_log.h deleted file mode 100644 index 13d00bc5..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_log.h +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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. - * - * - ************************************************************ - * - * - * - ***********************************************************/ - -#ifndef __ONLPSIM_LOG_H__ -#define __ONLPSIM_LOG_H__ - -#define AIM_LOG_MODULE_NAME arm_delta_ag6248c -#include - -#endif /* __ONLPSIM_LOG_H__ */ diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_module.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_module.c deleted file mode 100644 index fdb080f0..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_module.c +++ /dev/null @@ -1,44 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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 - -#include "arm_delta_ag6248c_log.h" - -static int -datatypes_init__(void) -{ -#define ONLPSIM_ENUMERATION_ENTRY(_enum_name, _desc) AIM_DATATYPE_MAP_REGISTER(_enum_name, _enum_name##_map, _desc, AIM_LOG_INTERNAL); -#include - return 0; -} - -void __arm_delta_ag6248c_module_init__(void) -{ - AIM_LOG_STRUCT_REGISTER(); - datatypes_init__(); -} - -int __onlp_platform_version__ = 1; diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_ucli.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_ucli.c deleted file mode 100644 index 4dbeeed0..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_ag6248c_ucli.c +++ /dev/null @@ -1,82 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch 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 - -#if ONLPSIM_CONFIG_INCLUDE_UCLI == 1 - -#include -#include -#include - -static ucli_status_t -arm_delta_ag6248c_ucli_ucli__config__(ucli_context_t* uc) -{ - UCLI_HANDLER_MACRO_MODULE_CONFIG(arm_delta_ag6248c) -} - -/* */ -/****************************************************************************** - * - * These handler table(s) were autogenerated from the symbols in this - * source file. - * - *****************************************************************************/ -static ucli_command_handler_f arm_delta_ag6248c_ucli_ucli_handlers__[] = -{ - arm_delta_ag6248c_ucli_ucli__config__, - NULL -}; -/******************************************************************************/ -/* */ - -static ucli_module_t -arm_delta_ag6248c_ucli_module__ = - { - "arm_delta_ag6248c_ucli", - NULL, - arm_delta_ag6248c_ucli_ucli_handlers__, - NULL, - NULL, - }; - -ucli_node_t* -arm_delta_ag6248c_ucli_node_create(void) -{ - ucli_node_t* n; - ucli_module_init(&arm_delta_ag6248c_ucli_module__); - n = ucli_node_create("arm_delta_ag6248c", NULL, &arm_delta_ag6248c_ucli_module__); - ucli_node_subnode_add(n, ucli_module_log_node_create("arm_delta_ag6248c")); - return n; -} - -#else -void* -arm_delta_ag6248c_ucli_node_create(void) -{ - return NULL; -} -#endif - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_i2c.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_i2c.c deleted file mode 100755 index a7a83e0e..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_i2c.c +++ /dev/null @@ -1,141 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta Networks, Inc - * Copyright 2017 Delta 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "arm_delta_ag6248c_log.h" -#include "arm_delta_i2c.h" -#include - -struct i2c_device_info i2c_device_list[]={ - {"RTC",0X0,0X68}, - {"TMP1_CLOSE_TO_MAC",0X0,0X49}, - {"TMP2_CLOSE_TO_PHY",0X0,0X4a}, - {"CPLD",0X0,0X28}, - {"FAN_ON_BOARD",0X1,0X2C}, - {"CURT_MONTOR",0X1,0X40}, - {"SFP1",0X2,0X50}, - {"SFP2",0X3,0X50}, -// ------------------------- - {"PSU1_PMBUS",0X4,0X58}, - {"PSU2_PMBUS",0X5,0X59}, - {"PSU1_EEPROM",0X4,0X50}, - {"PSU2_EEPROM",0X5,0X51}, -// ------------------------- - {"PSU1_PMBUS_POE",0X4,0X58}, - {"PSU2_PMBUS_POE",0X5,0X58}, - {"PSU1_EEPROM_POE",0X4,0X52}, - {"PSU2_EEPROM_POE",0X5,0X52}, - {NULL, -1,-1}, -}; - - -uint32_t i2c_flag=ONLP_I2C_F_FORCE; - - -i2c_device_info_t *i2c_dev_find_by_name (char *name) -{ - i2c_device_info_t *i2c_dev = i2c_device_list; - - if (name == NULL) return NULL; - - while (i2c_dev->name) { - if (strcmp (name, i2c_dev->name) == 0) break; - ++ i2c_dev; - } - if (i2c_dev->name == NULL) return NULL; - - return i2c_dev; -} - -int i2c_devname_read_byte (char *name, int reg) -{ - int ret=-1; - i2c_device_info_t *i2c_dev = i2c_dev_find_by_name (name); - - if(i2c_dev==NULL) return -1; - - ret=onlp_i2c_readb (i2c_dev->i2cbus, i2c_dev->addr, reg, i2c_flag); - - return ret; -} - -int i2c_devname_write_byte (char *name, int reg, int value) -{ - int ret=-1; - i2c_device_info_t *i2c_dev = i2c_dev_find_by_name (name); - - if(i2c_dev==NULL) return -1; - - ret=onlp_i2c_writeb (i2c_dev->i2cbus, i2c_dev->addr, reg, value, i2c_flag); - - - return ret; -} - -int i2c_devname_read_word (char *name, int reg) -{ - int ret=-1; - i2c_device_info_t *i2c_dev = i2c_dev_find_by_name (name); - - if(i2c_dev==NULL) return -1; - - ret=onlp_i2c_readw (i2c_dev->i2cbus, i2c_dev->addr, reg, i2c_flag); - - return ret; -} - -int i2c_devname_write_word (char *name, int reg, int value) -{ - int ret=-1; - i2c_device_info_t *i2c_dev = i2c_dev_find_by_name (name); - - if(i2c_dev==NULL) return -1; - - ret=onlp_i2c_writew (i2c_dev->i2cbus, i2c_dev->addr, reg, value, i2c_flag); - - return ret; -} - -int i2c_devname_read_block (char *name, int reg, uint8_t *buff, int buff_size) -{ - int ret = -1; - - i2c_device_info_t *i2c_dev = i2c_dev_find_by_name (name); - - if(i2c_dev==NULL) return -1; - - ret = onlp_i2c_block_read (i2c_dev->i2cbus, i2c_dev->addr, reg, buff_size, buff, i2c_flag); - - return ret; - -} - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_i2c.h b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_i2c.h deleted file mode 100755 index 76c35cbb..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/arm_delta_i2c.h +++ /dev/null @@ -1,54 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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. - * - * - ************************************************************/ -/* the i2c struct header*/ - -#ifndef __ARM_DELTA_I2C_H__ -#define __ARM_DELTA_I2C_H__ - -#include "arm_delta_ag6248c_log.h" - -struct i2c_device_info { - /*i2c device name*/ - char *name; - char i2cbus; - char addr; -}; - - -typedef struct i2c_device_info i2c_device_info_t; - -extern struct i2c_device_info i2c_device_list[]; - - -extern int i2c_devname_read_byte(char *name, int reg); - -extern int i2c_devname_write_byte(char *name, int reg, int value); - - -extern int i2c_devname_read_word(char *name, int reg); - -extern int i2c_devname_write_word(char *name, int reg, int value); - - -extern int i2c_devname_read_block (char *name, int reg, uint8_t *buff, int buff_size); - -#endif diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/fani.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/fani.c deleted file mode 100755 index b0c16526..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/fani.c +++ /dev/null @@ -1,470 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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. - * - * - ************************************************************ - * - * Fan Platform Implementation Defaults. - * - ***********************************************************/ -#include -#include -#include -#include "platform_lib.h" -#include "arm_delta_ag6248c_int.h" -#include "arm_delta_i2c.h" -#include - -#define MAX_FAN_SPEED 12000 -#define MAX_PSU_FAN_SPEED 23000 - -#define FILE_NAME_LEN 80 - -/* The MAX6639 registers, valid channel numbers: 0, 1 */ -#define MAX6639_REG_STATUS 0x02 -#define MAX6639_REG_FAN_CONFIG1(ch) (0x10 + 4*(ch-1)) -#define MAX6639_REG_FAN_CNT(ch) (0x20 + (ch-1)) -#define MAX6639_REG_TARGET_CNT(ch) (0x22 + (ch-1)) - -/*define the reg bit mask*/ -#define MAX6639_REG_FAN_STATUS_BIT(ch) (0X02>>(ch-1)) -#define MAX6639_FAN_CONFIG1_RPM_RANGE 0x03 -#define MAX6639_FAN_PRESENT_REG (0x0c) -#define MAX6639_FAN_PRESENT_BIT (0x2) -#define MAX6639_FAN_GOOD_BIT (0x1) -#define FAN_FROM_REG(val) ((480000.0) / (val)) - -static int fan_initd=0; - -enum onlp_fan_id -{ - FAN_RESERVED = 0, - FAN_1_ON_MAIN_BOARD, - FAN_2_ON_MAIN_BOARD, - FAN_1_ON_PSU1, - FAN_1_ON_PSU2 -}; - -#define MAKE_FAN_INFO_NODE_ON_MAIN_BOARD(id) \ - { \ - { ONLP_FAN_ID_CREATE(FAN_##id##_ON_MAIN_BOARD), "Chassis Fan "#id, 0 }, \ - ONLP_FAN_STATUS_B2F | ONLP_FAN_STATUS_PRESENT, \ - (ONLP_FAN_CAPS_SET_PERCENTAGE |ONLP_FAN_CAPS_SET_RPM| ONLP_FAN_CAPS_GET_RPM | ONLP_FAN_CAPS_GET_PERCENTAGE), \ - 0, \ - 0, \ - ONLP_FAN_MODE_INVALID, \ - } - -#define MAKE_FAN_INFO_NODE_ON_PSU(psu_id, fan_id) \ - { \ - { ONLP_FAN_ID_CREATE(FAN_##fan_id##_ON_PSU##psu_id), "Chassis PSU-"#psu_id " Fan "#fan_id, 0 }, \ - ONLP_FAN_STATUS_B2F | ONLP_FAN_STATUS_PRESENT, \ - (ONLP_FAN_CAPS_GET_RPM | ONLP_FAN_CAPS_GET_PERCENTAGE), \ - 0, \ - 0, \ - ONLP_FAN_MODE_INVALID, \ - } - -/* Static fan information */ -onlp_fan_info_t linfo[] = { - { }, /* Not used */ - MAKE_FAN_INFO_NODE_ON_MAIN_BOARD(1), - MAKE_FAN_INFO_NODE_ON_MAIN_BOARD(2), - MAKE_FAN_INFO_NODE_ON_PSU(1,1), - MAKE_FAN_INFO_NODE_ON_PSU(2,1), -}; - -#define VALIDATE(_id) \ - do { \ - if(!ONLP_OID_IS_FAN(_id)) { \ - return ONLP_STATUS_E_INVALID; \ - } \ - } while(0) - -static int - _onlp_psu_fan_val_to_rpm (int v) -{ - int lf = (v & 0xffff); - int y, n; - - y = lf & 0x7ff; - n = ((lf >> 11) & 0x1f); - - return (y * (1 << n)); -} - -static int -_onlp_fan_board_init(void) -{ - i2c_devname_write_byte("FAN_ON_BOARD", 0x03,0xfc); - i2c_devname_write_byte("FAN_ON_BOARD", 0x04,0x30); - - i2c_devname_write_byte("FAN_ON_BOARD", 0x10,0x23); - i2c_devname_write_byte("FAN_ON_BOARD", 0x11,0x00); - i2c_devname_write_byte("FAN_ON_BOARD", 0x12,0x00); - i2c_devname_write_byte("FAN_ON_BOARD", 0x13,0x21); - i2c_devname_write_byte("FAN_ON_BOARD", 0x24,0xe8); - - i2c_devname_write_byte("FAN_ON_BOARD", 0x14,0x23); - i2c_devname_write_byte("FAN_ON_BOARD", 0x15,0x00); - i2c_devname_write_byte("FAN_ON_BOARD", 0x16,0x00); - i2c_devname_write_byte("FAN_ON_BOARD", 0x17,0x21); - i2c_devname_write_byte("FAN_ON_BOARD", 0x25,0xe8); - - fan_initd=1; - - return ONLP_STATUS_OK; -} - -static int -_onlp_fani_info_get_fan(int local_id, onlp_fan_info_t* info) -{ - int r_data,fan_good,fan_present,fan_fault; - - /* init the fan on the board*/ - if(fan_initd==0) - _onlp_fan_board_init(); - /* get fan fault status (turn on when any one fails)*/ - r_data= i2c_devname_read_byte("CPLD",MAX6639_FAN_PRESENT_REG); - - if(r_data<0) - return ONLP_STATUS_E_INVALID; - - fan_present = r_data & MAX6639_FAN_PRESENT_BIT; - - if(!fan_present){ - - info->status |= ONLP_FAN_STATUS_PRESENT; - - fan_good=r_data&MAX6639_FAN_GOOD_BIT; - - if(fan_good) - info->status&=~ONLP_FAN_STATUS_FAILED; - else{ - r_data = i2c_devname_read_byte("FAN_ON_BOARD", MAX6639_REG_STATUS); - - if(r_data<0) - return ONLP_STATUS_E_INVALID; - - fan_fault=r_data & MAX6639_REG_FAN_STATUS_BIT(local_id); - - if(!fan_fault) - info->status &=~ ONLP_FAN_STATUS_FAILED; - else{ - info->status |=ONLP_FAN_STATUS_FAILED; - info->rpm=0; - info->percentage=0; - goto mode; - } - } - } - else{ - info->status &= ~ONLP_FAN_STATUS_PRESENT; - return ONLP_STATUS_OK; - } - - /* get fan speed */ - r_data = i2c_devname_read_byte("FAN_ON_BOARD", MAX6639_REG_FAN_CNT(local_id)); - - if(r_data<0) - return ONLP_STATUS_E_INVALID; - - info->rpm = FAN_FROM_REG(r_data); - - /* get speed percentage from rpm */ - info->percentage = (info->rpm * 100.0) / MAX_FAN_SPEED; - -mode: - if(info->percentage>100) - strcpy(info->model,"ONLP_FAN_MODE_LAST"); - else if(info->percentage==100) - strcpy(info->model,"ONLP_FAN_MODE_MAX"); - else if(info->percentage>=75&&info->percentage<100) - strcpy(info->model,"ONLP_FAN_MODE_FAST"); - else if(info->percentage>=35&&info->percentage<75) - strcpy(info->model,"ONLP_FAN_MODE_NORMAL"); - else if(info->percentage>0&&info->percentage<35) - strcpy(info->model,"ONLP_FAN_MODE_SLOW"); - else if(info->percentage<=0) - strcpy(info->model,"ONLP_FAN_MODE_OFF"); - else{ } - - return ONLP_STATUS_OK; -} - -static int -_onlp_fani_info_get_fan_on_psu(int local_id, onlp_fan_info_t* info) -{ - int psu_id; - int r_data,fan_rpm; - int psu_present; - int psu_good; - psu_type_t psu_type; - - enum ag6248c_product_id pid = get_product_id(); - /* get fan fault status - */ - psu_id = (local_id - FAN_1_ON_PSU1) + 1; - DEBUG_PRINT("[Debug][%s][%d][psu_id: %d]\n", __FUNCTION__, __LINE__, psu_id); - - psu_type = get_psu_type(psu_id); /* psu_id = 1 , present PSU1. pus_id =2 , present PSU2 */ - DEBUG_PRINT("[Debug][%s][%d][psu_type: %d]\n", __FUNCTION__, __LINE__, psu_type); - psu_present=psu_status_info_get(psu_id, "present"); - psu_good=psu_status_info_get(psu_id, "good"); - if((psu_present<=0)||(psu_good<=0)){ - info->status &= ~ONLP_FAN_STATUS_PRESENT; - return ONLP_STATUS_OK; - } - - switch (psu_type) { - case PSU_TYPE_AC_F2B: - info->status |= (ONLP_FAN_STATUS_PRESENT | ONLP_FAN_STATUS_F2B); - break; - case PSU_TYPE_AC_B2F: - info->status |= (ONLP_FAN_STATUS_PRESENT | ONLP_FAN_STATUS_B2F); - break; - default: - return ONLP_STATUS_E_UNSUPPORTED; - } - - /* get fan speed*/ - if(pid == PID_AG6248C_48){ - if(psu_id==1) - r_data=i2c_devname_read_word("PSU1_PMBUS", 0x90); - else - r_data=i2c_devname_read_word("PSU2_PMBUS", 0x90); - } - else{ - if(psu_id==1) - r_data=i2c_devname_read_word("PSU1_PMBUS_POE", 0x90); - else - r_data=i2c_devname_read_word("PSU2_PMBUS_POE", 0x90); - } - - if(r_data<0) - return ONLP_STATUS_E_INVALID; - - fan_rpm=_onlp_psu_fan_val_to_rpm(r_data); - - info->rpm = fan_rpm; - - /* get speed percentage from rpm */ - info->percentage = (info->rpm * 100.0) / MAX_PSU_FAN_SPEED; - - if(info->percentage>100) - strcpy(info->model,"ONLP_FAN_MODE_LAST"); - else if(info->percentage==100) - strcpy(info->model,"ONLP_FAN_MODE_MAX"); - else if(info->percentage>=75&&info->percentage<100) - strcpy(info->model,"ONLP_FAN_MODE_FAST"); - else if(info->percentage>=35&&info->percentage<75) - strcpy(info->model,"ONLP_FAN_MODE_NORMAL"); - else if(info->percentage>0&&info->percentage<35) - strcpy(info->model,"ONLP_FAN_MODE_SLOW"); - else if(info->percentage<=0) - strcpy(info->model,"ONLP_FAN_MODE_OFF"); - else{} - - return ONLP_STATUS_OK; -} - -/* - * This function will be called prior to all of onlp_fani_* functions. - */ -int -onlp_fani_init(void) -{ - int rc; - rc=_onlp_fan_board_init(); - return rc; -} - -int -onlp_fani_info_get(onlp_oid_t id, onlp_fan_info_t* info) -{ - int rc = 0; - int local_id; - - VALIDATE(id); - - local_id = ONLP_OID_ID_GET(id); - - if (chassis_fan_count() == 0) { - local_id += 1; - } - - *info = linfo[local_id]; - - switch (local_id) - { - case FAN_1_ON_PSU1: - case FAN_1_ON_PSU2: - rc = _onlp_fani_info_get_fan_on_psu(local_id, info); - break; - case FAN_1_ON_MAIN_BOARD: - case FAN_2_ON_MAIN_BOARD: - rc =_onlp_fani_info_get_fan(local_id, info); - break; - default: - rc = ONLP_STATUS_E_INVALID; - break; - } - - return rc; -} - -/* - * This function sets the speed of the given fan in RPM. - * - * This function will only be called if the fan supprots the RPM_SET - * capability. - * - * It is optional if you have no fans at all with this feature. - */ -int -onlp_fani_rpm_set(onlp_oid_t id, int rpm) -{ /* - the rpm is the actual rpm/1000. so 16 represents the 16000(max spd) - */ - int fan_set_rpm_cont,rc; - int local_id; - int actual_rpm=rpm; - - VALIDATE(id); - - local_id = ONLP_OID_ID_GET(id); - - if((local_id==FAN_1_ON_PSU1)||(local_id==FAN_1_ON_PSU2)) - return ONLP_STATUS_E_UNSUPPORTED; - - if (chassis_fan_count() == 0) { - return ONLP_STATUS_E_INVALID; - } - /* init the fan on the board*/ - if(fan_initd==0) - _onlp_fan_board_init(); - - /* reject rpm=0 (rpm=0, stop fan) */ - if (actual_rpm == 0) - return ONLP_STATUS_E_INVALID; - - /*get ret value for the speed set*/ - fan_set_rpm_cont=FAN_FROM_REG(actual_rpm); - - /*set the rpm speed */ - rc=i2c_devname_write_byte("FAN_ON_BOARD", MAX6639_REG_TARGET_CNT(local_id), fan_set_rpm_cont); - - if(rc<0) - return ONLP_STATUS_E_INVALID; - - return ONLP_STATUS_OK; -} -/*set the percentage for the psu fan*/ - - -/* - * This function sets the fan speed of the given OID as a percentage. - * - * This will only be called if the OID has the PERCENTAGE_SET - * capability. - * - * It is optional if you have no fans at all with this feature. - */ -int -onlp_fani_percentage_set(onlp_oid_t id, int p) -{ - /* - p is between 0 and 100 ,p=100 represents 16000(max spd) - */ - int rpm_val,fan_set_rpm_cont,rc; - int local_id; - - VALIDATE(id); - - local_id = ONLP_OID_ID_GET(id); - - if((local_id==FAN_1_ON_PSU1)||(local_id==FAN_1_ON_PSU2)) - return ONLP_STATUS_E_UNSUPPORTED; - - if (chassis_fan_count() == 0) { - return ONLP_STATUS_E_INVALID; - } - - /* init the fan on the board*/ - if(fan_initd==0) - _onlp_fan_board_init(); - - /* reject p=0 (p=0, stop fan) */ - if (p == 0){ - return ONLP_STATUS_E_INVALID; - } - - rpm_val=p*(MAX_FAN_SPEED/100); - - /*get ret value for the speed set*/ - fan_set_rpm_cont=FAN_FROM_REG(rpm_val); - - /*set the rpm speed */ - rc=i2c_devname_write_byte("FAN_ON_BOARD", MAX6639_REG_TARGET_CNT(local_id), fan_set_rpm_cont); - - if(rc<0) - return ONLP_STATUS_E_INVALID; - - return ONLP_STATUS_OK; - - -} - - -/* - * This function sets the fan speed of the given OID as per - * the predefined ONLP fan speed modes: off, slow, normal, fast, max. - * - * Interpretation of these modes is up to the platform. - * - */ -int -onlp_fani_mode_set(onlp_oid_t id, onlp_fan_mode_t mode) -{ - return ONLP_STATUS_E_UNSUPPORTED; -} - -/* - * This function sets the fan direction of the given OID. - * - * This function is only relevant if the fan OID supports both direction - * capabilities. - * - * This function is optional unless the functionality is available. - */ -int -onlp_fani_dir_set(onlp_oid_t id, onlp_fan_dir_t dir) -{ - return ONLP_STATUS_E_UNSUPPORTED; -} - -/* - * Generic fan ioctl. Optional. - */ -int -onlp_fani_ioctl(onlp_oid_t id, va_list vargs) -{ - return ONLP_STATUS_E_UNSUPPORTED; -} - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/ledi.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/ledi.c deleted file mode 100755 index 1a0ea7bb..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/ledi.c +++ /dev/null @@ -1,352 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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 -#include -#include -#include -#include - -#include -#include "platform_lib.h" -#include "arm_delta_ag6248c_int.h" -#include "arm_delta_i2c.h" -#define VALIDATE(_id) \ - do { \ - if(!ONLP_OID_IS_LED(_id)) { \ - return ONLP_STATUS_E_INVALID; \ - } \ - } while(0) - - -#define CPLD_LED_MODE_REG (0X0A) -#define CPLD_LED_MODE_TEMP_REG (0X0B) -#define CPLD_LED_MODE_REG_BIT(ch) (0x3<<2*((ch)-1)) -#define CPLD_LED_MODE_TEMP_REG_BIT (0x0C) -#define CPLD_LED_MODE_MASTER_REG_BIT (0x02) -#define CPLD_LED_MODE_REG_OFFSET(ch) (2*((ch)-1)) -#define CPLD_LED_MODE_TEMP_REG_OFFSET (2) -#define CPLD_LED_MODE_MASTER_REG_OFFSET (1) - - -/* - * Get the information for the given LED OID. - */ -static onlp_led_info_t linfo[] = -{ - { }, /* Not used */ - { - { ONLP_LED_ID_CREATE(LED_SYS), "sys", 0 }, - ONLP_LED_STATUS_PRESENT, - ONLP_LED_CAPS_GREEN_BLINKING |ONLP_LED_CAPS_GREEN | - ONLP_LED_CAPS_RED_BLINKING | ONLP_LED_CAPS_RED , - }, - - { - { ONLP_LED_ID_CREATE(LED_FAN), "fan", 0 }, - ONLP_LED_STATUS_PRESENT, ONLP_LED_CAPS_ON_OFF | - ONLP_LED_CAPS_GREEN | ONLP_LED_CAPS_RED, - }, - - { - { ONLP_LED_ID_CREATE(LED_PSU2), "psu2", 0 }, - ONLP_LED_STATUS_PRESENT, - ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_GREEN_BLINKING | - ONLP_LED_CAPS_GREEN , - }, - - { - { ONLP_LED_ID_CREATE(LED_PSU1), "psu1", 0 }, - ONLP_LED_STATUS_PRESENT, - ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_GREEN_BLINKING | - ONLP_LED_CAPS_GREEN , - }, - - { - { ONLP_LED_ID_CREATE(LED_TEMP), "temp", 0 }, - ONLP_LED_STATUS_PRESENT, - ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_GREEN | - ONLP_LED_CAPS_RED , - }, - - { - { ONLP_LED_ID_CREATE(LED_MASTER), "master", 0 }, - ONLP_LED_STATUS_PRESENT, - ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_GREEN , - }, -}; - -static int conver_led_light_mode_to_onl(uint32_t id, int led_ligth_mode) -{ - switch (id) { - case LED_SYS: - switch (led_ligth_mode) { - case SYS_LED_MODE_GREEN_BLINKING: return ONLP_LED_MODE_GREEN_BLINKING; - case SYS_LED_MODE_GREEN: return ONLP_LED_MODE_GREEN; - case SYS_LED_MODE_RED: return ONLP_LED_MODE_RED; - case SYS_LED_MODE_RED_BLINKING: return ONLP_LED_MODE_RED_BLINKING; - default: return ONLP_LED_MODE_OFF; - } - case LED_PSU1: - case LED_PSU2: - switch (led_ligth_mode) { - case PSU_LED_MODE_OFF: return ONLP_LED_MODE_OFF; - case PSU_LED_MODE_GREEN: return ONLP_LED_MODE_GREEN; - case PSU_LED_MODE_GREEN_BLINKING: return ONLP_LED_MODE_GREEN_BLINKING; - default: return ONLP_LED_MODE_OFF; - } - case LED_FAN: - switch (led_ligth_mode) { - case FAN_LED_MODE_OFF: return ONLP_LED_MODE_OFF; - case FAN_LED_MODE_GREEN: return ONLP_LED_MODE_GREEN; - case FAN_LED_MODE_RED: return ONLP_LED_MODE_RED; - default: return ONLP_LED_MODE_OFF; - } - case LED_TEMP: - switch (led_ligth_mode) { - case TEMP_LED_MODE_OFF: return ONLP_LED_MODE_OFF; - case TEMP_LED_MODE_GREEN: return ONLP_LED_MODE_GREEN; - case TEMP_LED_MODE_RED: return ONLP_LED_MODE_RED; - default: return ONLP_LED_MODE_OFF; - } - case LED_MASTER: - switch (led_ligth_mode) { - case MASTER_LED_MODE_OFF: return ONLP_LED_MODE_OFF; - case MASTER_LED_MODE_GREEN: return ONLP_LED_MODE_GREEN; - default: return ONLP_LED_MODE_OFF; - } - } - - return ONLP_LED_MODE_OFF; -} - -static int conver_onlp_led_light_mode_to_driver(uint32_t id, int led_ligth_mode) -{ - switch (id) { - case LED_SYS: - switch (led_ligth_mode) { - case ONLP_LED_MODE_GREEN_BLINKING: return SYS_LED_MODE_GREEN_BLINKING; - case ONLP_LED_MODE_GREEN: return SYS_LED_MODE_GREEN; - case ONLP_LED_MODE_RED: return SYS_LED_MODE_RED ; - case ONLP_LED_MODE_RED_BLINKING: return SYS_LED_MODE_RED_BLINKING; - default: return SYS_LED_MODE_UNKNOWN; - } - case LED_PSU1: - case LED_PSU2: - switch (led_ligth_mode) { - case ONLP_LED_MODE_OFF: return PSU_LED_MODE_OFF; - case ONLP_LED_MODE_GREEN: return PSU_LED_MODE_GREEN; - case ONLP_LED_MODE_GREEN_BLINKING: return PSU_LED_MODE_GREEN_BLINKING; - default: return PSU_LED_MODE_UNKNOWN; - } - case LED_FAN: - switch (led_ligth_mode) { - case ONLP_LED_MODE_OFF: return FAN_LED_MODE_OFF; - case ONLP_LED_MODE_GREEN: return FAN_LED_MODE_GREEN ; - case ONLP_LED_MODE_RED: return FAN_LED_MODE_RED; - default: return FAN_LED_MODE_UNKNOWN; - } - case LED_TEMP: - switch (led_ligth_mode) { - case ONLP_LED_MODE_OFF: return TEMP_LED_MODE_OFF; - case ONLP_LED_MODE_GREEN: return TEMP_LED_MODE_GREEN; - case ONLP_LED_MODE_RED: return TEMP_LED_MODE_RED; - default: return TEMP_LED_MODE_UNKNOWN; - } - case LED_MASTER: - switch (led_ligth_mode) { - case ONLP_LED_MODE_OFF: return MASTER_LED_MODE_OFF; - case ONLP_LED_MODE_GREEN: return MASTER_LED_MODE_GREEN; - default: return TEMP_LED_MODE_UNKNOWN; - } - - } - - return ONLP_LED_MODE_OFF; -} - -/* - * This function will be called prior to any other onlp_ledi_* functions. - */ -int -onlp_ledi_init(void) -{ - return ONLP_STATUS_OK; -} - -static int -onlp_ledi_oid_to_internal_id(onlp_oid_t id) -{ - enum ag6248c_product_id pid = get_product_id(); - int lid = ONLP_OID_ID_GET(id); - - if ((pid != PID_AG6248C_48P)||(pid != PID_AG6248C_48)) { - return lid; - } - - switch (lid) { - case 1: return LED_SYS; - case 2: return LED_FAN; - case 3: return LED_PSU2; - case 4: return LED_PSU1; - case 5: return LED_TEMP; - case 6: return LED_MASTER; - } - - return lid; -} - -int -onlp_ledi_info_get(onlp_oid_t id, onlp_led_info_t* info) -{ - int r_data,m_data; - - int lid = onlp_ledi_oid_to_internal_id(id); - - VALIDATE(id); - - /* Set the onlp_oid_hdr_t and capabilities */ - *info = linfo[lid]; - - if((lid==LED_TEMP)||(lid==LED_MASTER)) - r_data=i2c_devname_read_byte("CPLD",CPLD_LED_MODE_TEMP_REG); - else - r_data=i2c_devname_read_byte("CPLD",CPLD_LED_MODE_REG); - - if(r_data<0) - return ONLP_STATUS_E_INTERNAL; - - if(lid==LED_TEMP) - m_data=(r_data & CPLD_LED_MODE_TEMP_REG_BIT); - else if(lid==LED_MASTER) - m_data=(r_data & CPLD_LED_MODE_MASTER_REG_BIT); - else - m_data=(r_data & CPLD_LED_MODE_REG_BIT(lid)); - - if(lid==LED_TEMP) - m_data=(m_data>> CPLD_LED_MODE_TEMP_REG_OFFSET); - else if(lid==LED_MASTER) - m_data=(m_data>> CPLD_LED_MODE_MASTER_REG_OFFSET); - else - m_data=(m_data>>CPLD_LED_MODE_REG_OFFSET(lid)); - - info->mode = conver_led_light_mode_to_onl(lid, m_data); - - /* Set the on/off status */ - if (info->mode != ONLP_LED_MODE_OFF) { - info->status |= ONLP_LED_STATUS_ON; - - } - - return ONLP_STATUS_OK; -} - -/* - * This function puts the LED into the given mode. It is a more functional - * interface for multimode LEDs. - * - * Only modes reported in the LED's capabilities will be attempted. - */ -int -onlp_ledi_mode_set(onlp_oid_t id, onlp_led_mode_t mode) -{ - int r_data,driver_mode, rc; - - int lid = onlp_ledi_oid_to_internal_id(id); - - VALIDATE(id); - - driver_mode = conver_onlp_led_light_mode_to_driver(lid, mode); - - if((driver_mode==SYS_LED_MODE_UNKNOWN)||(driver_mode==PSU_LED_MODE_UNKNOWN)||\ - (driver_mode==FAN_LED_MODE_UNKNOWN)||(driver_mode==TEMP_LED_MODE_UNKNOWN)||\ - (driver_mode==MASTER_LED_MODE_UNKNOWN)) - return ONLP_STATUS_E_UNSUPPORTED; - - if((lid==LED_TEMP)||(lid==LED_MASTER)) - r_data=i2c_devname_read_byte("CPLD",CPLD_LED_MODE_TEMP_REG); - else - r_data=i2c_devname_read_byte("CPLD",CPLD_LED_MODE_REG); - - if(r_data<0) - return ONLP_STATUS_E_INTERNAL; - - if(lid==LED_TEMP) - r_data=r_data&(~CPLD_LED_MODE_TEMP_REG_BIT); - else if(lid==LED_MASTER) - r_data=r_data&(~CPLD_LED_MODE_MASTER_REG_BIT); - else - r_data=r_data&(~CPLD_LED_MODE_REG_BIT(lid)); - - if(lid==LED_TEMP) - driver_mode=(driver_mode< -# -# Copyright 2014, 2015 Big Switch 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. -# -# -############################################################ -# -# -# -############################################################ - -LIBRARY := arm_delta_ag6248c -$(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) -#$(LIBRARY)_LAST := 1 -include $(BUILDER)/lib.mk diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/platform_lib.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/platform_lib.c deleted file mode 100755 index 118cc437..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/platform_lib.c +++ /dev/null @@ -1,85 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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 -#include -#include -#include -#include -#include -#include -#include "platform_lib.h" -#include "arm_delta_i2c.h" - - -psu_type_t get_psu_type(int id) -{ - if ((id == PSU1_ID)||(id == PSU2_ID)) - return PSU_TYPE_AC_B2F; - return PSU_TYPE_UNKNOWN; -} - -enum ag6248c_product_id get_product_id(void) -{ - int ret; - int pid = PID_UNKNOWN; - - ret = i2c_devname_read_byte("CPLD", 0X01); - - if(ret<0) - return PID_UNKNOWN; - - pid = ((ret&0xf0)>>4); - - - if (pid >= PID_UNKNOWN || pid < PID_AG6248C_48) { - return PID_UNKNOWN; - } - - return pid; -} - -int chassis_fan_count(void) -{ - enum ag6248c_product_id pid = get_product_id(); - - if ((pid == PID_AG6248C_48P)||(pid == PID_AG6248C_48)) { - return 4; - } - - return 0 ; -} - -int chassis_led_count(void) -{ - enum ag6248c_product_id pid = get_product_id(); - - if (pid == PID_AG6248C_48P) - return 5; - else if(pid == PID_AG6248C_48) - return 6; - else - return 0; -} diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/platform_lib.h b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/platform_lib.h deleted file mode 100755 index b8f6fc46..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/platform_lib.h +++ /dev/null @@ -1,135 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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. - * - * - ************************************************************ - * - * - * - ***********************************************************/ -#ifndef __PLATFORM_LIB_H__ -#define __PLATFORM_LIB_H__ - -#include "arm_delta_ag6248c_log.h" - -#define CHASSIS_THERMAL_COUNT 4 -#define CHASSIS_PSU_COUNT 2 - -#define PSU1_ID 1 -#define PSU2_ID 2 - - -typedef enum psu_type { - PSU_TYPE_UNKNOWN, - PSU_TYPE_AC_F2B, - PSU_TYPE_AC_B2F -} psu_type_t; - -psu_type_t get_psu_type(int id); - -#define DEBUG_MODE 0 - -#if (DEBUG_MODE == 1) - #define DEBUG_PRINT(format, ...) printf(format, __VA_ARGS__) -#else - #define DEBUG_PRINT(format, ...) -#endif - -enum onlp_fan_duty_cycle_percentage -{ - FAN_IDLE_RPM = 5500, - FAN_LEVEL1_RPM = 7000, - FAN_LEVEL2_RPM = 9000, - FAN_LEVEL3_RPM = 12000, -}; - -enum ag6248c_product_id { - PID_AG6248C_48= 2, - PID_AG6248C_48P=4, - PID_UNKNOWN -}; -/* LED related data */ -enum sys_led_light_mode { - SYS_LED_MODE_GREEN_BLINKING = 0, - SYS_LED_MODE_GREEN, - SYS_LED_MODE_RED, - SYS_LED_MODE_RED_BLINKING, - SYS_LED_MODE_AUTO, - SYS_LED_MODE_UNKNOWN -}; - -enum fan_led_light_mode { - FAN_LED_MODE_OFF=0, - FAN_LED_MODE_GREEN, - FAN_LED_MODE_RED, - FAN_LED_MODE_RESERVERD, - FAN_LED_MODE_AUTO, - FAN_LED_MODE_UNKNOWN -}; - -enum psu_led_light_mode { - PSU_LED_MODE_OFF =0, - PSU_LED_MODE_GREEN, - PSU_LED_MODE_GREEN_BLINKING, - PSU_LED_MODE_RESERVERD, - PSU_LED_MODE_UNKNOWN -}; - -enum temp_led_light_mode { - TEMP_LED_MODE_OFF =0, - TEMP_LED_MODE_GREEN, - TEMP_LED_MODE_RED, - TEMP_LED_MODE_RESERVERD, - TEMP_LED_MODE_UNKNOWN -}; - -enum master_led_light_mode { - MASTER_LED_MODE_OFF =0, - MASTER_LED_MODE_GREEN, - MASTER_LED_MODE_OFF1, - MASTER_LED_MODE_RESERVERD, - MASTER_LED_MODE_UNKNOWN -}; - -typedef enum onlp_led_id -{ - LED_RESERVED = 0, - LED_SYS, - LED_FAN, - LED_PSU2, - LED_PSU1, - LED_TEMP, - LED_MASTER -} onlp_led_id_t; - -enum ag6248c_product_id get_product_id(void); -int chassis_fan_count(void); -int chassis_led_count(void); - -typedef enum platform_id_e { - PLATFORM_ID_UNKNOWN, - PLATFORM_ID_POWERPC_DELTA_AG6248C_POE_R0, - PLATFORM_ID_POWERPC_DELTA_AG6248C_R0, -} platform_id_t; - -extern platform_id_t platform_id; - -extern int psu_status_info_get(int id, char *node); -#endif /* __PLATFORM_LIB_H__ */ - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/psui.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/psui.c deleted file mode 100755 index 3a0d8344..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/psui.c +++ /dev/null @@ -1,381 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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 -#include -#include -#include -#include "platform_lib.h" -#include "arm_delta_ag6248c_int.h" -#include "arm_delta_i2c.h" - -#define PSU_STATUS_PRESENT 1 -#define PSU_STATUS_POWER_GOOD 1 -#define PSU_STATUS_REG (0X08) -#define PSU_STATUS_PRESENT_BIT(ch) (0x8<<4*(ch-1)) -#define PSU_STATUS_GOOD_BIT(ch) (0x4<<4*(ch-1)) -#define PSU_STATUS_PRESENT_OFFSET(ch) (4*ch-1) -#define PSU_STATUS_GOOD_OFFSET(ch) (0x2+4*(ch-1)) -#define PSU_PNBUS_VIN_REG (0x88) -#define PSU_PNBUS_IIN_REG (0x89) -#define PSU_PNBUS_PIN_REG (0x97) -#define PSU_PNBUS_VOUT_REG (0x8b) -#define PSU_PNBUS_IOUT_REG (0x8c) -#define PSU_PNBUS_POUT_REG (0x96) -#define PSU_PNBUS_SERIAL_REG (0x39) -#define PSU_PNBUS_MODEL_REG (0xc) - -#define VALIDATE(_id) \ - do { \ - if(!ONLP_OID_IS_PSU(_id)) { \ - return ONLP_STATUS_E_INVALID; \ - } \ - } while(0) - -static long psu_data_convert(unsigned int d, int mult) -{ - long X, Y, N, n; - - Y = d & 0x07FF; - N = (d >> 11) & 0x0f; - n = d & 0x8000 ? 1 : 0; - - if (n) - X = (Y * mult) / ((1<<(((~N)&0xf)+1))) ; - else - X = (Y * mult) * (N=(1<<(N&0xf))); - - return X; -} - -static long psu_data_convert_16(unsigned int d, int mult) -{ - long X; - X = (d * mult) / (1 << 9); - return X; - -} - - -int -psu_status_info_get(int id, char *node) -{ - int ret; - int r_data; - ret=i2c_devname_read_byte("CPLD",PSU_STATUS_REG); - - if(ret<0) - return -1; - - if (PSU1_ID == id) { - if(!strcmp("present",node)) - r_data=!((ret& PSU_STATUS_PRESENT_BIT(id))>> PSU_STATUS_PRESENT_OFFSET(id)); - else if(!strcmp("good",node)) - r_data=((ret& PSU_STATUS_GOOD_BIT(id))>> PSU_STATUS_GOOD_OFFSET(id)); - else - r_data=-1; - - } - else if (PSU2_ID == id) { - - if(!strcmp("present",node)) - r_data=!((ret& PSU_STATUS_PRESENT_BIT(id))>> PSU_STATUS_PRESENT_OFFSET(id)); - else if(!strcmp("good",node)) - r_data=((ret& PSU_STATUS_GOOD_BIT(id))>> PSU_STATUS_GOOD_OFFSET(id)); - else - r_data=-1; - } - else{ - r_data=-1; - } - - return r_data; -} - -static int -psu_value_info_get(int id, char *type) -{ - int ret; - char *dev_name; - int reg_offset; - - enum ag6248c_product_id pid = get_product_id(); - - if(pid == PID_AG6248C_48){ - if(PSU1_ID == id) - dev_name="PSU1_PMBUS"; - else - dev_name="PSU2_PMBUS"; - } - else{ - if(PSU1_ID == id) - dev_name="PSU1_PMBUS_POE"; - else - dev_name="PSU2_PMBUS_POE"; - } - - if(!strcmp(type,"vin")) - reg_offset=PSU_PNBUS_VIN_REG; - else if(!strcmp(type,"iin")) - reg_offset=PSU_PNBUS_IIN_REG; - else if(!strcmp(type,"pin")) - reg_offset=PSU_PNBUS_PIN_REG; - else if(!strcmp(type,"vout")) - reg_offset=PSU_PNBUS_VOUT_REG; - else if(!strcmp(type,"iout")) - reg_offset=PSU_PNBUS_IOUT_REG; - else - reg_offset=PSU_PNBUS_POUT_REG; - - ret=i2c_devname_read_word(dev_name,reg_offset); - - if(ret<0) - return -1; - - return ret; -} - - -static int -psu_serial_model_info_get(int id,char *type,char*data,int data_len) -{ - int i,r_data,re_cnt; - char *dev_name; - int reg_offset; - - enum ag6248c_product_id pid = get_product_id(); - - if(pid == PID_AG6248C_48){ - if(PSU1_ID == id) - dev_name="PSU1_EEPROM"; - else - dev_name="PSU2_EEPROM"; - } - else{ - if(PSU1_ID == id) - dev_name="PSU1_EEPROM_POE"; - else - dev_name="PSU2_EEPROM_POE"; - } - - if(!strcmp(type,"serial")) - reg_offset=PSU_PNBUS_SERIAL_REG; - else - reg_offset=PSU_PNBUS_MODEL_REG; - - for(i=0;istatus &= ~ONLP_PSU_STATUS_PRESENT; - return ONLP_STATUS_OK; - } - info->status |= ONLP_PSU_STATUS_PRESENT; - - /* Get power good status */ - val=psu_status_info_get(index,"good"); - - if (val<0) { - AIM_LOG_INFO("Unable to read PSU %d good value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - if (val != PSU_STATUS_POWER_GOOD) { - info->status |= ONLP_PSU_STATUS_FAILED; - return ONLP_STATUS_OK; - } - - /* Get PSU type - */ - psu_type = get_psu_type(index); - - switch (psu_type) { - case PSU_TYPE_AC_F2B: - case PSU_TYPE_AC_B2F: - info->caps = ONLP_PSU_CAPS_AC; - ret = ONLP_STATUS_OK; - break; - case PSU_TYPE_UNKNOWN: /* User insert a unknown PSU or unplugged.*/ - info->status |= ONLP_PSU_STATUS_UNPLUGGED; - info->status &= ~ONLP_PSU_STATUS_FAILED; - ret = ONLP_STATUS_OK; - break; - default: - ret = ONLP_STATUS_E_UNSUPPORTED; - break; - } - - /* Get PSU vin,vout*/ - - r_data=psu_value_info_get(index,"vin"); - - if (r_data<0) { - AIM_LOG_INFO("Unable to read PSU %d Vin value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - info->mvin=psu_data_convert(r_data,1000); - - r_data=psu_value_info_get(index,"vout"); - - if (r_data<0) { - AIM_LOG_INFO("Unable to read PSU %d Vout value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - info->mvout=psu_data_convert_16(r_data,1000); - /* Get PSU iin, iout - */ - r_data=psu_value_info_get(index,"iin"); - - if (r_data<0) { - AIM_LOG_INFO("Unable to read PSU %d Iin value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - info->miin=psu_data_convert(r_data,1000); - - r_data=psu_value_info_get(index,"iout"); - - if (r_data<0) { - AIM_LOG_INFO("Unable to read PSU %d Iout value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - info->miout=psu_data_convert(r_data,1000); - - /* Get PSU pin, pout - */ - r_data=psu_value_info_get(index,"pin"); - - if (r_data<0) { - AIM_LOG_INFO("Unable to read PSU %d Pin value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - info->mpin=psu_data_convert(r_data,1000); - - r_data=psu_value_info_get(index,"pout"); - - if (r_data<0) { - AIM_LOG_INFO("Unable to read PSU %d Pout value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - info->mpout=psu_data_convert(r_data,1000); - /* Get PSU serial - */ - - ret=psu_serial_model_info_get(index,"serial",sn_data,14); - if (ret!=ONLP_STATUS_OK) { - AIM_LOG_INFO("Unable to read PSU %d SN value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - strcpy(info->serial,sn_data); - - /* Get PSU model - */ - ret=psu_serial_model_info_get(index,"model",model_data,16); - if (ret!=ONLP_STATUS_OK) { - AIM_LOG_INFO("Unable to read PSU %d model value)\r\n", index); - return ONLP_STATUS_E_INVALID; - } - - strcpy(info->model,model_data); - - return ONLP_STATUS_OK; -} - -int -onlp_psui_ioctl(onlp_oid_t pid, va_list vargs) -{ - return ONLP_STATUS_E_UNSUPPORTED; -} - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/sfpi.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/sfpi.c deleted file mode 100755 index 4764bbe9..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/sfpi.c +++ /dev/null @@ -1,364 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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 -#include "platform_lib.h" - -#include -#include "arm_delta_ag6248c_log.h" -#include "arm_delta_i2c.h" - -#define SFP_PRESENT_REG (0X14) -#define SFP_RX_LOS_REG (0X11) -#define SFP_TX_DISABLE_REG (0X17) -#define SFP_PRESENT_PORT47_BIT (0X40) -#define SFP_PRESENT_PORT48_BIT (0X80) -#define SFP_PRESENT_PORT47_OFFSET (0X06) -#define SFP_PRESENT_PORT48_OFFSET (0X07) - - -/************************************************************ - * - * SFPI Entry Points - * - ***********************************************************/ -int -onlp_sfpi_init(void) -{ - /* Called at initialization time */ - return ONLP_STATUS_OK; -} - -int -onlp_sfpi_bitmap_get(onlp_sfp_bitmap_t* bmap) -{ - int p; - int start_port, end_port; - - if((platform_id == PLATFORM_ID_POWERPC_DELTA_AG6248C_POE_R0)|| - (platform_id ==PLATFORM_ID_POWERPC_DELTA_AG6248C_R0)) - { - start_port = 47; - end_port = 48; - } - else /*reserved*/ - { - AIM_LOG_ERROR("The platform id %d is invalid \r\n", platform_id); - return ONLP_STATUS_E_UNSUPPORTED; - } - - for(p = start_port; p <=end_port; p++) { - AIM_BITMAP_SET(bmap, p); - } - - return ONLP_STATUS_OK; -} - -int -onlp_sfpi_is_present(int port) -{ - /* - * Return 1 if present. - * Return 0 if not present. - * Return < 0 if error. - */ - int present,r_data; - - if((port==47)||(port==48)) - r_data=i2c_devname_read_byte("CPLD", SFP_PRESENT_REG); - else{ - AIM_LOG_ERROR("The port %d is invalid \r\n", port); - return ONLP_STATUS_E_UNSUPPORTED; - } - - if(r_data<0){ - AIM_LOG_ERROR("Unable to read present status from port(%d)\r\n", port); - return ONLP_STATUS_E_INTERNAL; - } - - if(port==47){ - r_data&=SFP_PRESENT_PORT47_BIT; - present=!(r_data>>SFP_PRESENT_PORT47_OFFSET); - } - else{ - r_data&=SFP_PRESENT_PORT48_BIT; - present=!(r_data>>SFP_PRESENT_PORT48_OFFSET); - } - - return present; -} - -int -onlp_sfpi_presence_bitmap_get(onlp_sfp_bitmap_t* dst) -{ - int status; - int port, i = 0; - uint64_t presence_all=0; - - AIM_BITMAP_CLR_ALL(dst); - - if((platform_id == PLATFORM_ID_POWERPC_DELTA_AG6248C_POE_R0)|| \ - (platform_id ==PLATFORM_ID_POWERPC_DELTA_AG6248C_R0)){ - - port=47; - - } - else{ - AIM_LOG_ERROR("The platform id %d is invalid \r\n", platform_id); - return ONLP_STATUS_E_UNSUPPORTED; - } - - status=i2c_devname_read_byte("CPLD", SFP_PRESENT_REG); - - if(status<0){ - AIM_LOG_ERROR("Unable to read the sfp_is_present_all value. \r\n"); - return ONLP_STATUS_E_INTERNAL; - } - status=~status; - - status>>=6; - - /* Convert to 64 bit integer in port order */ - - presence_all = status & 0x3; - - presence_all <<= port; - - /* Populate bitmap */ - for(i = 0; presence_all; i++) { - AIM_BITMAP_MOD(dst, i, (presence_all & 1)); - presence_all >>= 1; - } - - return ONLP_STATUS_OK; -} - -int -onlp_sfpi_rx_los_bitmap_get(onlp_sfp_bitmap_t* dst) -{ - int status; - int port,i = 0; - uint64_t rx_los_all = 0; - - AIM_BITMAP_CLR_ALL(dst); - - if((platform_id == PLATFORM_ID_POWERPC_DELTA_AG6248C_POE_R0)|| \ - (platform_id ==PLATFORM_ID_POWERPC_DELTA_AG6248C_R0)){ - - port=47; - - } - else{ - AIM_LOG_ERROR("The platform id %d is invalid \r\n", platform_id); - return ONLP_STATUS_E_UNSUPPORTED; - } - - status=i2c_devname_read_byte("CPLD", SFP_RX_LOS_REG); - - if(status<0){ - AIM_LOG_ERROR("Unable to read the rx loss reg value. \r\n"); - return ONLP_STATUS_E_INTERNAL; - } - - status>>=6; - - /* Convert to 64 bit integer in port order */ - rx_los_all = status & 0x3; - - rx_los_all <<= port; - - /* Populate bitmap */ - for(i = 0; rx_los_all; i++) { - AIM_BITMAP_MOD(dst, i, (rx_los_all & 1)); - rx_los_all >>= 1; - } - - return ONLP_STATUS_OK; -} - -int -onlp_sfpi_eeprom_read(int port, uint8_t data[256]) -{ - /* - * Read the SFP eeprom into data[] - * - * Return MISSING if SFP is missing. - * Return OK if eeprom is read - */ - - int i, r_data, re_cnt; - char* sfp_name; - - memset(data, 0, 256); - - if(port==47) - sfp_name="SFP1"; - else - sfp_name="SFP2"; - - - for(i=0;i<256;i++){ - re_cnt=3; - while(re_cnt){ - r_data=i2c_devname_read_byte(sfp_name,i); - if(r_data<0){ - re_cnt--; - continue; - } - data[i]=r_data; - break; - } - if(re_cnt==0){ - AIM_LOG_ERROR("Unable to read the %d reg \r\n",i); - return ONLP_STATUS_E_INTERNAL; - } - - } - - - return ONLP_STATUS_OK; -} - -int -onlp_sfpi_dom_read(int port, uint8_t data[256]) -{ - - return onlp_sfpi_eeprom_read( port, data); -} - -int -onlp_sfpi_control_set(int port, onlp_sfp_control_t control, int value) -{ - /*value is 1 if the tx disable - value is 0 if the tx enable - */ - - int rc,r_data,dis_value,present; - - present=onlp_sfpi_is_present(port); - - if(present==0){ - AIM_LOG_INFO("The port %d is not present and can not set tx disable\r\n",port); - return ONLP_STATUS_E_UNSUPPORTED; - } - - r_data=i2c_devname_read_byte("CPLD", SFP_TX_DISABLE_REG); - - if(r_data<0){ - AIM_LOG_INFO("Unable to read sfp tx disable reg value\r\n"); - return ONLP_STATUS_E_INTERNAL; - } - - if(port==47){ - r_data&=~(0x1<>SFP_PRESENT_PORT47_OFFSET); - } - else{ - r_data&=(0x1<>SFP_PRESENT_PORT48_OFFSET); - } - - return ONLP_STATUS_OK; -} - - -int -onlp_sfpi_denit(void) -{ - return ONLP_STATUS_OK; -} diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/sysi.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/sysi.c deleted file mode 100755 index b8b0adec..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/sysi.c +++ /dev/null @@ -1,290 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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 -#include -#include -#include -#include -#include -#include -#include -#include - -#include "arm_delta_ag6248c_int.h" -#include "arm_delta_ag6248c_log.h" - -#include "platform_lib.h" -#include "arm_delta_i2c.h" -platform_id_t platform_id = PLATFORM_ID_UNKNOWN; - -#define ONIE_PLATFORM_NAME "arm-delta-ag6248c-r0" - -const char* -onlp_sysi_platform_get(void) -{ - enum ag6248c_product_id pid = get_product_id(); - - if (pid == PID_AG6248C_48) - return "arm-delta-ag6248c"; - else if(pid == PID_AG6248C_48P) - return "arm-delta-ag6248c-poe"; - else - return "unknow"; -} - -int -onlp_sysi_platform_set(const char* platform) -{ - if(strstr(platform,"arm-delta-ag6248c-r0")) { - platform_id = PLATFORM_ID_POWERPC_DELTA_AG6248C_R0; - return ONLP_STATUS_OK; - } - if(strstr(platform,"arm-delta-ag6248c-poe-r0")) { - platform_id = PLATFORM_ID_POWERPC_DELTA_AG6248C_POE_R0; - return ONLP_STATUS_OK; - } - AIM_LOG_ERROR("No support for platform '%s'", platform); - return ONLP_STATUS_E_UNSUPPORTED; -} - -int -onlp_sysi_platform_info_get(onlp_platform_info_t* pi) -{ - int v; - - v = i2c_devname_read_byte("CPLD", 0X07); - - pi->cpld_versions = aim_fstrdup("%d", v); - - return 0; -} - -int -onlp_sysi_onie_data_get(uint8_t** data, int* size) -{ - uint8_t* rdata = aim_zmalloc(256); - int fd,rc_size; - char fullpath[20] = {0}; - - sprintf(fullpath, "/dev/mtd7"); - - fd=open(fullpath,O_RDWR); - - if(fd<0){ - aim_free(rdata); - return ONLP_STATUS_E_INTERNAL ; - } - - rc_size=read(fd,rdata,256); - - if(rc_size<0||rc_size!=256){ - aim_free(rdata); - return ONLP_STATUS_E_INTERNAL ; - } - - *data = rdata; - - return ONLP_STATUS_OK; - - -} - -void -onlp_sysi_onie_data_free(uint8_t* data) -{ - aim_free(data); -} - - - -int -onlp_sysi_oids_get(onlp_oid_t* table, int max) -{ - int i; - onlp_oid_t* e = table; - memset(table, 0, max*sizeof(onlp_oid_t)); - - /* 1 Thermal sensors on the chassis */ - for (i = 1; i <= CHASSIS_THERMAL_COUNT; i++) { - *e++ = ONLP_THERMAL_ID_CREATE(i); - } - - /* LEDs on the chassis */ - for (i = 1; i <= chassis_led_count(); i++) { - *e++ = ONLP_LED_ID_CREATE(i); - } - - /* 1 Fans on the chassis */ - for (i = 1; i <= chassis_fan_count(); i++) { - *e++ = ONLP_FAN_ID_CREATE(i); - } - - /* 2 PSUs on the chassis */ - for (i = 1; i <= CHASSIS_PSU_COUNT; i++) { - *e++ = ONLP_PSU_ID_CREATE(i); - } - - return 0; -} - -int -onlp_sysi_platform_manage_fans(void) -{ - - int rc; - onlp_thermal_info_t ti1; - onlp_thermal_info_t ti2; - int mtemp=0; - int new_rpm=0; - - if (chassis_fan_count() == 0) { - return ONLP_STATUS_E_UNSUPPORTED; - } - - /* Get temperature */ - rc = onlp_thermali_info_get(ONLP_THERMAL_ID_CREATE(1), &ti1); - - if (rc != ONLP_STATUS_OK) { - return rc; - } - - rc = onlp_thermali_info_get(ONLP_THERMAL_ID_CREATE(2), &ti2); - - if (rc != ONLP_STATUS_OK) { - return rc; - } - - mtemp=(ti1.mcelsius+ti2.mcelsius)/2; - /* Bring fan speed according the temp - */ - if(mtemp<50000) - new_rpm=FAN_IDLE_RPM; - else if((mtemp>=55000)&&(mtemp<60000)) - new_rpm=FAN_LEVEL1_RPM; - else if((mtemp>=65000)&&(mtemp<70000)) - new_rpm=FAN_LEVEL2_RPM; - else if(mtemp>=75000) - new_rpm=FAN_LEVEL3_RPM; - else{ - return ONLP_STATUS_OK; - } - - onlp_fani_rpm_set(ONLP_FAN_ID_CREATE(1),new_rpm); - onlp_fani_rpm_set(ONLP_FAN_ID_CREATE(2),new_rpm); - - - return ONLP_STATUS_OK; -} - - -int -onlp_sysi_platform_manage_leds(void) -{ - int rc,rc1; - - onlp_fan_info_t info1,info2; - onlp_led_mode_t fan_new_mode; - onlp_thermal_info_t ti; - onlp_led_mode_t temp_new_mode; - onlp_psu_info_t psu1; - onlp_led_mode_t psu1_new_mode; - onlp_psu_info_t psu2; - onlp_led_mode_t psu2_new_mode; - onlp_led_mode_t sys_new_mode; - /*fan led */ - rc=onlp_fani_info_get(ONLP_FAN_ID_CREATE(1), &info1); - - rc1=onlp_fani_info_get(ONLP_FAN_ID_CREATE(2), &info2); - - if ((rc != ONLP_STATUS_OK)||(rc1 != ONLP_STATUS_OK)){ - fan_new_mode=ONLP_LED_MODE_RED; - goto temp_led; - } - if(((info1.status&0x3)==1)&&((info2.status&0x3)==1)) - fan_new_mode=ONLP_LED_MODE_GREEN; - else - fan_new_mode=ONLP_LED_MODE_RED; - -temp_led: - onlp_ledi_mode_set(ONLP_LED_ID_CREATE(LED_FAN),fan_new_mode); - - /*temperature led */ - - rc = onlp_thermali_info_get(ONLP_THERMAL_ID_CREATE(1), &ti); - if (rc != ONLP_STATUS_OK) { - temp_new_mode=ONLP_LED_MODE_OFF; - goto psu1_led; - } - if(ti.mcelsius >= 75000) - temp_new_mode=ONLP_LED_MODE_RED; - else - temp_new_mode=ONLP_LED_MODE_GREEN; - -psu1_led: - onlp_ledi_mode_set(ONLP_LED_ID_CREATE(LED_TEMP),temp_new_mode); - - /*psu1 and psu2 led */ - rc=onlp_psui_info_get(ONLP_PSU_ID_CREATE(1),&psu1); - - if (rc != ONLP_STATUS_OK) { - psu1_new_mode=ONLP_LED_MODE_OFF; - goto psu2_led; - } - - if((psu1.status&0x1)&&!(psu1.status&0x2)) - psu1_new_mode=ONLP_LED_MODE_GREEN; - else - psu1_new_mode=ONLP_LED_MODE_OFF; -psu2_led: - onlp_ledi_mode_set(ONLP_LED_ID_CREATE(LED_PSU1),psu1_new_mode); - //psu2 led ---------------- - rc=onlp_psui_info_get(ONLP_PSU_ID_CREATE(2),&psu2); - - if (rc != ONLP_STATUS_OK) { - psu2_new_mode=ONLP_LED_MODE_OFF; - goto sys_led; - } - - if((psu2.status&0x1)&&!(psu2.status&0x2)) - psu2_new_mode=ONLP_LED_MODE_GREEN; - else - psu2_new_mode=ONLP_LED_MODE_OFF; -sys_led : - onlp_ledi_mode_set(ONLP_LED_ID_CREATE(LED_PSU2),psu2_new_mode); - //sys led ---------------- - - if((fan_new_mode!=ONLP_LED_MODE_GREEN)||((psu2_new_mode!=ONLP_LED_MODE_GREEN)&& \ - (psu1_new_mode!=ONLP_LED_MODE_GREEN))) - sys_new_mode=ONLP_LED_MODE_RED_BLINKING; - else - sys_new_mode=ONLP_LED_MODE_GREEN; - - onlp_ledi_mode_set(ONLP_LED_ID_CREATE(LED_SYS),sys_new_mode); - - - return ONLP_STATUS_OK; -} - diff --git a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/thermali.c b/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/thermali.c deleted file mode 100755 index 807855c9..00000000 --- a/packages/platforms/delta/armel/arm-delta-ag6248c/src/arm_delta_ag6248c/module/src/thermali.c +++ /dev/null @@ -1,208 +0,0 @@ -/************************************************************ - * - * - * Copyright 2014, 2015 Big Switch Networks, Inc. - * Copyright 2016 Accton Technology Corporation. - * Copyright 2017 Delta 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. - * - * - ************************************************************ - * - * Thermal Sensor Platform Implementation. - * - ***********************************************************/ -#include -#include -#include -#include -#include -#include "platform_lib.h" -#include "arm_delta_ag6248c_log.h" -#include -#include "arm_delta_i2c.h" -#define prefix_path "/sys/bus/i2c/devices/" -#define LOCAL_DEBUG 0 - -#define VALIDATE(_id) \ - do { \ - if(!ONLP_OID_IS_THERMAL(_id)) { \ - return ONLP_STATUS_E_INVALID; \ - } \ - } while(0) - - -enum onlp_thermal_id -{ - THERMAL_RESERVED = 0, - THERMAL_1_CLOSE_TO_MAC, - THERMAL_2_CLOSE_TO_PHY, - THERMAL_1_ON_PSU1, - THERMAL_1_ON_PSU2, -}; - -static char* last_path[] = /* must map with onlp_thermal_id */ -{ - "reserved", - "0-0049/temp1_input", - "0-004a/temp1_input", -}; - -/* Static values */ -static onlp_thermal_info_t linfo[] = { - { }, /* Not used */ - { { ONLP_THERMAL_ID_CREATE(THERMAL_1_CLOSE_TO_MAC), "Thermal Sensor 1- close to mac", 0}, - ONLP_THERMAL_STATUS_PRESENT, - ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS - }, - { { ONLP_THERMAL_ID_CREATE(THERMAL_2_CLOSE_TO_PHY), "Thermal Sensor 2- close to phy", 0}, - ONLP_THERMAL_STATUS_PRESENT, - ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS - }, - { { ONLP_THERMAL_ID_CREATE(THERMAL_1_ON_PSU1), "PSU-1 Thermal Sensor 1", ONLP_PSU_ID_CREATE(1)}, - ONLP_THERMAL_STATUS_PRESENT, - ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS - }, - { { ONLP_THERMAL_ID_CREATE(THERMAL_1_ON_PSU2), "PSU-2 Thermal Sensor 1", ONLP_PSU_ID_CREATE(2)}, - ONLP_THERMAL_STATUS_PRESENT, - ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS - } -}; -static int -_onlp_psu_thermali_val_to_temperature (int v,int mult) -{ - long X, Y, N, n; - Y = v & 0x07FF; - N = (v >> 11) & 0x0f; - n = v & 0x8000 ? 1 : 0; - if (n) - X = (Y * mult) / ((1<<(((~N)&0xf)+1))) ; - else - X = Y * mult * (N=(1<<(N&0xf))); - return X; -} -/* - * This will be called to intiialize the thermali subsystem. - */ -int -onlp_thermali_init(void) -{ - return ONLP_STATUS_OK; -} - -/* - * Retrieve the information structure for the given thermal OID. - * - * If the OID is invalid, return ONLP_E_STATUS_INVALID. - * If an unexpected error occurs, return ONLP_E_STATUS_INTERNAL. - * Otherwise, return ONLP_STATUS_OK with the OID's information. - * - * Note -- it is expected that you fill out the information - * structure even if the sensor described by the OID is not present. - */ -static int -_onlp_thermali_info_get(int id, onlp_thermal_info_t* info) -{ - int len, nbytes = 10, temp_base=1, local_id; - uint8_t r_data[10] = {0}; - char fullpath[50] = {0}; - - local_id = id; - - DEBUG_PRINT("\n[Debug][%s][%d][local_id: %d]", __FUNCTION__, __LINE__, local_id); - - /* get fullpath */ - sprintf(fullpath, "%s%s", prefix_path, last_path[local_id]); - - onlp_file_read(r_data,nbytes,&len, fullpath); - - info->mcelsius =ONLPLIB_ATOI((char*)r_data) / temp_base; - - DEBUG_PRINT("\n[Debug][%s][%d][save data: %d]\n", __FUNCTION__, __LINE__, info->mcelsius); - - return ONLP_STATUS_OK; -} - -static int -_onlp_thermali_psu_info_get(int id, onlp_thermal_info_t* info) -{ - int psu_present,psu_good; - int psu_id,local_id; - int r_data,temperature_v; - enum ag6248c_product_id pid; - - local_id=id; - - DEBUG_PRINT("\n[Debug][%s][%d][local_id: %d]", __FUNCTION__, __LINE__, local_id); - - psu_id=(local_id-THERMAL_1_ON_PSU1)+1; - pid=get_product_id(); - //if the psu is not, directly to return - psu_present=psu_status_info_get(psu_id, "present"); - psu_good=psu_status_info_get(psu_id, "good"); - if((psu_present<=0)||(psu_good<=0)){ - info->status &= ~ONLP_THERMAL_STATUS_PRESENT; - return ONLP_STATUS_OK; - } - //read the pus temperture register value - if(pid == PID_AG6248C_48){ - if(psu_id==1) - r_data=i2c_devname_read_word("PSU1_PMBUS", 0x8d); - else - r_data=i2c_devname_read_word("PSU2_PMBUS", 0x8d); - } - else{ - if(psu_id==1) - r_data=i2c_devname_read_word("PSU1_PMBUS_POE", 0x8d); - else - r_data=i2c_devname_read_word("PSU2_PMBUS_POE", 0x8d); - } - if(r_data<0) - return ONLP_STATUS_E_INVALID; - //get the real temperture value - temperature_v=_onlp_psu_thermali_val_to_temperature(r_data,1000); - - info->mcelsius=temperature_v; - - DEBUG_PRINT("\n[Debug][%s][%d][save data: %d]\n", __FUNCTION__, __LINE__, info->mcelsius); - - return ONLP_STATUS_OK; - -} - -int -onlp_thermali_info_get(onlp_oid_t id, onlp_thermal_info_t* info) -{ - int rc; - int local_id; - - VALIDATE(id); - - local_id=ONLP_OID_ID_GET(id); - - /* Set the onlp_oid_hdr_t and capabilities */ - *info = linfo[local_id]; - - if((local_id==THERMAL_1_CLOSE_TO_MAC) || (local_id==THERMAL_2_CLOSE_TO_PHY)) - rc= _onlp_thermali_info_get(local_id,info); - else if((local_id==THERMAL_1_ON_PSU1) || (local_id==THERMAL_1_ON_PSU2)) - rc=_onlp_thermali_psu_info_get(local_id,info); - else{ - rc=ONLP_STATUS_E_INVALID; - } - return rc; -} - - - diff --git a/packages/platforms/delta/armel/modules/Makefile b/packages/platforms/delta/armel/modules/Makefile deleted file mode 100644 index 003238cf..00000000 --- a/packages/platforms/delta/armel/modules/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/platforms/delta/armel/modules/PKG.yml b/packages/platforms/delta/armel/modules/PKG.yml deleted file mode 100644 index e73b86da..00000000 --- a/packages/platforms/delta/armel/modules/PKG.yml +++ /dev/null @@ -1 +0,0 @@ -!include $ONL_TEMPLATES/no-arch-vendor-modules.yml ARCH=armel VENDOR=delta diff --git a/packages/platforms/delta/x86-64/x86-64-delta-ag5648/.gitignore b/packages/platforms/delta/x86-64/x86-64-delta-ag5648/.gitignore index 76483140..269535f7 100644 --- a/packages/platforms/delta/x86-64/x86-64-delta-ag5648/.gitignore +++ b/packages/platforms/delta/x86-64/x86-64-delta-ag5648/.gitignore @@ -1,3 +1,2 @@ -*x86*64*delta_agc7648a*.mk +*x86*64*delta*ag5648*.mk onlpdump.mk - diff --git a/packages/platforms/delta/x86-64/x86-64-delta-ag5648/Makefile b/packages/platforms/delta/x86-64/x86-64-delta-ag5648/Makefile index 26aa37e6..003238cf 100644 --- a/packages/platforms/delta/x86-64/x86-64-delta-ag5648/Makefile +++ b/packages/platforms/delta/x86-64/x86-64-delta-ag5648/Makefile @@ -1,2 +1 @@ -include $(ONL)/make/pkg.mk - +include $(ONL)/make/pkg.mk \ No newline at end of file