[devices]: Add platform support for delta ag9032v2a (#3148)
Add platform support for delta ag9032v2a CPU: Broadwell-DE ASIC: BMC56870 with <100Gx32 + 10Gx1> BMC: AST2520: - What I did add the new platform of delta ag9032v2a - How I did it 1.provide the QSFP and SWPLD attributes and create the virtual buses of I2C 2. provide the port configuration - How to verify it 1. psuutil.py 2. sfputil.py 3. bcmcd - Known issue The port LED is not ready. We noticed that BCM chip had the M0 FW initialization issue while bringing up SDK with "BRCM SAI ver: [3.5.2.3], OCP SAI ver: [1.4], SDK ver: [6.5.14]" and here is the information : root@sonic:/home/admin# bcmcmd "M0 status" M0 status 0:soc_iproc_data_send_wait: No response for msg 2 M0 FW is NOT Running M0 FW Version is 0.0 Host FW Version is 1.0 Host and M0 FW Versions do not match!!! Signed-off-by: hans-tseng <hans.tseng@deltaww.com>
This commit is contained in:
parent
11ea368fef
commit
ca1534aadb
@ -0,0 +1,34 @@
|
||||
# name lanes alias
|
||||
Ethernet0 41,42,43,44 hundredGigE1/1
|
||||
Ethernet4 45,46,47,48 hundredGigE1/2
|
||||
Ethernet8 49,50,51,52 hundredGigE1/3
|
||||
Ethernet12 37,38,39,40 hundredGigE1/4
|
||||
Ethernet16 33,34,35,36 hundredGigE1/5
|
||||
Ethernet20 53,54,55,56 hundredGigE1/6
|
||||
Ethernet24 57,58,59,60 hundredGigE1/7
|
||||
Ethernet28 61,62,63,64 hundredGigE1/8
|
||||
Ethernet32 65,66,67,68 hundredGigE1/9
|
||||
Ethernet36 69,70,71,72 hundredGigE1/10
|
||||
Ethernet40 73,74,75,76 hundredGigE1/11
|
||||
Ethernet44 77,78,79,80 hundredGigE1/12
|
||||
Ethernet48 81,82,83,84 hundredGigE1/13
|
||||
Ethernet52 85,86,87,88 hundredGigE1/14
|
||||
Ethernet56 89,90,91,92 hundredGigE1/15
|
||||
Ethernet60 93,94,95,96 hundredGigE1/16
|
||||
Ethernet64 97,98,99,100 hundredGigE1/17
|
||||
Ethernet68 101,102,103,104 hundredGigE1/18
|
||||
Ethernet72 105,106,107,108 hundredGigE1/19
|
||||
Ethernet76 109,110,111,112 hundredGigE1/20
|
||||
Ethernet80 121,122,123,124 hundredGigE1/21
|
||||
Ethernet84 113,114,115,116 hundredGigE1/22
|
||||
Ethernet88 1,2,3,4 hundredGigE1/23
|
||||
Ethernet92 117,118,119,120 hundredGigE1/24
|
||||
Ethernet96 5,6,7,8 hundredGigE1/25
|
||||
Ethernet100 125,126,127,128 hundredGigE1/26
|
||||
Ethernet104 29,30,31,32 hundredGigE1/27
|
||||
Ethernet108 9,10,11,12 hundredGigE1/28
|
||||
Ethernet112 13,14,15,16 hundredGigE1/29
|
||||
Ethernet116 25,26,27,28 hundredGigE1/30
|
||||
Ethernet120 17,18,19,20 hundredGigE1/31
|
||||
Ethernet124 21,22,23,24 hundredGigE1/32
|
||||
Ethernet128 129 hundredGigE1/33
|
@ -0,0 +1 @@
|
||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td3-ag9032v2a-32x100G+1x10G.config.bcm
|
@ -0,0 +1,390 @@
|
||||
pbmp_oversubscribe=0x00003fc000000ff0000003fc000001fe
|
||||
pbmp_xport_xe=0xffffffffffffffffffffffffffffffffffff
|
||||
core_clock_frequency=1525
|
||||
dpp_clock_ratio=2:3
|
||||
oversubscribe_mode=1
|
||||
parity_enable=0
|
||||
mem_cache_enable=0
|
||||
l2_mem_entries=32768
|
||||
l3_mem_entries=16384
|
||||
fpem_mem_entries=131072
|
||||
l2xmsg_mode=1
|
||||
bcm_num_cos=8
|
||||
bcm_stat_interval=2000000
|
||||
cdma_timeout_usec=3000000
|
||||
ipv6_lpm_128b_enable=0x1
|
||||
l3_max_ecmp_mode=1
|
||||
lpm_scaling_enable=0
|
||||
max_vp_lags=0
|
||||
miim_intr_enable=0
|
||||
module_64ports=1
|
||||
schan_intr_enable=0
|
||||
stable_size=0x5500000
|
||||
tdma_timeout_usec=3000000
|
||||
skip_L2_USER_ENTRY=0
|
||||
bcm_tunnel_term_compatible_mode=1
|
||||
phy_an_c73=1
|
||||
ifp_inports_support_enable=1
|
||||
port_flex_enable=1
|
||||
|
||||
phy_chain_rx_lane_map_physical{1.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{101.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{105.0}=0x1302
|
||||
phy_chain_rx_lane_map_physical{109.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{113.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{117.0}=0x1302
|
||||
phy_chain_rx_lane_map_physical{121.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{125.0}=0x1302
|
||||
phy_chain_rx_lane_map_physical{13.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{17.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{21.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{25.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{29.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{33.0}=0x1302
|
||||
phy_chain_rx_lane_map_physical{37.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{41.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{45.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{49.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{5.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{53.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{57.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{61.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{65.0}=0x1302
|
||||
phy_chain_rx_lane_map_physical{69.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{73.0}=0x2031
|
||||
phy_chain_rx_lane_map_physical{77.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{81.0}=0x1302
|
||||
phy_chain_rx_lane_map_physical{85.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{89.0}=0x1302
|
||||
phy_chain_rx_lane_map_physical{9.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{93.0}=0x3120
|
||||
phy_chain_rx_lane_map_physical{97.0}=0x1302
|
||||
phy_chain_rx_polarity_flip_physical{1.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{10.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{100.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{101.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{102.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{103.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{104.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{105.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{106.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{107.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{108.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{109.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{11.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{110.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{111.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{112.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{113.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{114.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{115.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{116.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{117.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{118.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{119.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{12.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{120.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{121.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{122.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{123.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{124.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{125.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{126.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{127.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{128.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{129.0}=0xf
|
||||
phy_chain_rx_polarity_flip_physical{13.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{14.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{15.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{16.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{17.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{18.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{19.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{2.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{20.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{21.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{22.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{23.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{24.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{25.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{26.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{27.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{28.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{29.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{3.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{30.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{31.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{32.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{33.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{34.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{35.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{36.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{37.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{38.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{39.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{4.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{40.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{41.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{42.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{43.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{44.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{45.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{46.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{47.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{48.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{49.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{5.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{50.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{51.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{52.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{53.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{54.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{55.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{56.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{57.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{58.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{59.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{6.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{60.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{61.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{62.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{63.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{64.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{65.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{66.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{67.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{68.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{69.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{7.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{70.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{71.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{72.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{73.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{74.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{75.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{76.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{77.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{78.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{79.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{8.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{80.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{81.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{82.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{83.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{84.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{85.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{86.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{87.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{88.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{89.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{9.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{90.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{91.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{92.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{93.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{94.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{95.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{96.0}=0x1
|
||||
phy_chain_rx_polarity_flip_physical{97.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{98.0}=0x0
|
||||
phy_chain_rx_polarity_flip_physical{99.0}=0x1
|
||||
phy_chain_tx_lane_map_physical{1.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{101.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{105.0}=0x2031
|
||||
phy_chain_tx_lane_map_physical{109.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{113.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{117.0}=0x2031
|
||||
phy_chain_tx_lane_map_physical{121.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{125.0}=0x2031
|
||||
phy_chain_tx_lane_map_physical{13.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{17.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{21.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{25.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{29.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{33.0}=0x2031
|
||||
phy_chain_tx_lane_map_physical{37.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{41.0}=0x0231
|
||||
phy_chain_tx_lane_map_physical{45.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{49.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{5.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{53.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{57.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{61.0}=0x1302
|
||||
phy_chain_tx_lane_map_physical{65.0}=0x2031
|
||||
phy_chain_tx_lane_map_physical{69.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{73.0}=0x3210
|
||||
phy_chain_tx_lane_map_physical{77.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{81.0}=0x2031
|
||||
phy_chain_tx_lane_map_physical{85.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{89.0}=0x2031
|
||||
phy_chain_tx_lane_map_physical{9.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{93.0}=0x0213
|
||||
phy_chain_tx_lane_map_physical{97.0}=0x2031
|
||||
phy_chain_tx_polarity_flip_physical{1.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{10.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{100.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{101.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{102.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{103.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{104.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{105.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{106.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{107.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{108.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{109.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{11.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{110.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{111.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{112.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{113.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{114.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{115.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{116.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{117.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{118.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{119.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{12.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{120.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{121.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{122.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{123.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{124.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{125.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{126.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{127.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{128.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{129.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{13.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{14.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{15.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{16.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{17.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{18.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{19.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{2.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{20.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{21.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{22.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{23.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{24.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{25.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{26.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{27.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{28.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{29.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{3.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{30.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{31.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{32.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{33.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{34.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{35.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{36.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{37.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{38.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{39.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{4.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{40.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{41.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{42.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{43.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{44.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{45.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{46.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{47.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{48.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{49.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{5.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{50.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{51.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{52.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{53.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{54.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{55.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{56.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{57.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{58.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{59.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{6.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{60.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{61.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{62.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{63.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{64.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{65.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{66.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{67.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{68.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{69.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{7.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{70.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{71.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{72.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{73.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{74.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{75.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{76.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{77.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{78.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{79.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{8.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{80.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{81.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{82.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{83.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{84.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{85.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{86.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{87.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{88.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{89.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{9.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{90.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{91.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{92.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{93.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{94.0}=0x0
|
||||
phy_chain_tx_polarity_flip_physical{95.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{96.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{97.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{98.0}=0x1
|
||||
phy_chain_tx_polarity_flip_physical{99.0}=0x0
|
||||
portmap_66.0=129:10:m
|
||||
portmap_130.0=128:10:m
|
||||
portmap_103=101:100
|
||||
portmap_107=105:100
|
||||
portmap_111=109:100
|
||||
portmap_115=113:100
|
||||
portmap_119=117:100
|
||||
portmap_123=121:100
|
||||
portmap_127=125:100
|
||||
portmap_13=13:100
|
||||
portmap_17=17:100
|
||||
portmap_1=1:100
|
||||
portmap_21=21:100
|
||||
portmap_25=25:100
|
||||
portmap_29=29:100
|
||||
portmap_33=33:100
|
||||
portmap_37=37:100
|
||||
portmap_41=41:100
|
||||
portmap_45=45:100
|
||||
portmap_49=49:100
|
||||
portmap_53=53:100
|
||||
portmap_57=57:100
|
||||
portmap_5=5:100
|
||||
portmap_61=61:100
|
||||
portmap_67=65:100
|
||||
portmap_71=69:100
|
||||
portmap_75=73:100
|
||||
portmap_79=77:100
|
||||
portmap_83=81:100
|
||||
portmap_87=85:100
|
||||
portmap_91=89:100
|
||||
portmap_95=93:100
|
||||
portmap_99=97:100
|
||||
portmap_9=9:100
|
||||
ptp_bs_fref_0=50000000
|
||||
ptp_bs_fref_1=50000000
|
||||
ptp_ts_pll_fref=50000000
|
||||
|
||||
|
2
device/delta/x86_64-delta_ag9032v2a-r0/installer.conf
Normal file
2
device/delta/x86_64-delta_ag9032v2a-r0/installer.conf
Normal file
@ -0,0 +1,2 @@
|
||||
CONSOLE_PORT=0x3f8
|
||||
CONSOLE_SPEED=115200
|
32
device/delta/x86_64-delta_ag9032v2a-r0/plugins/eeprom.py
Normal file
32
device/delta/x86_64-delta_ag9032v2a-r0/plugins/eeprom.py
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#############################################################################
|
||||
# Mellanox
|
||||
#
|
||||
# Platform and model specific eeprom subclass, inherits from the base class,
|
||||
# and provides the followings:
|
||||
# - the eeprom format definition
|
||||
# - specific encoder/decoder if there is special need
|
||||
#############################################################################
|
||||
|
||||
try:
|
||||
import exceptions
|
||||
import binascii
|
||||
import time
|
||||
import optparse
|
||||
import warnings
|
||||
import os
|
||||
import sys
|
||||
from sonic_eeprom import eeprom_base
|
||||
from sonic_eeprom import eeprom_tlvinfo
|
||||
import subprocess
|
||||
except ImportError, e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
|
||||
class board(eeprom_tlvinfo.TlvInfoDecoder):
|
||||
|
||||
_TLV_INFO_MAX_LEN = 256
|
||||
|
||||
def __init__(self, name, path, cpld_root, ro):
|
||||
self.eeprom_path = "/sys/devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-1/1-0053/eeprom"
|
||||
super(board, self).__init__(self.eeprom_path, 0, '', True)
|
85
device/delta/x86_64-delta_ag9032v2a-r0/plugins/psuutil.py
Normal file
85
device/delta/x86_64-delta_ag9032v2a-r0/plugins/psuutil.py
Normal file
@ -0,0 +1,85 @@
|
||||
#
|
||||
# Module contains an implementation of SONiC PSU Base API and
|
||||
# provides the PSUs status which are available in the platform
|
||||
#
|
||||
|
||||
import os.path
|
||||
import subprocess
|
||||
|
||||
try:
|
||||
from sonic_psu.psu_base import PsuBase
|
||||
except ImportError as e:
|
||||
raise ImportError (str(e) + "- required module not found")
|
||||
|
||||
class PsuUtil(PsuBase):
|
||||
"""Platform-specific PSUutil class"""
|
||||
|
||||
def __init__(self):
|
||||
PsuBase.__init__(self)
|
||||
|
||||
def get_num_psus(self):
|
||||
"""
|
||||
Retrieves the number of PSUs available on the device
|
||||
|
||||
:return: An integer, the number of PSUs available on the device
|
||||
"""
|
||||
return 2
|
||||
|
||||
def get_psu_status(self, index):
|
||||
"""
|
||||
Retrieves the oprational status of power supply unit (PSU) defined
|
||||
by 1-based index <index>
|
||||
|
||||
:param index: An integer, 1-based index of the PSU of which to query status
|
||||
:return: Boolean, True if PSU is operating properly, False if PSU is faulty
|
||||
"""
|
||||
if index is None:
|
||||
return False
|
||||
status = 0
|
||||
try:
|
||||
p = os.popen("ipmitool raw 0x38 0x2 3 0x6a 0x3 1")
|
||||
content = p.readline().rstrip()
|
||||
reg_value = int(content, 16)
|
||||
if index == 1:
|
||||
mask = (1 << 6)
|
||||
else:
|
||||
mask = (1 << 2)
|
||||
if reg_value & mask == 0:
|
||||
return False
|
||||
status = 1
|
||||
p.close()
|
||||
except IOError:
|
||||
return False
|
||||
return status == 1
|
||||
|
||||
|
||||
def get_psu_presence(self, index):
|
||||
"""
|
||||
Retrieves the presence status of power supply unit (PSU) defined
|
||||
by 1-based index <index>
|
||||
|
||||
:param index: An integer, 1-based index of the PSU of which to query status
|
||||
:return: Boolean, True if PSU is plugged, False if not
|
||||
"""
|
||||
if index is None:
|
||||
return False
|
||||
|
||||
status = 0
|
||||
try:
|
||||
p = os.popen("ipmitool raw 0x38 0x2 3 0x6a 0x3 1")
|
||||
content = p.readline().rstrip()
|
||||
reg_value = int(content, 16)
|
||||
if index == 1:
|
||||
mask = (1 << 7)
|
||||
if reg_value & mask == 0x80:
|
||||
return False
|
||||
else:
|
||||
mask = (1 << 3)
|
||||
if reg_value & mask == 0x08:
|
||||
return False
|
||||
status = 1
|
||||
p.close()
|
||||
except IOError:
|
||||
return False
|
||||
return status == 1
|
||||
|
183
device/delta/x86_64-delta_ag9032v2a-r0/plugins/sfputil.py
Normal file
183
device/delta/x86_64-delta_ag9032v2a-r0/plugins/sfputil.py
Normal file
@ -0,0 +1,183 @@
|
||||
# sfputil.py
|
||||
#
|
||||
# Platform-specific SFP transceiver interface for SONiC
|
||||
#
|
||||
|
||||
try:
|
||||
import time
|
||||
from sonic_sfp.sfputilbase import SfpUtilBase
|
||||
except ImportError as e:
|
||||
raise ImportError("%s - required module not found" % str(e))
|
||||
|
||||
|
||||
class SfpUtil(SfpUtilBase):
|
||||
"""Platform-specific SfpUtil class"""
|
||||
|
||||
PORT_START = 0
|
||||
PORT_END = 32
|
||||
PORTS_IN_BLOCK = 33
|
||||
|
||||
EEPROM_OFFSET = 20
|
||||
|
||||
_port_to_eeprom_mapping = {}
|
||||
|
||||
@property
|
||||
def port_start(self):
|
||||
return self.PORT_START
|
||||
|
||||
@property
|
||||
def port_end(self):
|
||||
return self.PORT_END
|
||||
|
||||
@property
|
||||
def qsfp_ports(self):
|
||||
return range(0, self.PORT_END - self.PORT_START + 1)
|
||||
|
||||
@property
|
||||
def port_to_eeprom_mapping(self):
|
||||
return self._port_to_eeprom_mapping
|
||||
|
||||
def __init__(self):
|
||||
eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom"
|
||||
|
||||
for x in range(0, self.port_end + 1):
|
||||
self._port_to_eeprom_mapping[x] = eeprom_path.format(x + self.EEPROM_OFFSET)
|
||||
|
||||
SfpUtilBase.__init__(self)
|
||||
|
||||
def get_presence(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end:
|
||||
return False
|
||||
|
||||
try:
|
||||
reg_file = open("/sys/devices/platform/delta-ag9032v2a-swpld1.0/sfp_is_present")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
|
||||
# content is a string containing the hex representation of the register
|
||||
reg_value = int(content, 16)
|
||||
|
||||
# Mask off the bit corresponding to our port
|
||||
mask = (1 << port_num)
|
||||
|
||||
# ModPrsL is active low
|
||||
if reg_value & mask == 0:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def get_low_power_mode(self, port_num):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end - 1:
|
||||
return False
|
||||
|
||||
try:
|
||||
reg_file = open("/sys/devices/platform/delta-ag9032v2a-swpld1.0/qsfp_lpmode")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
|
||||
# content is a string containing the hex representation of the register
|
||||
reg_value = int(content, 16)
|
||||
|
||||
# Mask off the bit corresponding to our port
|
||||
mask = (1 << port_num)
|
||||
|
||||
# LPMode is active high
|
||||
if reg_value & mask == 0:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
def set_low_power_mode(self, port_num, lpmode):
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end - 1:
|
||||
return False
|
||||
|
||||
try:
|
||||
reg_file = open("/sys/devices/platform/delta-ag9032v2a-swpld1.0/qsfp_lpmode", "r+")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
|
||||
# content is a string containing the hex representation of the register
|
||||
reg_value = int(content, 16)
|
||||
|
||||
# Mask off the bit corresponding to our port
|
||||
mask = (1 << port_num)
|
||||
|
||||
# LPMode is active high; set or clear the bit accordingly
|
||||
if lpmode is True:
|
||||
reg_value = reg_value | mask
|
||||
else:
|
||||
reg_value = reg_value & ~mask
|
||||
|
||||
# Convert our register value back to a hex string and write back
|
||||
content = hex(reg_value)
|
||||
|
||||
reg_file.seek(0)
|
||||
reg_file.write(content)
|
||||
reg_file.close()
|
||||
|
||||
return True
|
||||
|
||||
def reset(self, port_num):
|
||||
QSFP_RESET_REGISTER_DEVICE_FILE = "/sys/devices/platform/delta-ag9032v2a-swpld1.0/qsfp_reset"
|
||||
|
||||
# Check for invalid port_num
|
||||
if port_num < self.port_start or port_num > self.port_end - 1:
|
||||
return False
|
||||
|
||||
try:
|
||||
reg_file = open(QSFP_RESET_REGISTER_DEVICE_FILE, "r+")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
content = reg_file.readline().rstrip()
|
||||
|
||||
# File content is a string containing the hex representation of the register
|
||||
reg_value = int(content, 16)
|
||||
|
||||
# Mask off the bit corresponding to our port
|
||||
mask = (1 << port_num)
|
||||
|
||||
# ResetL is active low
|
||||
reg_value = reg_value & ~mask
|
||||
|
||||
# Convert our register value back to a hex string and write back
|
||||
reg_file.seek(0)
|
||||
reg_file.write(hex(reg_value))
|
||||
reg_file.close()
|
||||
|
||||
# Sleep 1 second to allow it to settle
|
||||
time.sleep(1)
|
||||
|
||||
# Flip the bit back high and write back to the register to take port out of reset
|
||||
try:
|
||||
reg_file = open(QSFP_RESET_REGISTER_DEVICE_FILE, "w")
|
||||
except IOError as e:
|
||||
print "Error: unable to open file: %s" % str(e)
|
||||
return False
|
||||
|
||||
reg_value = reg_value | mask
|
||||
reg_file.seek(0)
|
||||
reg_file.write(hex(reg_value))
|
||||
reg_file.close()
|
||||
|
||||
return True
|
||||
|
||||
def get_transceiver_change_event(self):
|
||||
"""
|
||||
TODO: This function need to be implemented
|
||||
when decide to support monitoring SFP(Xcvrd)
|
||||
on this platform.
|
||||
"""
|
||||
raise NotImplementedError
|
@ -44,7 +44,8 @@ $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELL_S6000_PLATFORM_MODULE) \
|
||||
$(MITAC_LY1200_32X_PLATFORM_MODULE) \
|
||||
$(ALPHANETWORKS_SNH60A0_320FV2_PLATFORM_MODULE) \
|
||||
$(ALPHANETWORKS_SNH60B0_640F_PLATFORM_MODULE) \
|
||||
$(BRCM_XLR_GTS_PLATFORM_MODULE)
|
||||
$(BRCM_XLR_GTS_PLATFORM_MODULE) \
|
||||
$(DELTA_AG9032V2A_PLATFORM_MODULE)
|
||||
ifeq ($(INSTALL_DEBUG_TOOLS),y)
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_DBG_IMAGES)
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS += $(filter-out $(patsubst %-$(DBG_IMAGE_MARK).gz,%.gz, $(SONIC_INSTALL_DOCKER_DBG_IMAGES)), $(SONIC_INSTALL_DOCKER_IMAGES))
|
||||
|
@ -4,11 +4,13 @@ DELTA_AG9032V1_PLATFORM_MODULE_VERSION = 1.1
|
||||
DELTA_AG9064_PLATFORM_MODULE_VERSION = 1.1
|
||||
DELTA_AG5648_PLATFORM_MODULE_VERSION = 1.1
|
||||
DELTA_ET6248BRB_PLATFORM_MODULE_VERSION = 1.1
|
||||
DELTA_AG9032V2A_PLATFORM_MODULE_VERSION = 1.1
|
||||
|
||||
export DELTA_AG9032V1_PLATFORM_MODULE_VERSION
|
||||
export DELTA_AG9064_PLATFORM_MODULE_VERSION
|
||||
export DELTA_AG5648_PLATFORM_MODULE_VERSION
|
||||
export DELTA_ET6248BRB_PLATFORM_MODULE_VERSION
|
||||
export DELTA_AG9032V2A_PLATFORM_MODULE_VERSION
|
||||
|
||||
DELTA_AG9032V1_PLATFORM_MODULE = platform-modules-ag9032v1_$(DELTA_AG9032V1_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||
$(DELTA_AG9032V1_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-delta
|
||||
@ -28,4 +30,8 @@ DELTA_ET6248BRB_PLATFORM_MODULE = platform-modules-et-6248brb_$(DELTA_ET6248BRB_
|
||||
$(DELTA_ET6248BRB_PLATFORM_MODULE)_PLATFORM = x86_64-delta_et-6248brb-r0
|
||||
$(eval $(call add_extra_package,$(DELTA_AG9032V1_PLATFORM_MODULE),$(DELTA_ET6248BRB_PLATFORM_MODULE)))
|
||||
|
||||
SONIC_STRETCH_DEBS += $(DELTA_AG9032V1_PLATFORM_MODULE)
|
||||
DELTA_AG9032V2A_PLATFORM_MODULE = platform-modules-ag9032v2a_$(DELTA_AG9032V2A_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||
$(DELTA_AG9032V2A_PLATFORM_MODULE)_PLATFORM = x86_64-delta_ag9032v2a-r0
|
||||
$(eval $(call add_extra_package,$(DELTA_AG9032V1_PLATFORM_MODULE),$(DELTA_AG9032V2A_PLATFORM_MODULE)))
|
||||
|
||||
SONIC_STRETCH_DEBS += $(DELTA_AG9032V1_PLATFORM_MODULE)
|
||||
|
@ -0,0 +1,13 @@
|
||||
# /etc/modules: kernel modules to load at boot time.
|
||||
#
|
||||
# This file contains the names of kernel modules that should be loaded
|
||||
# at boot time, one per line. Lines beginning with "#" are ignored.
|
||||
|
||||
i2c-i801
|
||||
i2c-isch
|
||||
i2c-ismt
|
||||
i2c-dev
|
||||
i2c-mux
|
||||
i2c-smbus
|
||||
i2c-mux-gpio
|
||||
i2c-mux-pca954x
|
@ -0,0 +1 @@
|
||||
obj-m += delta_ag9032v2a_platform.o
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#platform init script for Delta ag9032v2a
|
||||
|
||||
|
||||
exit 0
|
||||
|
@ -25,3 +25,7 @@ Architecture: amd64
|
||||
Depends: linux-image-4.9.0-9-2-amd64
|
||||
Description: kernel modules for platform devices such as fan, led, sfp
|
||||
|
||||
Package: platform-modules-ag9032v2a
|
||||
Architecture: amd64
|
||||
Depends: linux-image-4.9.0-9-2-amd64
|
||||
Description: kernel modules for platform devices such as syseeprom, sfp
|
||||
|
@ -1,4 +0,0 @@
|
||||
ag9032v1/scripts/ag9032v1_platform_init.sh usr/local/bin
|
||||
ag9032v1/scripts/led_status.sh usr/local/bin
|
||||
ag9032v1/cfg/ag9032v1-modules.conf etc/modules-load.d
|
||||
systemd/platform-modules-ag9032v1.service lib/systemd/system
|
@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: setup-board
|
||||
# Required-Start:
|
||||
# Required-Stop:
|
||||
# Should-Start:
|
||||
# Should-Stop:
|
||||
# Default-Start: S
|
||||
# Default-Stop: 0 6
|
||||
# Short-Description: Setup ag9032v2a board.
|
||||
### END INIT INFO
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Setting up board... "
|
||||
modprobe ipmi_devintf
|
||||
modprobe ipmi_si ports=0xca2
|
||||
modprobe optoe
|
||||
modprobe delta_ag9032v2a_platform
|
||||
/usr/local/bin/ag9032v2a_platform_init.sh
|
||||
|
||||
echo "done."
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "done."
|
||||
|
||||
;;
|
||||
|
||||
force-reload|restart)
|
||||
echo "Not supported"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: /etc/init.d/platform-modules-ag9032v2a.init {start|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
@ -0,0 +1,3 @@
|
||||
ag9032v2a/scripts/ag9032v2a_platform_init.sh usr/local/bin
|
||||
ag9032v2a/cfg/ag9032v2a-modules.conf etc/modules-load.d
|
||||
systemd/platform-modules-ag9032v2a.service lib/systemd/system
|
@ -5,7 +5,7 @@ export INSTALL_MOD_DIR:=extra
|
||||
KVERSION ?= $(shell uname -r)
|
||||
KERNEL_SRC := /lib/modules/$(KVERSION)
|
||||
MOD_SRC_DIR:= $(shell pwd)
|
||||
MODULE_DIRS:= ag9032v1 ag9064 ag5648 et-6248brb
|
||||
MODULE_DIRS:= ag9032v1 ag9064 ag5648 et-6248brb ag9032v2a
|
||||
|
||||
%:
|
||||
dh $@ --with=systemd
|
||||
|
@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Delta ag9032v2a Platform modules
|
||||
After=local-fs.target
|
||||
Before=pmon.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=-/etc/init.d/platform-modules-ag9032v2a start
|
||||
ExecStop=-/etc/init.d/platform-modules-ag9032v2a stop
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
Loading…
Reference in New Issue
Block a user