Skip to content

Kernel 6.12 sc59*-som-ezlite support #2846

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 27 additions & 10 deletions arch/arm/configs/sc594-som-ezlite_defconfig
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
CONFIG_LOCALVERSION="-yocto-standard"
CONFIG_SYSVIPC=y
# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_USELIB=y
CONFIG_GENERIC_IRQ_DEBUGFS=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BPF_SYSCALL=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_IKCONFIG=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_CGROUPS=y
CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_USER_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
Expand All @@ -16,6 +23,9 @@ CONFIG_BLK_DEV_INITRD=y
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_ZSTD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
CONFIG_SLAB=y
CONFIG_PROFILING=y
CONFIG_ARCH_SC5XX=y
CONFIG_ARCH_SC59X=y
Expand All @@ -29,8 +39,6 @@ CONFIG_CPUFREQ_DT=y
# CONFIG_SUSPEND is not set
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_SWAP is not set
# CONFIG_COMPACTION is not set
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
Expand All @@ -39,7 +47,6 @@ CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_INET_DIAG is not set
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
Expand All @@ -48,6 +55,7 @@ CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBS=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_DNS_RESOLVER=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=y
Expand All @@ -62,7 +70,6 @@ CONFIG_ADI_SRAM_MMAP_V7=y
CONFIG_ADI_SRAM_CONTROLLER=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_NETDEVICES=y
CONFIG_NETCONSOLE=y
CONFIG_STMMAC_ETH=y
Expand All @@ -73,16 +80,20 @@ CONFIG_INPUT_MISC=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_ADI=y
CONFIG_TTY_PRINTK=y
CONFIG_BUTTON_LED=y
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=m
CONFIG_I2C_ADI_TWI=y
CONFIG_SPI=y
CONFIG_SPI_ADI=y
CONFIG_SPI_CADENCE_QUADSPI=y
CONFIG_SPI_SPIDEV=y
CONFIG_PINCTRL_MCP23S08=y
CONFIG_SRUCTRL_ADSP_SC5XX=y
# CONFIG_HWMON is not set
CONFIG_GPIO_ADP5588=y
CONFIG_WATCHDOG=y
CONFIG_ADI_WATCHDOG=y
CONFIG_FB=m
Expand All @@ -107,25 +118,31 @@ CONFIG_MMC_DW=y
CONFIG_RTC_CLASS=y
CONFIG_DMADEVICES=y
CONFIG_ADI_DMA=y
# CONFIG_VIRTIO_MENU is not set
# CONFIG_VHOST_MENU is not set
CONFIG_STAGING=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_REMOTEPROC=y
CONFIG_RPMSG_CHAR=y
CONFIG_RPMSG_VIRTIO=y
CONFIG_GENERIC_PHY=y
CONFIG_EXT4_FS=y
# CONFIG_DNOTIFY is not set
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_CONFIGFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_UBIFS_FS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_ROOT_NFS=y
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRC_CCITT=y
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_DEBUG_FS=y
# CONFIG_FTRACE is not set
212 changes: 212 additions & 0 deletions arch/arm64/boot/dts/adi/sc598-som-ezlite.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
/*
* Copyright (c) 2021 Analog Devices Incorporated
* Author: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
*/

/dts-v1/;

#include "sc598-som.dtsi"

/ {
model = "ADI 64-bit SC598 SOM EZ Lite";
compatible = "adi,sc598-som-ezlite", "adi,sc59x-64";

clocks {
compatible = "simple-bus";
mclk: mclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24576000>;
clock-output-names = "mclk";
};
};

scb {
sound {
compatible = "adi,sc5xx-asoc-card";
adi,cpu-dai = <&i2s0>;
adi,codec = <&adau1372>;
};
};
};

&i2c2 {
gpio_expander: adp5588@30 {
compatible = "adi,adp5588-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x30>;
status = "okay";

usb-spi0 {
gpio-hog;
gpios = <8 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "usb_spi0_en";
};

usb-spi1 {
gpio-hog;
gpios = <9 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "usb_spi1_en";
};

usb-qspi-en {
gpio-hog;
gpios = <10 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "usb_qspi_en";
};

usb-qspi-reset {
gpio-hog;
gpios = <11 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "usb_qspi_reset";
};

eth0-reset {
gpio-hog;
gpios = <12 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "~eth0-reset";
};

adau1372-pwrdwn {
gpio-hog;
gpios = <13 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "adau1372_pwrdwn";
};

led1 {
gpio-hog;
gpios = <15 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "led1-en";
};

led2 {
gpio-hog;
gpios = <16 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "led2-en";
};

led3 {
gpio-hog;
gpios = <17 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "led3-en";
};
};

adau1372: adau1372@0x3c {
compatible = "adi,adau1372";
reg = <0x3c>;
clock-names = "mclk";
clocks = <&mclk>;
};
};

&emac0 {
snps,reset-active-low;
snps,reset-delays-us = <0 200 500>;
phy-handle = <&adin1300>;
phy-mode = "rgmii-id";
pinctrl-names = "default";
pinctrl-0 = <&eth0_default>;
status = "okay";
snps,mtl-rx-config = <&emac0rxconfig>;
snps,mtl-tx-config = <&emac0txconfig>;

emac0txconfig: tx-config {
snps,tx-queues-to-use = <3>;

queue0 {
snps,dcb-algorithm;
};

queue1 {
snps,dcb-algorithm;
};

queue2 {
snps,dcb-algorithm;
};
};

emac0rxconfig: rx-config {
snps,rx-queues-to-use = <1>;

queue0 {
snps,dcb-algorithm;
};

queue1 {
snps,dcb-algorithm;
};

queue2 {
snps,dcb-algorithm;
};
};

mdio0 {
compatible = "snps,dwmac-mdio";
#address-cells = <1>;
#size-cells = <0>;
adin1300: ethernet-phy@0 {
reg = <0>;
};
};

};

&emac1 {
status = "disabled";
};

&sru_ctrl_dai0 {
status = "okay";

sru_dai0: sru_dai0_mux {
route {
sru-routing =
/* 1362 TX LRCLK */
<DAI0_LOW_F DAI0_PBEN01_I>, /* set DAI0_PIN01 to input */
<DAI0_PB01_O_ABCDE SPT0_AFS_I>, /* route DAI0_PIN01 to SPT0_AFS */

/* 1363 TX BCLK */
<DAI0_LOW_F DAI0_PBEN02_I>, /* set DAI0_PIN02 to input */
<DAI0_PB02_O_ABCDE SPT0_ACLK_I>, /* route DAI0_PIN02 to SPT0_ACLK */

/* 1363 TX DAC_SDATA/MP0 */
<DAI0_HIGH_F DAI0_PBEN03_I>, /* set DAI0_PIN03 to output */
<SPT0_AD0_O_BD DAI0_PB03_I>, /* route SPT0_AD0 to DAI0_PIN03 */

/* 1362 RX LRCLK */
<DAI0_LOW_F DAI0_PBEN01_I>, /* set DAI0_PIN01 to input */
<DAI0_PB01_O_ABCDE SPT0_BFS_I>, /* route DAI0_PIN01 to SPT0_BFS */

/* 1363 RX BCLK */
<DAI0_LOW_F DAI0_PBEN02_I>, /* set DAI0_PIN02 to input */
<DAI0_PB02_O_ABCDE SPT0_BCLK_I>, /* route DAI0_PIN02 to SPT0_BCLK */

/* 1363 RX ADC_SDATA0/MP1 */
<DAI0_LOW_F DAI0_PBEN04_I>, /* set DAI0_PIN04 to input */
<DAI0_PB04_O_ABCDE SPT0_BD0_I>, /* route DAI0_PIN04 to SPT0_BD0 */

/* 1363 RX ADC_SDATA1/MP6 */
<DAI0_LOW_F DAI0_PBEN05_I>, /* set DAI0_PIN05 to input */
<DAI0_PB05_O_ABCDE SPT0_BD1_I>; /* route DAI0_PIN05 to SPT0_BD1 */
};
};
};

&i2s0 {
pinctrl-names = "default";
pinctrl-0 = <&sru_dai0>;
status = "okay";
};
Loading