S

Srinivasan Shanmugam

Software Engineer

Bengaluru, Karnataka, India14 yrs experience
Most Likely To SwitchHighly Stable

Key Highlights

  • 10 years of experience in Embedded Linux development.
  • Expertise in Linux Device Drivers for ARM SoCs.
  • Proven track record in optimizing Linux boot time.
Stackforce AI infers this person is a highly skilled Embedded Systems Engineer specializing in Linux BSP development and device drivers.

Contact

Skills

Core Skills

Embedded LinuxDevice Drivers

Other Skills

Linux GPU/Display driversDebuggingCGitLinux DRMLinux Device DriverDRM SubsystemLinux i915Embedded Linux BSP DevelopmentYoctoPythonLinux KernelAndroidEmbedded SystemsEmbedded Software

About

10 years of experience in Embedded Linux BSPs development on various Custom Hardware Designs - ARM SoC’s - Bootloaders (uBoot / Little Kernel / Qualcomm SBL), Linux Device Drivers, Yocto, Programming seeking new challenges in leading and growing companies ▪ Experienced in Embedded Linux BSPs development including U-Boot, Linux Kernel, Linux Device Drivers Programming, Yocto, Buildroot for ARM SoC’s like Xilinx Zynq 7000, Qualcomm-MSM 8x55/7x30, TI-OMAP4430 & AM3352/8, NXP's-I.MX53, I.MX28, I.MX6ULL, I.MX8M) ▪ Experienced in development of Linux Device Drivers for peripherals like-V4L2's Camera sensor drivers (MIPI-CSI2), Display connectors (MIPI-DSI) side in DRM Subsystem & legacy's V4L2's output Frame buffer Drivers for Display Panels, DDR3 bring up, Audio Codec(I2S), Ethernet PHY(MII & MDIO), Wi-Fi (SDIO) & BT(USB-UART) on ARM SoC’s platforms ▪ Experienced in modifications of Device tree & Linux kernel 2.x, 3.x, 4.x, 5.x versions & U-boot for Board bring-up ▪ Experienced in porting mainline Linux kernel versions - by applying ARM SoC & Board specific changes. ▪ Experienced in Linux boot time optimization & exposure in Linux Power management on ARM SoCs ▪ Experienced in using Vivado design suite on Xilinx platforms in VHDL code development for making PS and PL connections for bringup of SPI & Ethernet (RGMII & MDIO) interfaces in U-boot & Linux ▪ Experienced in Buildroot & Yocto Build systems - creating custom meta layers, custom images, adding recipes for customized embedded linux platforms in Yocto ▪ Experienced on C software development, Data structures, shell scripting/bash, Python ▪ Experienced in reading technical reference manuals, Datasheets, Hardware schematic drawings ▪ Experienced in debugging the code using tools Ctags, Cscope, GDB, Trace32, Source Insight, Serial console, lxr, procfs & sysfs ▪ Hardware Tools: Logic Analyzer, Oscilloscopes & Multimeter for debugging & analysis ▪ Source/Change Control tools: IBM Rational ClearCase & Clearquest, GIT, SVN ▪ Agile methodologies – Planification Patches in Upstream Linux Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=99785b86eead0934dffc1b36f3e5820d0c87e69f https://cgit.freedesktop.org/drm-tip/log/?qt=grep&q=srinivasan+shanmugam https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?qt=grep&q=srinivasan+shanmugam Patches at #intel-gfx: https://patchwork.freedesktop.org/series/69980/#rev5 https://patchwork.freedesktop.org/patch/450059/?series=93706&rev=1 Patches at #[i-g-t] test/amdgpu: https://patchwork.freedesktop.org/patch/645375/

Experience

14 yrs
Total Experience
2 yrs 4 mos
Average Tenure
3 yrs 11 mos
Current Experience

Amd

Member of Technical Staff - (AMDGPU's) Linux GPU/Display drivers

Jun 2022Present · 3 yrs 11 mos · Bengaluru, Karnataka, India · On-site

  • Bug fixing (Debug -> analyse -> root cause -> providing plausible solution) in Linux DRM display driver/IGT on AMD SoC's (Mendocino/Phoenix) external Display interfaces/connectors - DP 1.4/DP 2.0 over USB3/USB4 typeC Displays, MST, HDMI 2.0, eDP protocols in Google's Chrome book (Google reference designs) & ODM's/OEM's like ->DELL/ASUS/Acer HW designs
Linux GPU/Display driversDebuggingCGitEmbedded LinuxDevice Drivers

Intel corporation

Linux Device Driver Engineer - (Intel's x86 - i915) Linux GPU/Display drivers

Apr 2019Mar 2022 · 2 yrs 11 mos · Bengaluru, Karnataka, India

  • Fixed Display's DP MST to USB type-C connector's hotplug related issues in i915 display driver
  • Exposure on DRM Subsystem w.r.t Display module, i915 Display frameworks & Display Panel(1080p@60Hz) bringups w.r.t connectors side(MIPI-DSI) ; IGT tests (kms_flip, kms_cursor_crc, kms_cursor_legacy, kms_sequence, kms_setmode, kms_vblank, test_display.c) for Display on SoC side.
  • Bug fixing in Linux i915 GPU driver/IGT w.r.t Ring buffer Command Submissions to GPU - contributed to DRM i915(embargoed) & Open source for Server and Client products (Discrete GPU's - Ponte Vecchio(Xe-HPG)-2T, Arctic Sound(Xe-HPSDV)-2T, DG2(Xe-HPG), DG1(Xe-LPG)) for customers like Argonne, DELL etc.,
  • Patches in Upstream Linux Kernel:
  • https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?qt=author&q=srinivasan+shanmugam&&?qt=author&q=srinivasan+s
  • Patches at #intel-gfx:
  • https://patchwork.freedesktop.org/series/69980/#rev5
  • https://patchwork.freedesktop.org/patch/450059/?series=93706&rev=1
  • Porting feature ”Dynamically power gating the EU’s on intel GPUs" for power saving benefit https://patchwork.freedesktop.org/series/69980/#rev5 on Comet Lake & Jasper Lake platforms– with power saving benefit of ~90mW for Chrome Workloads - Hangout & Youtube.
  • Design analysis done for Porting "Zero-copy" feature in ChromeOS - to eliminate CPU processing (by avoiding memory copies using DMA-BUF in kernel driver - instead of using mmap & by sharing the same file descriptor - across various video paths - Camera capture, video encoding/decoding & rendering to Display & by avoiding intermediate color format conversion from 3 plane-I420 YUV to 2 plane-NV12 YUV) - highly exercised during Hangout video calls, with a benefit of reducing CPU load ~5-10% (on Eve) & power savings by ~100mW on CML & JSL.
  • Ported FFmpeg tool in ChromeOS, for bringup of HW Video encoders & decoders (Vp9, H.264 & Vp8) up and running on JSL platform (Jira - CHRMOS-7374)
Linux Device DriverDRM SubsystemCGitEmbedded LinuxDevice Drivers

Native instruments

Embedded Linux Engineer - Embedded Linux BSP's Development

Oct 2018Mar 2019 · 5 mos · Berlin Metropolitan Area

  •  Board bring-up - custom modifications in Linux Kernel 4.14 and U-boot on i.MX8M processor for inbuilt Computer based digital audio workstation - Traktor (Evaluation) product.
  •  Creating Yocto meta layers, Custom Distro images by editing layers.conf, bblayers.conf & local.conf, adding recipes to layers for Customized Embedded Linux platform
  •  Audio codec (I2S), Ethernet PHY, Wi-Fi and Bluetooth bringup of SoC connected Peripherals in Linux custom i.MX8M platform by modifying device tree configurations
  •  Implemented Built-in Self-Tests using Python for SoC connected Peripherals - SD, eMMC, BT, Wi-Fi, USB-OTG - to measure performance - For Custom Board (x86- Apollolake) in factory production - Standalone MASCHINE MK3 product.
  • https://github.com/SrinivasanShanmugam1311/Python-Skills-Linux-SoC-Peripheral-Selftests/tree/main/dvt2/self_tests/test_library
  •  Reviewing other's pull requests related to platform software
  •  C, shells (sh/bash), Python(beginners level), SVN, GIT
Embedded Linux BSP DevelopmentYoctoPythonEmbedded LinuxDevice Drivers

Tata elxsi

Specialist - Embedded Linux BSP's Development

Oct 2014Jun 2018 · 3 yrs 8 mos · Bangalore, India

  •  Board bring-up on custom hardware design - Linux Kernel 4.9 and U-boot on i.MX6ULL for IP Speaker Security systems (POE - Power over Ethernet) for Smart city and Building management (ASL– UK)
  •  Added TLV320AIC Audio Codec driver & Machine driver Support on i.MX6ULL Custom Platform, fixed MCLK and Audio Routing issues in linux.
  •  Bringup of NAND Flash on i.MX6ULL Custom Platform in linux
  •  Creating Yocto meta layers, custom distro images, recipes for customized i.mx6ull embedded linux platform
  •  Board bring-up on custom hardware design - Porting Linux Kernel 4.9 and U-boot on Xilinx Zynq 7000 processor based on custom hardware GNSS product for Highly Automated Driving (HAD) system (On-site- U-blox – Switzerland)
  •  Measurement Engine Communication Protocol development via Linux SPI interface driver for GNSS chips manufactured by U-blox.
  •  Board bring-up on custom hardware design - Linux kernel 3.14 and U-boot customization's on TI AM335x based Telecare product (On-site- Tunstall Health Care - UK)
  •  Audio codecs bring-up (MAXIM-MAX9860, NXP-UDA1345TS) , Ethernet PHY (TI-DP83848) bring-up, Wi-Fi and Bluetooth (Wl1831) integration into the Linux custom AM3352 platform
  •  Optimized Linux boot time, Power management optimization on SoC/CPU side, Implemented Secure boot & Signing Mechanism using private keys and public keys in u-boot & linux kernel for Custom Linux BSPs
  •  Implemented Shell Scripts for Linux Security Hardening - For Avaya customer
  •  C, shells (sh/bash), Yocto, Buildroot, SVN
Embedded Linux BSP DevelopmentYoctoCEmbedded LinuxDevice Drivers

L&t technology services limited

Software Engineer - Embedded Linux BSP's Development

May 2012Oct 2014 · 2 yrs 5 mos · Bangalore, India

  •  Board bring-up on custom hardware design - Porting Linux kernel 2.6 and U-boot bootloader development - with custom modifications on Freescale I.MX28 based Infotainment product for Cruise - Designed for Clarion Corporation of America
  •  Multichannel Audio codec (STA309A), SGTL5000 and Audio Amplifier( TDA7563B) bring-up on Freescale I.MX28 custom platform.
  •  Enhancement and bring-up/Porting of 8MP OV8825 (Bayer-10bit) sensor for Primary camera and OV9740 (720p) for Secondary camera on Intel-XGOLD632 for Mobile product - For Intel Mobile Communications
  •  LCD panel (innolux_at70_tn83) bring-up in Android Jellybean/Linux kernel 3.2.0 on TI-OMAP4430 for Mobile product
  •  Porting Android Little kernel bootloader & mainline Linux kernel (3.0 to 3.3), init - custom Qualcomm-MSM8x55 SURF platform – Android ICS - Mobile Product
  •  Created and set up from scratch the embedded Linux OS / BSP on ARM 920T (Buildroot, Busybox, kernel 2.6.28)
Embedded Linux BSP DevelopmentCLinux KernelEmbedded LinuxDevice Drivers

Energywin technologies pvt ltd

Embedded Software Engineer - Embedded Linux BSP's Development

Aug 2011Apr 2012 · 8 mos · Bangalore, India

  •  Board bring-up on custom hardware design - Porting Android BSP’s, Designed and Implemented Android based RFID Hand Held Reader product for Asset Tracking - Designed for IBM Solutions
  •  Integrating the Wi-Fi module with I.MX53 QSB & building Android 2.3.4 & configuring FTDI USB-Serial driver in Linux kernel configuration file for receiving RFID Tag data from AS3992(AMS RFID reader) & transmitting the data through Wi-Fi module.
  •  Configuring the Wi-Fi module through AT commands via UART interface in i.MX53 QSB.
  •  Transmitting & Receiving the data through TCP/IP protocol between Redpine Wi-Fi module & Android i.MX535 QSB.
  •  Developed application in C for the configured USB-Serial driver by using FTDI library according to the data sheet provided by FTDI chip.
  •  Transmitting & Receiving the data through USB-Serial interface between AS3992(AMS RFID Reader) & Android i.MX535 QSB.
Embedded Linux BSP DevelopmentCAndroidEmbedded LinuxDevice Drivers

Education

RNS Institute of Technology - India

Bachelor of Engineering - BE — Instrumentation Technology/Technician

Jan 2005Jan 2009

Stackforce found 100+ more professionals with Embedded Linux & Device Drivers

Explore similar profiles based on matching skills and experience