Lines Matching +full:0 +full:x4e
64 PD692X0_KEY_REPORT = 0x52
109 .sub = {0x07, 0x55, 0x00},
110 .data = {0x55, 0x00, 0x55, 0x4e,
111 0x4e, 0x4e, 0x4e, 0x4e},
115 .sub = {0x07, 0xd0, 0x4e},
116 .data = {0x4e, 0x4e, 0x4e, 0x4e,
117 0x4e, 0x4e, 0x4e, 0x4e},
121 .sub = {0x07, 0x1e, 0x21},
122 .data = {0x4e, 0x4e, 0x4e, 0x4e,
123 0x4e, 0x4e, 0x4e, 0x4e},
127 .sub = {0x05, 0x43},
128 .data = { 0, 0x4e, 0x4e, 0x4e,
129 0x4e, 0x4e, 0x4e, 0x4e},
133 .sub = {0x07, 0x43, 0x4e},
134 .data = {0x4e, 0x4e, 0x4e, 0x4e,
135 0x4e, 0x4e, 0x4e, 0x4e},
139 .sub = {0x05, 0xc0},
140 .data = { 0xf, 0xff, 0xff, 0xff,
141 0x4e, 0x4e, 0x4e, 0x4e},
145 .sub = {0x05, 0xc1},
146 .data = {0x4e, 0x4e, 0x4e, 0x4e,
147 0x4e, 0x4e, 0x4e, 0x4e},
151 .sub = {0xff, 0x99, 0x15},
152 .data = {0x16, 0x16, 0x99, 0x4e,
153 0x4e, 0x4e, 0x4e, 0x4e},
157 .sub = {0x05, 0xc4},
158 .data = {0x4e, 0x4e, 0x4e, 0x4e,
159 0x4e, 0x4e, 0x4e, 0x4e},
163 .sub = {0x05, 0xc5},
164 .data = {0x4e, 0x4e, 0x4e, 0x4e,
165 0x4e, 0x4e, 0x4e, 0x4e},
169 .sub = {0x05, 0xc0},
170 .data = {0x4e, 0x4e, 0x4e, 0x4e,
171 0x4e, 0x4e, 0x4e, 0x4e},
178 u16 chksum = 0; in pd692x0_build_msg()
182 if (echo == 0xff) in pd692x0_build_msg()
183 echo = 0; in pd692x0_build_msg()
185 for (i = 0; i < sizeof(*msg) - sizeof(msg->chksum); i++) in pd692x0_build_msg()
202 if (cmd_msleep > 0) in pd692x0_send_msg()
213 return 0; in pd692x0_send_msg()
219 struct pd692x0_msg msg, buf = {0}; in pd692x0_reset()
234 return ret < 0 ? ret : -EIO; in pd692x0_reset()
237 if (buf.key != PD692X0_KEY_REPORT || buf.sub[0] || buf.sub[1]) in pd692x0_reset()
244 return ret < 0 ? ret : -EIO; in pd692x0_reset()
247 if (buf.key != 0x03 || buf.echo != 0xff || buf.sub[0] & 0x1) { in pd692x0_reset()
252 return 0; in pd692x0_reset()
262 memset(buf, 0, sizeof(*buf)); in pd692x0_try_recv_msg()
265 return 0; in pd692x0_try_recv_msg()
269 memset(buf, 0, sizeof(*buf)); in pd692x0_try_recv_msg()
272 return 0; in pd692x0_try_recv_msg()
326 return 0; in pd692x0_recv_msg()
353 (buf->sub[0] || buf->sub[1])) { in pd692x0_sendrecv_msg()
357 return 0; in pd692x0_sendrecv_msg()
369 return 0; in pd692x0_fw_unavailable()
387 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_enable()
395 return 0; in pd692x0_pi_enable()
398 msg.data[0] = 0x1; in pd692x0_pi_enable()
401 if (ret < 0) in pd692x0_pi_enable()
406 return 0; in pd692x0_pi_enable()
412 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_disable()
420 return 0; in pd692x0_pi_disable()
423 msg.data[0] = 0x0; in pd692x0_pi_disable()
426 if (ret < 0) in pd692x0_pi_disable()
431 return 0; in pd692x0_pi_disable()
442 {0x06, ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM,
444 {0x07, ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM,
446 {0x08, ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE,
448 {0x0C, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
450 {0x11, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
452 {0x12, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
454 {0x1B, ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED,
456 {0x1C, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
458 {0x1E, ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID,
460 {0x1F, ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED,
462 {0x20, ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE,
464 {0x21, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
466 {0x22, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
468 {0x24, ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM,
470 {0x25, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
472 {0x34, ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED,
474 {0x35, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
476 {0x36, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
478 {0x37, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
480 {0x3C, ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE,
482 {0x3D, ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE,
484 {0x41, ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE,
486 {0x43, ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION,
488 {0xA7, ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED,
490 {0xA8, ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID,
502 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_get_ext_state()
512 if (ret < 0) in pd692x0_pi_get_ext_state()
518 if (ext_state_map->status_code == buf.sub[0]) { in pd692x0_pi_get_ext_state()
521 return 0; in pd692x0_pi_get_ext_state()
526 return 0; in pd692x0_pi_get_ext_state()
542 {.class = 3, .class_cfg_value = 0x3, .class_pw = 15000, .max_added_class_pw = 3100},
543 {.class = 4, .class_cfg_value = 0x2, .class_pw = 30000, .max_added_class_pw = 8000},
544 {.class = 6, .class_cfg_value = 0x1, .class_pw = 60000, .max_added_class_pw = 5000},
545 {.class = 8, .class_cfg_value = 0x0, .class_pw = 90000, .max_added_class_pw = 7500},
554 for (i = 0; i < PD692X0_CLASS_PW_TABLE_SIZE; i++, pw_table++) { in pd692x0_pi_get_pw_from_table()
578 for (i = 0; i < PD692X0_CLASS_PW_TABLE_SIZE; i++, pw_table++) { in pd692x0_pi_set_pw_from_table()
595 return 0; in pd692x0_pi_set_pw_from_table()
604 return 0; in pd692x0_pi_set_pw_from_table()
622 for (i = 0; i < PD692X0_CLASS_PW_TABLE_SIZE; i++, pw_table++) { in pd692x0_pi_get_pw_limit_ranges()
637 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_get_admin_state()
647 if (ret < 0) in pd692x0_pi_get_admin_state()
659 return 0; in pd692x0_pi_get_admin_state()
667 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_get_pw_status()
677 if (ret < 0) in pd692x0_pi_get_pw_status()
681 if ((buf.sub[0] & 0xf0) == 0x80 || (buf.sub[0] & 0xf0) == 0x90) in pd692x0_pi_get_pw_status()
684 else if (buf.sub[0] == 0x1b || buf.sub[0] == 0x22) in pd692x0_pi_get_pw_status()
687 else if (buf.sub[0] == 0x12) in pd692x0_pi_get_pw_status()
694 return 0; in pd692x0_pi_get_pw_status()
701 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_get_pw_class()
712 if (ret < 0) in pd692x0_pi_get_pw_class()
719 return 0; in pd692x0_pi_get_pw_class()
726 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_get_actual_pw()
736 if (ret < 0) in pd692x0_pi_get_actual_pw()
739 return (buf.data[0] << 4 | buf.data[1]) * 100; in pd692x0_pi_get_actual_pw()
745 struct pd692x0_msg msg, buf = {0}; in pd692x0_get_sw_version()
746 struct pd692x0_msg_ver ver = {0}; in pd692x0_get_sw_version()
751 if (ret < 0) { in pd692x0_get_sw_version()
758 ver.maj_sw_ver = (buf.data[0] << 8 | buf.data[1]) / 100; in pd692x0_get_sw_version()
759 ver.min_sw_ver = ((buf.data[0] << 8 | buf.data[1]) / 10) % 10; in pd692x0_get_sw_version()
760 ver.pa_sw_ver = (buf.data[0] << 8 | buf.data[1]) % 10; in pd692x0_get_sw_version()
785 nports = 0; in pd692x0_of_get_ports_manager()
810 return 0; in pd692x0_of_get_ports_manager()
813 for (i = 0; i < nports; i++) { in pd692x0_of_get_ports_manager()
831 nmanagers = 0; in pd692x0_of_get_managers()
867 for (i = 0; i < nmanagers; i++) { in pd692x0_of_get_managers()
868 for (j = 0; j < manager[i].nports; j++) { in pd692x0_of_get_managers()
888 return 0; in pd692x0_set_port_matrix()
891 port_cnt = 0; in pd692x0_set_port_matrix()
892 for (i = 0; i < nmanagers; i++) { in pd692x0_set_port_matrix()
894 for (j = 0; j < manager[i].nports; j++) { in pd692x0_set_port_matrix()
914 return 0; in pd692x0_set_port_matrix()
927 for (i = 0; i < PD692X0_MAX_PIS; i++) { in pd692x0_set_ports_matrix()
928 port_matrix[i].hw_port_a = 0xff; in pd692x0_set_ports_matrix()
929 port_matrix[i].hw_port_b = 0xff; in pd692x0_set_ports_matrix()
933 for (i = 0; i < pcdev->nr_lines; i++) { in pd692x0_set_ports_matrix()
934 ret = pd692x0_set_port_matrix(&pcdev->pi[i].pairset[0], in pd692x0_set_ports_matrix()
939 "unable to configure pi %d pairset 0", i); in pd692x0_set_ports_matrix()
953 return 0; in pd692x0_set_ports_matrix()
965 for (i = 0; i < PD692X0_MAX_PIS; i++) { in pd692x0_write_ports_matrix()
967 msg.data[0] = port_matrix[i].hw_port_b; in pd692x0_write_ports_matrix()
971 if (ret < 0) in pd692x0_write_ports_matrix()
978 if (ret < 0) in pd692x0_write_ports_matrix()
981 return 0; in pd692x0_write_ports_matrix()
986 struct pd692x0_manager manager[PD692X0_MAX_MANAGERS] = {0}; in pd692x0_setup_pi_matrix()
994 return 0; in pd692x0_setup_pi_matrix()
997 if (ret < 0) in pd692x0_setup_pi_matrix()
1010 for (i = 0; i < nmanagers; i++) { in pd692x0_setup_pi_matrix()
1011 for (j = 0; j < manager[i].nports; j++) in pd692x0_setup_pi_matrix()
1020 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_get_voltage()
1030 if (ret < 0) in pd692x0_pi_get_voltage()
1034 return (buf.sub[0] << 8 | buf.sub[1]) * 100000; in pd692x0_pi_get_voltage()
1041 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_get_pw_limit()
1047 if (ret < 0) in pd692x0_pi_get_pw_limit()
1050 return pd692x0_pi_get_pw_from_table(buf.data[0], buf.data[1]); in pd692x0_pi_get_pw_limit()
1058 struct pd692x0_msg msg, buf = {0}; in pd692x0_pi_set_pw_limit()
1089 #define PD692X0_FW_LINE_MAX_SZ 0xff
1098 memset(line, 0, PD692X0_FW_LINE_MAX_SZ); in pd692x0_fw_get_next_line()
1099 for (i = 0; i < line_size - 1; i++) { in pd692x0_fw_get_next_line()
1117 char fw_msg_buf[5] = {0}; in pd692x0_fw_recv_resp()
1131 if (ret < 0 || *fw_msg_buf == 0) { in pd692x0_fw_recv_resp()
1157 while (*line != 0) { in pd692x0_fw_write_line()
1159 if (ret < 0) in pd692x0_fw_write_line()
1181 const struct pd692x0_msg zero = {0}; in pd692x0_fw_reset()
1182 struct pd692x0_msg buf = {0}; in pd692x0_fw_reset()
1188 if (ret < 0) { in pd692x0_fw_reset()
1201 if (ret < 0 || in pd692x0_fw_reset()
1209 if (buf.key != PD692X0_KEY_TLM || buf.echo != 0xff || in pd692x0_fw_reset()
1210 buf.sub[0] & 0x01) { in pd692x0_fw_reset()
1216 if (buf.sub[0] & 0x02) { in pd692x0_fw_reset()
1246 if (ret < 0) in pd692x0_fw_prepare()
1256 if (ret < 0) { in pd692x0_fw_prepare()
1297 if (ret < 0) { in pd692x0_fw_write()
1324 if (ret < 0) { in pd692x0_fw_write()
1335 i = 0; in pd692x0_fw_write()
1338 if (ret < 0) { in pd692x0_fw_write()
1345 if (line[0] == 'S' && line[1] == '0') { in pd692x0_fw_write()
1347 } else if (line[0] == 'S' && line[1] == '7') { in pd692x0_fw_write()
1396 if (ret < 0) { in pd692x0_fw_poll_complete()
1440 struct pd692x0_msg msg, buf = {0}, zero = {0}; in pd692x0_i2c_probe()
1470 if (ret < 0) { in pd692x0_i2c_probe()
1476 if (buf.key != 0x03 || buf.sub[0] & 0x01) { in pd692x0_i2c_probe()
1480 if (buf.sub[0] & 0x02) { in pd692x0_i2c_probe()
1515 return 0; in pd692x0_i2c_probe()