[Nokia-7215-A1][arm64]Update platform init files (#18267)
This commit is contained in:
parent
12c662ab32
commit
fe1e96dafe
@ -31,7 +31,7 @@ PLATFORM_AC5X=0
|
|||||||
PLATFORM_CN9131=0
|
PLATFORM_CN9131=0
|
||||||
|
|
||||||
case $PLATFORM in
|
case $PLATFORM in
|
||||||
arm64-nokia_ixs7215_52xb-r0) PLATFORM_AC5X=1;
|
arm64-nokia_ixs7215_52xb-r0) PLATFORM_7215_A1=1;
|
||||||
fdt_fname="/usr/lib/linux-image-${kernel_version}/marvell/7215-ixs-a1.dtb";
|
fdt_fname="/usr/lib/linux-image-${kernel_version}/marvell/7215-ixs-a1.dtb";
|
||||||
fit_conf_name="#conf_7215_a1";;
|
fit_conf_name="#conf_7215_a1";;
|
||||||
arm64-marvell_rd98DX35xx-r0) PLATFORM_AC5X=1;
|
arm64-marvell_rd98DX35xx-r0) PLATFORM_AC5X=1;
|
||||||
@ -50,6 +50,12 @@ if [ $PLATFORM_AC5X -eq 1 ]; then
|
|||||||
FW_ENV_DEFAULT='/dev/mtd0 0x400000 0x10000 0x10000'
|
FW_ENV_DEFAULT='/dev/mtd0 0x400000 0x10000 0x10000'
|
||||||
demo_part=2
|
demo_part=2
|
||||||
mmc_bus="mmc0:0001"
|
mmc_bus="mmc0:0001"
|
||||||
|
elif [ $PLATFORM_7215_A1 -eq 1 ]; then
|
||||||
|
fit_addr=0x20000000
|
||||||
|
VAR_LOG=4096
|
||||||
|
FW_ENV_DEFAULT='/dev/mtd1 0x0 0x10000 0x10000'
|
||||||
|
demo_part=2
|
||||||
|
mmc_bus="mmc0:0001"
|
||||||
elif [ $PLATFORM_CN9131 -eq 1 ]; then
|
elif [ $PLATFORM_CN9131 -eq 1 ]; then
|
||||||
fdt_addr=0x1000000
|
fdt_addr=0x1000000
|
||||||
fit_addr=0x8000000
|
fit_addr=0x8000000
|
||||||
|
@ -56,18 +56,14 @@
|
|||||||
#define SYSTEM_STATUS_LED_CONTROL_REG 0x07
|
#define SYSTEM_STATUS_LED_CONTROL_REG 0x07
|
||||||
#define POWER_AND_FAN_LED_CONTROL_REG 0x08
|
#define POWER_AND_FAN_LED_CONTROL_REG 0x08
|
||||||
#define SFP_TX_FAULT_STATUS_REG 0x09
|
#define SFP_TX_FAULT_STATUS_REG 0x09
|
||||||
#define PSU1_PSU2_DEVICE_STATUS_REG 0x0A
|
#define TEMP_EVENT_STATUS_REG 0x0D
|
||||||
#define FAN_ENABLE_REG 0x0B
|
#define TEMP_EVENT_MASK_REG 0x0E
|
||||||
#define USB_POWER_ENABLE_REG 0x0C
|
|
||||||
#define SFP_LED_TEST_REG 0x0F
|
#define SFP_LED_TEST_REG 0x0F
|
||||||
#define RESET_REG 0x10
|
#define RESET_REG 0x10
|
||||||
#define PHY_IRQ_LIVE_STATE_REG 0x11
|
|
||||||
#define MISC_IRQ_LIVE_STATE_REG 0x12
|
#define MISC_IRQ_LIVE_STATE_REG 0x12
|
||||||
#define INTERRUPT_REG 0x13
|
#define INTERRUPT_REG 0x13
|
||||||
#define INTERRUPT_MASK_REG 0x14
|
#define INTERRUPT_MASK_REG 0x14
|
||||||
#define PHY_INT_STATUS_REG 0x15
|
|
||||||
#define MISC_INT_STATUS_REG 0x16
|
#define MISC_INT_STATUS_REG 0x16
|
||||||
#define PHY_INT_MASK_REG 0x17
|
|
||||||
#define MISC_INT_MASK_REG 0x18
|
#define MISC_INT_MASK_REG 0x18
|
||||||
#define GPIO_DIRECTION_REG 0x19
|
#define GPIO_DIRECTION_REG 0x19
|
||||||
#define GPIO_DATA_IN_REG 0x1A
|
#define GPIO_DATA_IN_REG 0x1A
|
||||||
@ -79,6 +75,7 @@
|
|||||||
#define RESET_CAUSE_REG_WARM_RESET 0x2
|
#define RESET_CAUSE_REG_WARM_RESET 0x2
|
||||||
#define RESET_CAUSE_REG_WDOG_RESET 0x4
|
#define RESET_CAUSE_REG_WDOG_RESET 0x4
|
||||||
#define RESET_CAUSE_REG_SYS_RESET 0x8
|
#define RESET_CAUSE_REG_SYS_RESET 0x8
|
||||||
|
#define RESET_CAUSE_REG_THERMAL_OL 0x10
|
||||||
|
|
||||||
#define SFP_PRESENCE_REG_SFP49 0x0
|
#define SFP_PRESENCE_REG_SFP49 0x0
|
||||||
#define SFP_PRESENCE_REG_SFP50 0x1
|
#define SFP_PRESENCE_REG_SFP50 0x1
|
||||||
@ -96,6 +93,13 @@
|
|||||||
#define SFP_TX_DISABLE_REG_SFP52 0x3
|
#define SFP_TX_DISABLE_REG_SFP52 0x3
|
||||||
#define SFP_TX_DISABLE_REG_LED_MUX 0x4
|
#define SFP_TX_DISABLE_REG_LED_MUX 0x4
|
||||||
|
|
||||||
|
#define TS1_ALERT_EVENT 0x2
|
||||||
|
#define TS2_ALERT_EVENT 0x4
|
||||||
|
#define TS3_ALERT_EVENT 0x8
|
||||||
|
#define CPU_TEMP_EVENT 0x10
|
||||||
|
#define AC5X_HIGHTEMP_EVENT 0x20
|
||||||
|
#define DIMM_TEMP_EVENT 0x40
|
||||||
|
|
||||||
#define MAC_INIT_STATUS_REG_INIT_DONE 0x2
|
#define MAC_INIT_STATUS_REG_INIT_DONE 0x2
|
||||||
|
|
||||||
enum system_status_led_mode {
|
enum system_status_led_mode {
|
||||||
@ -129,14 +133,6 @@ char *power_fan_led_mode_str[]={"off", "green", "amber", "blink-green", "invalid
|
|||||||
#define SFP_TX_FAULT_STATUS_SFP51 0x2
|
#define SFP_TX_FAULT_STATUS_SFP51 0x2
|
||||||
#define SFP_TX_FAULT_STATUS_SFP52 0x3
|
#define SFP_TX_FAULT_STATUS_SFP52 0x3
|
||||||
|
|
||||||
#define PSU1_POWERGOOD 2
|
|
||||||
#define PSU2_POWERGOOD 3
|
|
||||||
|
|
||||||
#define FAN1_ENABLE 0
|
|
||||||
#define FAN2_ENABLE 1
|
|
||||||
|
|
||||||
#define USB_POWER_ENABLE 0
|
|
||||||
|
|
||||||
#define RESET_REG_WARM_RESET 0x0
|
#define RESET_REG_WARM_RESET 0x0
|
||||||
#define RESET_REG_COLD_RESET 0x4
|
#define RESET_REG_COLD_RESET 0x4
|
||||||
#define RESET_REG_I2CMUX_RESET 0x6
|
#define RESET_REG_I2CMUX_RESET 0x6
|
||||||
@ -193,22 +189,26 @@ static ssize_t show_last_reset_cause(struct device *dev, struct device_attribute
|
|||||||
val = nokia_7215_ixs_a1_cpld_read(data, RESET_CAUSE_REG);
|
val = nokia_7215_ixs_a1_cpld_read(data, RESET_CAUSE_REG);
|
||||||
switch (val) {
|
switch (val) {
|
||||||
case RESET_CAUSE_REG_COLD_RESET:
|
case RESET_CAUSE_REG_COLD_RESET:
|
||||||
reason="cold reset";
|
reason="cold_reset";
|
||||||
break;
|
break;
|
||||||
case RESET_CAUSE_REG_WARM_RESET:
|
case RESET_CAUSE_REG_WARM_RESET:
|
||||||
reason="warm reset";
|
reason="warm_reset";
|
||||||
break;
|
break;
|
||||||
case RESET_CAUSE_REG_WDOG_RESET:
|
case RESET_CAUSE_REG_WDOG_RESET:
|
||||||
reason="wdog reset";
|
reason="wdog_reset";
|
||||||
break;
|
break;
|
||||||
case RESET_CAUSE_REG_SYS_RESET:
|
case RESET_CAUSE_REG_SYS_RESET:
|
||||||
reason="sys reset";
|
reason="sys_reset";
|
||||||
break;
|
break;
|
||||||
|
case RESET_CAUSE_REG_THERMAL_OL:
|
||||||
|
reason="thermal_reset";
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
reason="unknown";
|
reason="unknown";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return sprintf(buf,"0x%02x %s\n",val, reason);
|
return sprintf(buf,"%s\n",reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t show_cpld_version(struct device *dev, struct device_attribute *devattr, char *buf)
|
static ssize_t show_cpld_version(struct device *dev, struct device_attribute *devattr, char *buf)
|
||||||
@ -343,82 +343,38 @@ static ssize_t show_sfp_tx_fault(struct device *dev, struct device_attribute *de
|
|||||||
return sprintf(buf,"%d\n",(val>>sda->index) & 0x1 ? 1:0);
|
return sprintf(buf,"%d\n",(val>>sda->index) & 0x1 ? 1:0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static ssize_t show_temp_event_status(struct device *dev, struct device_attribute *devattr, char *buf)
|
||||||
static ssize_t show_psu_pg_status(struct device *dev, struct device_attribute *devattr, char *buf)
|
|
||||||
{
|
{
|
||||||
struct cpld_data *data = dev_get_drvdata(dev);
|
struct cpld_data *data = dev_get_drvdata(dev);
|
||||||
struct sensor_device_attribute *sda = to_sensor_dev_attr(devattr);
|
|
||||||
u8 val=0;
|
u8 val=0;
|
||||||
val = nokia_7215_ixs_a1_cpld_read(data, PSU1_PSU2_DEVICE_STATUS_REG);
|
char *reason=NULL;
|
||||||
|
val = nokia_7215_ixs_a1_cpld_read(data, TEMP_EVENT_STATUS_REG);
|
||||||
/* If the bit is set, psu power is good */
|
switch (val) {
|
||||||
return sprintf(buf,"%d\n",(val>>sda->index) & 0x1 ? 1:0);
|
case TS1_ALERT_EVENT:
|
||||||
}
|
reason="ts1";
|
||||||
|
break;
|
||||||
static ssize_t show_fan_enable_status(struct device *dev, struct device_attribute *devattr, char *buf)
|
case TS2_ALERT_EVENT:
|
||||||
{
|
reason="ts2";
|
||||||
struct cpld_data *data = dev_get_drvdata(dev);
|
break;
|
||||||
struct sensor_device_attribute *sda = to_sensor_dev_attr(devattr);
|
case TS3_ALERT_EVENT:
|
||||||
u8 val=0;
|
reason="ts3";
|
||||||
val = nokia_7215_ixs_a1_cpld_read(data, FAN_ENABLE_REG);
|
break;
|
||||||
|
case CPU_TEMP_EVENT:
|
||||||
/* If the bit is set, fan is disabled. So, toggling intentionally */
|
reason="cpu";
|
||||||
return sprintf(buf,"%d\n",(val>>sda->index) & 0x1 ? 0:1);
|
break;
|
||||||
}
|
case AC5X_HIGHTEMP_EVENT:
|
||||||
|
reason="ac5x";
|
||||||
static ssize_t set_fan_enable_status(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count)
|
break;
|
||||||
{
|
case DIMM_TEMP_EVENT:
|
||||||
struct cpld_data *data = dev_get_drvdata(dev);
|
reason="dimm";
|
||||||
struct sensor_device_attribute *sda = to_sensor_dev_attr(devattr);
|
break;
|
||||||
u8 reg_val=0, usr_val=0, mask;
|
|
||||||
int ret=kstrtou8(buf,10, &usr_val);
|
default:
|
||||||
if (ret != 0) {
|
reason="none";
|
||||||
return ret;
|
break;
|
||||||
}
|
|
||||||
if (usr_val > 1) {
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
}
|
||||||
|
return sprintf(buf,"0x%02x %s\n",val, reason);
|
||||||
|
|
||||||
mask = (~(1 << sda->index)) & 0xFF;
|
|
||||||
reg_val = nokia_7215_ixs_a1_cpld_read(data, RESET_REG);
|
|
||||||
reg_val = reg_val & mask;
|
|
||||||
|
|
||||||
usr_val = !usr_val; // If the bit is set, fan is disabled. So, toggling intentionally
|
|
||||||
usr_val = usr_val << sda->index;
|
|
||||||
|
|
||||||
nokia_7215_ixs_a1_cpld_write(data, FAN_ENABLE_REG, (reg_val|usr_val));
|
|
||||||
|
|
||||||
return count;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static ssize_t show_usb_enable_status(struct device *dev, struct device_attribute *devattr, char *buf)
|
|
||||||
{
|
|
||||||
struct cpld_data *data = dev_get_drvdata(dev);
|
|
||||||
struct sensor_device_attribute *sda = to_sensor_dev_attr(devattr);
|
|
||||||
u8 val=0;
|
|
||||||
val = nokia_7215_ixs_a1_cpld_read(data, USB_POWER_ENABLE_REG);
|
|
||||||
|
|
||||||
/* If the bit is set, usb power is disabled. So, toggling intentionally */
|
|
||||||
return sprintf(buf,"%d\n",(val>>sda->index) & 0x1 ? 0:1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static ssize_t set_usb_enable_status(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count)
|
|
||||||
{
|
|
||||||
struct cpld_data *data = dev_get_drvdata(dev);
|
|
||||||
u8 usr_val=0;
|
|
||||||
int ret=kstrtou8(buf,16, &usr_val);
|
|
||||||
if (ret != 0) {
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
if(usr_val > 1) {
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
/* If the bit is set, usb power is disabled. So, toggling intentionally */
|
|
||||||
usr_val = !usr_val;
|
|
||||||
|
|
||||||
nokia_7215_ixs_a1_cpld_write(data, USB_POWER_ENABLE_REG, usr_val);
|
|
||||||
return count;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t show_sfp_ledtest_status(struct device *dev, struct device_attribute *devattr, char *buf)
|
static ssize_t show_sfp_ledtest_status(struct device *dev, struct device_attribute *devattr, char *buf)
|
||||||
@ -441,6 +397,26 @@ static ssize_t set_sfp_ledtest_status(struct device *dev, struct device_attribut
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static ssize_t show_temp_event_mask_status(struct device *dev, struct device_attribute *devattr, char *buf)
|
||||||
|
{
|
||||||
|
struct cpld_data *data = dev_get_drvdata(dev);
|
||||||
|
u8 val = nokia_7215_ixs_a1_cpld_read(data, TEMP_EVENT_MASK_REG);
|
||||||
|
return sprintf(buf,"0x%02x\n",val);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ssize_t set_temp_event_mask_status(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count)
|
||||||
|
{
|
||||||
|
struct cpld_data *data = dev_get_drvdata(dev);
|
||||||
|
u8 usr_val=0;
|
||||||
|
int ret=kstrtou8(buf,16, &usr_val);
|
||||||
|
if (ret != 0) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
nokia_7215_ixs_a1_cpld_write(data, TEMP_EVENT_MASK_REG, usr_val);
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
static ssize_t show_reset_reg(struct device *dev, struct device_attribute *devattr, char *buf)
|
static ssize_t show_reset_reg(struct device *dev, struct device_attribute *devattr, char *buf)
|
||||||
{
|
{
|
||||||
struct cpld_data *data = dev_get_drvdata(dev);
|
struct cpld_data *data = dev_get_drvdata(dev);
|
||||||
@ -499,12 +475,9 @@ static SENSOR_DEVICE_ATTR(sfp49_tx_fault, S_IRUGO, show_sfp_tx_fault, NULL, SFP_
|
|||||||
static SENSOR_DEVICE_ATTR(sfp50_tx_fault, S_IRUGO, show_sfp_tx_fault, NULL, SFP_TX_FAULT_STATUS_SFP50);
|
static SENSOR_DEVICE_ATTR(sfp50_tx_fault, S_IRUGO, show_sfp_tx_fault, NULL, SFP_TX_FAULT_STATUS_SFP50);
|
||||||
static SENSOR_DEVICE_ATTR(sfp51_tx_fault, S_IRUGO, show_sfp_tx_fault, NULL, SFP_TX_FAULT_STATUS_SFP51);
|
static SENSOR_DEVICE_ATTR(sfp51_tx_fault, S_IRUGO, show_sfp_tx_fault, NULL, SFP_TX_FAULT_STATUS_SFP51);
|
||||||
static SENSOR_DEVICE_ATTR(sfp52_tx_fault, S_IRUGO, show_sfp_tx_fault, NULL, SFP_TX_FAULT_STATUS_SFP52);
|
static SENSOR_DEVICE_ATTR(sfp52_tx_fault, S_IRUGO, show_sfp_tx_fault, NULL, SFP_TX_FAULT_STATUS_SFP52);
|
||||||
static SENSOR_DEVICE_ATTR(psu1_power_good, S_IRUGO, show_psu_pg_status, NULL, PSU1_POWERGOOD);
|
static SENSOR_DEVICE_ATTR(temp_event_status, S_IRUGO, show_temp_event_status, NULL, 0);
|
||||||
static SENSOR_DEVICE_ATTR(psu2_power_good, S_IRUGO, show_psu_pg_status, NULL, PSU2_POWERGOOD);
|
|
||||||
static SENSOR_DEVICE_ATTR(fan1_enable, S_IRUGO | S_IWUSR, show_fan_enable_status, set_fan_enable_status, FAN1_ENABLE);
|
|
||||||
static SENSOR_DEVICE_ATTR(fan2_enable, S_IRUGO | S_IWUSR, show_fan_enable_status, set_fan_enable_status, FAN2_ENABLE);
|
|
||||||
static SENSOR_DEVICE_ATTR(usb_power_enable, S_IRUGO | S_IWUSR, show_usb_enable_status, set_usb_enable_status, 0);
|
|
||||||
static SENSOR_DEVICE_ATTR(sfp_led_test, S_IRUGO | S_IWUSR, show_sfp_ledtest_status, set_sfp_ledtest_status, 0);
|
static SENSOR_DEVICE_ATTR(sfp_led_test, S_IRUGO | S_IWUSR, show_sfp_ledtest_status, set_sfp_ledtest_status, 0);
|
||||||
|
static SENSOR_DEVICE_ATTR(temp_event_mask, S_IRUGO | S_IWUSR, show_temp_event_mask_status, set_temp_event_mask_status, 0);
|
||||||
static SENSOR_DEVICE_ATTR(warm_reset, S_IRUGO | S_IWUSR, show_reset_reg, set_reset_reg, RESET_REG_WARM_RESET);
|
static SENSOR_DEVICE_ATTR(warm_reset, S_IRUGO | S_IWUSR, show_reset_reg, set_reset_reg, RESET_REG_WARM_RESET);
|
||||||
static SENSOR_DEVICE_ATTR(cold_reset, S_IRUGO | S_IWUSR, show_reset_reg, set_reset_reg, RESET_REG_COLD_RESET);
|
static SENSOR_DEVICE_ATTR(cold_reset, S_IRUGO | S_IWUSR, show_reset_reg, set_reset_reg, RESET_REG_COLD_RESET);
|
||||||
static SENSOR_DEVICE_ATTR(i2cmux_reset, S_IRUGO | S_IWUSR, show_reset_reg, set_reset_reg, RESET_REG_I2CMUX_RESET);
|
static SENSOR_DEVICE_ATTR(i2cmux_reset, S_IRUGO | S_IWUSR, show_reset_reg, set_reset_reg, RESET_REG_I2CMUX_RESET);
|
||||||
@ -526,6 +499,7 @@ static struct attribute *nokia_7215_ixs_a1_cpld_attributes[] = {
|
|||||||
&sensor_dev_attr_sfp50_tx_disable.dev_attr.attr,
|
&sensor_dev_attr_sfp50_tx_disable.dev_attr.attr,
|
||||||
&sensor_dev_attr_sfp51_tx_disable.dev_attr.attr,
|
&sensor_dev_attr_sfp51_tx_disable.dev_attr.attr,
|
||||||
&sensor_dev_attr_sfp52_tx_disable.dev_attr.attr,
|
&sensor_dev_attr_sfp52_tx_disable.dev_attr.attr,
|
||||||
|
&sensor_dev_attr_temp_event_status.dev_attr.attr,
|
||||||
&sensor_dev_attr_system_led.dev_attr.attr,
|
&sensor_dev_attr_system_led.dev_attr.attr,
|
||||||
&sensor_dev_attr_psu_led.dev_attr.attr,
|
&sensor_dev_attr_psu_led.dev_attr.attr,
|
||||||
&sensor_dev_attr_fan_led.dev_attr.attr,
|
&sensor_dev_attr_fan_led.dev_attr.attr,
|
||||||
@ -533,12 +507,8 @@ static struct attribute *nokia_7215_ixs_a1_cpld_attributes[] = {
|
|||||||
&sensor_dev_attr_sfp50_tx_fault.dev_attr.attr,
|
&sensor_dev_attr_sfp50_tx_fault.dev_attr.attr,
|
||||||
&sensor_dev_attr_sfp51_tx_fault.dev_attr.attr,
|
&sensor_dev_attr_sfp51_tx_fault.dev_attr.attr,
|
||||||
&sensor_dev_attr_sfp52_tx_fault.dev_attr.attr,
|
&sensor_dev_attr_sfp52_tx_fault.dev_attr.attr,
|
||||||
&sensor_dev_attr_psu1_power_good.dev_attr.attr,
|
|
||||||
&sensor_dev_attr_psu2_power_good.dev_attr.attr,
|
|
||||||
&sensor_dev_attr_fan1_enable.dev_attr.attr,
|
|
||||||
&sensor_dev_attr_fan2_enable.dev_attr.attr,
|
|
||||||
&sensor_dev_attr_usb_power_enable.dev_attr.attr,
|
|
||||||
&sensor_dev_attr_sfp_led_test.dev_attr.attr,
|
&sensor_dev_attr_sfp_led_test.dev_attr.attr,
|
||||||
|
&sensor_dev_attr_temp_event_mask.dev_attr.attr,
|
||||||
&sensor_dev_attr_warm_reset.dev_attr.attr,
|
&sensor_dev_attr_warm_reset.dev_attr.attr,
|
||||||
&sensor_dev_attr_cold_reset.dev_attr.attr,
|
&sensor_dev_attr_cold_reset.dev_attr.attr,
|
||||||
&sensor_dev_attr_i2cmux_reset.dev_attr.attr,
|
&sensor_dev_attr_i2cmux_reset.dev_attr.attr,
|
||||||
|
@ -6,7 +6,14 @@
|
|||||||
load_kernel_drivers() {
|
load_kernel_drivers() {
|
||||||
echo "Loading Kernel Drivers"
|
echo "Loading Kernel Drivers"
|
||||||
sudo insmod /lib/modules/5.10.0-23-2-arm64/kernel/extra/nokia_7215_ixs_a1_cpld.ko
|
sudo insmod /lib/modules/5.10.0-23-2-arm64/kernel/extra/nokia_7215_ixs_a1_cpld.ko
|
||||||
sudo insmod /lib/modules/5.10.0-23-2-arm64/kernel/extra/ac5_thermal_sensor.ko
|
sudo insmod /lib/modules/5.10.0-23-2-arm64/kernel/extra/cn9130_cpu_thermal_sensor.ko
|
||||||
|
}
|
||||||
|
|
||||||
|
fw_uboot_env_cfg()
|
||||||
|
{
|
||||||
|
echo "Setting up U-Boot environment for Nokia-7215-A1"
|
||||||
|
FW_ENV_DEFAULT='/dev/mtd1 0x0 0x10000 0x10000'
|
||||||
|
echo $FW_ENV_DEFAULT > /etc/fw_env.config
|
||||||
}
|
}
|
||||||
|
|
||||||
nokia_7215_profile()
|
nokia_7215_profile()
|
||||||
@ -33,8 +40,8 @@ file_exists() {
|
|||||||
# Install kernel drivers required for i2c bus access
|
# Install kernel drivers required for i2c bus access
|
||||||
load_kernel_drivers
|
load_kernel_drivers
|
||||||
|
|
||||||
# Enumerate RTC
|
#setting up uboot environment
|
||||||
echo m41t11 0x68 > /sys/bus/i2c/devices/i2c-0/new_device
|
fw_uboot_env_cfg
|
||||||
|
|
||||||
# Enumerate the SFP eeprom device on each mux channel
|
# Enumerate the SFP eeprom device on each mux channel
|
||||||
echo pca9546 0x70> /sys/bus/i2c/devices/i2c-1/new_device
|
echo pca9546 0x70> /sys/bus/i2c/devices/i2c-1/new_device
|
||||||
@ -43,11 +50,12 @@ echo pca9546 0x70> /sys/bus/i2c/devices/i2c-1/new_device
|
|||||||
echo ina230 0x40 > /sys/bus/i2c/devices/i2c-0/new_device
|
echo ina230 0x40 > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
|
|
||||||
# Enumerate fan
|
# Enumerate fan
|
||||||
echo emc2305 0x2e > /sys/bus/i2c/devices/i2c-0/new_device
|
echo emc2305 0x2f > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
|
|
||||||
# Enumerate Thermals
|
# Enumerate Thermals
|
||||||
echo tmp75 0x48 > /sys/bus/i2c/devices/i2c-0/new_device
|
echo tmp75 0x48 > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
echo tmp75 0x49 > /sys/bus/i2c/devices/i2c-0/new_device
|
echo tmp75 0x49 > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
|
echo tmp75 0x4A > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
|
|
||||||
#Enumerate CPLD
|
#Enumerate CPLD
|
||||||
echo nokia_7215_a1_cpld 0x41 > /sys/bus/i2c/devices/i2c-0/new_device
|
echo nokia_7215_a1_cpld 0x41 > /sys/bus/i2c/devices/i2c-0/new_device
|
||||||
@ -63,6 +71,12 @@ else
|
|||||||
echo "SYSEEPROM file not foud"
|
echo "SYSEEPROM file not foud"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#Enumurate GPIO
|
||||||
|
echo 41 > /sys/class/gpio/export
|
||||||
|
echo 61 > /sys/class/gpio/export
|
||||||
|
echo 62 > /sys/class/gpio/export
|
||||||
|
chmod 666 /sys/class/gpio/gpio41/value
|
||||||
|
|
||||||
# Get list of the mux channels
|
# Get list of the mux channels
|
||||||
for((i=0; i<10; i++));
|
for((i=0; i<10; i++));
|
||||||
do
|
do
|
||||||
@ -85,8 +99,8 @@ do
|
|||||||
echo 0 > /sys/bus/i2c/devices/0-0041/sfp${i}_tx_disable
|
echo 0 > /sys/bus/i2c/devices/0-0041/sfp${i}_tx_disable
|
||||||
done
|
done
|
||||||
|
|
||||||
#slow down fan speed to 50 untill thermal algorithm kicks in%
|
#slow down fan speed to 50% untill thermal algorithm kicks in
|
||||||
i2c_path="/sys/bus/i2c/devices/0-002e/hwmon/hwmon?"
|
i2c_path="/sys/bus/i2c/devices/0-002f/hwmon/hwmon?"
|
||||||
echo 128 > $i2c_path/pwm1
|
echo 128 > $i2c_path/pwm1
|
||||||
echo 128 > $i2c_path/pwm2
|
echo 128 > $i2c_path/pwm2
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
type = "flat_dt";
|
type = "flat_dt";
|
||||||
arch = "arm64";
|
arch = "arm64";
|
||||||
compression = "none";
|
compression = "none";
|
||||||
load = <0x2 0x1000000>;
|
load = <0x11000000>;
|
||||||
hash@1 {
|
hash@1 {
|
||||||
algo = "sha1";
|
algo = "sha1";
|
||||||
};
|
};
|
||||||
@ -66,6 +66,19 @@
|
|||||||
algo = "sha1";
|
algo = "sha1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
kernel_2 {
|
||||||
|
description = "Linux Kernel";
|
||||||
|
data = /incbin/("/boot/vmlinuz-5.10.0-23-2-arm64");
|
||||||
|
type = "kernel";
|
||||||
|
arch = "arm64";
|
||||||
|
os = "linux";
|
||||||
|
compression = "none";
|
||||||
|
load = <0x12000000>;
|
||||||
|
entry = <0x12000000>;
|
||||||
|
hash@1 {
|
||||||
|
algo = "sha1";
|
||||||
|
};
|
||||||
|
};
|
||||||
ramdisk_1 {
|
ramdisk_1 {
|
||||||
description = "ramdisk";
|
description = "ramdisk";
|
||||||
data = /incbin/("/boot/initrd.img-5.10.0-23-2-arm64");
|
data = /incbin/("/boot/initrd.img-5.10.0-23-2-arm64");
|
||||||
@ -79,6 +92,19 @@
|
|||||||
algo = "sha1";
|
algo = "sha1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
ramdisk_2 {
|
||||||
|
description = "ramdisk";
|
||||||
|
data = /incbin/("/boot/initrd.img-5.10.0-23-2-arm64");
|
||||||
|
type = "ramdisk";
|
||||||
|
arch = "arm64";
|
||||||
|
os = "linux";
|
||||||
|
compression = "gzip";
|
||||||
|
load = <0x18000000>;
|
||||||
|
entry = <0x18000000>;
|
||||||
|
hash@1 {
|
||||||
|
algo = "sha1";
|
||||||
|
};
|
||||||
|
};
|
||||||
fdt_cn9131 {
|
fdt_cn9131 {
|
||||||
description = "Flattened Device Tree blob";
|
description = "Flattened Device Tree blob";
|
||||||
data = /incbin/("/boot/cn9131-db-comexpress.dtb");
|
data = /incbin/("/boot/cn9131-db-comexpress.dtb");
|
||||||
@ -105,9 +131,9 @@
|
|||||||
};
|
};
|
||||||
conf_7215_a1 {
|
conf_7215_a1 {
|
||||||
description = "Boot Linux kernel with FDT blob + ramdisk for 7125_IXS_A1";
|
description = "Boot Linux kernel with FDT blob + ramdisk for 7125_IXS_A1";
|
||||||
kernel = "kernel_ac5x";
|
kernel = "kernel_2";
|
||||||
fdt = "fdt_7215_a1";
|
fdt = "fdt_7215_a1";
|
||||||
ramdisk = "ramdisk_ac5x";
|
ramdisk = "ramdisk_2";
|
||||||
hash@1 {
|
hash@1 {
|
||||||
algo = "sha1";
|
algo = "sha1";
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user