1136 lines
20 KiB
ArmAsm
Executable File
1136 lines
20 KiB
ArmAsm
Executable File
.arch armv7-a
|
|
.fpu softvfp
|
|
.eabi_attribute 20, 1
|
|
.eabi_attribute 21, 1
|
|
.eabi_attribute 23, 3
|
|
.eabi_attribute 24, 1
|
|
.eabi_attribute 25, 1
|
|
.eabi_attribute 26, 2
|
|
.eabi_attribute 30, 6
|
|
.eabi_attribute 34, 1
|
|
.eabi_attribute 18, 4
|
|
.file "phy_rx.c"
|
|
#APP
|
|
.macro it, cond
|
|
.endm
|
|
.macro itt, cond
|
|
.endm
|
|
.macro ite, cond
|
|
.endm
|
|
.macro ittt, cond
|
|
.endm
|
|
.macro itte, cond
|
|
.endm
|
|
.macro itet, cond
|
|
.endm
|
|
.macro itee, cond
|
|
.endm
|
|
.macro itttt, cond
|
|
.endm
|
|
.macro ittte, cond
|
|
.endm
|
|
.macro ittet, cond
|
|
.endm
|
|
.macro ittee, cond
|
|
.endm
|
|
.macro itett, cond
|
|
.endm
|
|
.macro itete, cond
|
|
.endm
|
|
.macro iteet, cond
|
|
.endm
|
|
.macro iteee, cond
|
|
.endm
|
|
|
|
.section .rodata.str1.4,"aMS",%progbits,1
|
|
.align 2
|
|
.LC0:
|
|
.ascii "[%lu0ms][%s:%d] correct_bytes: %.8x\012\000"
|
|
.align 2
|
|
.LC1:
|
|
.ascii "/home/work/XX530vUS1/sdk/en7529/modules/private/xpo"
|
|
.ascii "n_phy/src/phy_rx.c\000"
|
|
.align 2
|
|
.LC2:
|
|
.ascii "[%lu0ms][%s:%d] correct_codewords: %.8x\012\000"
|
|
.align 2
|
|
.LC3:
|
|
.ascii "[%lu0ms][%s:%d] uncorrect_codewords: %.8x\012\000"
|
|
.align 2
|
|
.LC4:
|
|
.ascii "[%lu0ms][%s:%d] total_rx_codewords: %.8x\012\000"
|
|
.align 2
|
|
.LC5:
|
|
.ascii "[%lu0ms][%s:%d] fec_seconds: %.8x\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_rx_fec_counter
|
|
.type phy_rx_fec_counter, %function
|
|
phy_rx_fec_counter:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 8
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #20
|
|
sub sp, sp, #20
|
|
str r0, [sp, #12]
|
|
mov r0, #564
|
|
movt r0, 49071
|
|
mov r1, #1
|
|
bl set_pon_phy_data
|
|
mov r0, #568
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3]
|
|
mov r0, #572
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3, #4]
|
|
mov r0, #576
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3, #8]
|
|
mov r0, #580
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3, #12]
|
|
mov r0, #584
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3, #16]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L2
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC0
|
|
movt r0, #:upper16:.LC0
|
|
mov r1, r2
|
|
ldr r2, .L7
|
|
mov r3, #37
|
|
bl printk
|
|
.L2:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L3
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #4]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC2
|
|
movt r0, #:upper16:.LC2
|
|
mov r1, r2
|
|
ldr r2, .L7
|
|
mov r3, #38
|
|
bl printk
|
|
.L3:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L4
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #8]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC3
|
|
movt r0, #:upper16:.LC3
|
|
mov r1, r2
|
|
ldr r2, .L7
|
|
mov r3, #39
|
|
bl printk
|
|
.L4:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L5
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #12]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC4
|
|
movt r0, #:upper16:.LC4
|
|
mov r1, r2
|
|
ldr r2, .L7
|
|
mov r3, #40
|
|
bl printk
|
|
.L5:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L1
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #16]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC5
|
|
movt r0, #:upper16:.LC5
|
|
mov r1, r2
|
|
ldr r2, .L7
|
|
mov r3, #41
|
|
bl printk
|
|
.L1:
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L8:
|
|
.align 2
|
|
.L7:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_rx_fec_counter, .-phy_rx_fec_counter
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC6:
|
|
.ascii "[%lu0ms][%s:%d] Phy BIP Counter : %.8x\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_bip_counter
|
|
.type phy_bip_counter, %function
|
|
phy_bip_counter:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 8
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #20
|
|
sub sp, sp, #20
|
|
mov r3, #0
|
|
str r3, [sp, #12]
|
|
mov r0, #564
|
|
movt r0, 49071
|
|
mov r1, #4
|
|
bl set_pon_phy_data
|
|
mov r0, #588
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
str r0, [sp, #12]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L10
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC6
|
|
movt r0, #:upper16:.LC6
|
|
mov r1, r2
|
|
ldr r2, .L12
|
|
mov r3, #62
|
|
bl printk
|
|
.L10:
|
|
mov r0, #564
|
|
movt r0, 49071
|
|
mov r1, #8
|
|
bl set_pon_phy_data
|
|
ldr r3, [sp, #12]
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L13:
|
|
.align 2
|
|
.L12:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_bip_counter, .-phy_bip_counter
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC7:
|
|
.ascii "[%lu0ms][%s:%d] frame_count_high: %.8x\012\000"
|
|
.align 2
|
|
.LC8:
|
|
.ascii "[%lu0ms][%s:%d] frame_count_low: %.8x\012\000"
|
|
.align 2
|
|
.LC9:
|
|
.ascii "[%lu0ms][%s:%d] lof_counter: %.8x\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_rx_frame_counter
|
|
.type phy_rx_frame_counter, %function
|
|
phy_rx_frame_counter:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 8
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #20
|
|
sub sp, sp, #20
|
|
str r0, [sp, #12]
|
|
mov r0, #564
|
|
movt r0, 49071
|
|
mov r1, #16
|
|
bl set_pon_phy_data
|
|
mov r0, #596
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3, #4]
|
|
mov r0, #592
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3]
|
|
bl phy_gpon_mode
|
|
mov r3, r0
|
|
cmp r3, #0
|
|
beq .L15
|
|
mov r0, #600
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
str r2, [r3, #8]
|
|
.L15:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L16
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #4]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC7
|
|
movt r0, #:upper16:.LC7
|
|
mov r1, r2
|
|
ldr r2, .L19
|
|
mov r3, #91
|
|
bl printk
|
|
.L16:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L17
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC8
|
|
movt r0, #:upper16:.LC8
|
|
mov r1, r2
|
|
ldr r2, .L19
|
|
mov r3, #92
|
|
bl printk
|
|
.L17:
|
|
bl phy_gpon_mode
|
|
mov r3, r0
|
|
cmp r3, #0
|
|
beq .L14
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L14
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #8]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC9
|
|
movt r0, #:upper16:.LC9
|
|
mov r1, r2
|
|
ldr r2, .L19
|
|
mov r3, #94
|
|
bl printk
|
|
.L14:
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L20:
|
|
.align 2
|
|
.L19:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_rx_frame_counter, .-phy_rx_frame_counter
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC10:
|
|
.ascii "[%lu0ms][%s:%d] Rx FEC Enable\012\000"
|
|
.align 2
|
|
.LC11:
|
|
.ascii "[%lu0ms][%s:%d] Rx FEC Disable\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_rx_fec_setting
|
|
.type phy_rx_fec_setting, %function
|
|
phy_rx_fec_setting:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 8
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #12
|
|
sub sp, sp, #12
|
|
mov r3, r0
|
|
strb r3, [sp, #7]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
bne .L22
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L23
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC10
|
|
movt r0, #:upper16:.LC10
|
|
mov r1, r3
|
|
ldr r2, .L27
|
|
mov r3, #113
|
|
bl printk
|
|
.L23:
|
|
mov r0, #616
|
|
movt r0, 49071
|
|
mov r1, #1
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
b .L24
|
|
.L22:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L25
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L26
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC11
|
|
movt r0, #:upper16:.LC11
|
|
mov r1, r3
|
|
ldr r2, .L27
|
|
mov r3, #119
|
|
bl printk
|
|
.L26:
|
|
mov r0, #616
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
b .L24
|
|
.L25:
|
|
mov r3, #1
|
|
.L24:
|
|
mov r0, r3
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L28:
|
|
.align 2
|
|
.L27:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_rx_fec_setting, .-phy_rx_fec_setting
|
|
.align 2
|
|
.global phy_rx_fec_getting
|
|
.type phy_rx_fec_getting, %function
|
|
phy_rx_fec_getting:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 0
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
stmfd sp!, {r3, lr}
|
|
.save {r3, lr}
|
|
mov r0, #616
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r0, r3
|
|
ldmfd sp!, {r3, pc}
|
|
.fnend
|
|
.size phy_rx_fec_getting, .-phy_rx_fec_getting
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC12:
|
|
.ascii "[%lu0ms][%s:%d] RX FEC on.\012\000"
|
|
.align 2
|
|
.LC13:
|
|
.ascii "[%lu0ms][%s:%d] RX FEC off.\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_rx_fec_status
|
|
.type phy_rx_fec_status, %function
|
|
phy_rx_fec_status:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 8
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #12
|
|
sub sp, sp, #12
|
|
mov r3, #0
|
|
str r3, [sp, #4]
|
|
mov r0, #540
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #4]
|
|
ldr r3, [sp, #4]
|
|
and r3, r3, #32768
|
|
cmp r3, #0
|
|
beq .L32
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L33
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC12
|
|
movt r0, #:upper16:.LC12
|
|
mov r1, r3
|
|
ldr r2, .L36
|
|
mov r3, #164
|
|
bl printk
|
|
.L33:
|
|
mov r3, #1
|
|
b .L34
|
|
.L32:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L35
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC13
|
|
movt r0, #:upper16:.LC13
|
|
mov r1, r3
|
|
ldr r2, .L36
|
|
mov r3, #169
|
|
bl printk
|
|
.L35:
|
|
mov r3, #0
|
|
.L34:
|
|
mov r0, r3
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L37:
|
|
.align 2
|
|
.L36:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_rx_fec_status, .-phy_rx_fec_status
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC14:
|
|
.ascii "[%lu0ms][%s:%d] error input : rx_sd_inv.\012\000"
|
|
.align 2
|
|
.LC15:
|
|
.ascii "[%lu0ms][%s:%d] rx_sd_inv success \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_trans_rx_setting
|
|
.type phy_trans_rx_setting, %function
|
|
phy_trans_rx_setting:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 16
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #20
|
|
sub sp, sp, #20
|
|
mov r3, r0
|
|
strb r3, [sp, #7]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
mov r3, #0
|
|
str r3, [sp, #12]
|
|
mov r0, #312
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #8]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
bne .L39
|
|
ldr r3, [sp, #8]
|
|
orr r3, r3, #64
|
|
str r3, [sp, #12]
|
|
b .L40
|
|
.L39:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L41
|
|
ldr r3, [sp, #8]
|
|
bic r3, r3, #64
|
|
str r3, [sp, #12]
|
|
b .L40
|
|
.L41:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L42
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC14
|
|
movt r0, #:upper16:.LC14
|
|
mov r1, r3
|
|
ldr r2, .L45
|
|
mov r3, #197
|
|
bl printk
|
|
.L42:
|
|
mov r3, #1
|
|
b .L43
|
|
.L40:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L44
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC15
|
|
movt r0, #:upper16:.LC15
|
|
mov r1, r3
|
|
ldr r2, .L45
|
|
mov r3, #200
|
|
bl printk
|
|
.L44:
|
|
mov r0, #312
|
|
movt r0, 49071
|
|
ldr r1, [sp, #12]
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
.L43:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L46:
|
|
.align 2
|
|
.L45:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_trans_rx_setting, .-phy_trans_rx_setting
|
|
.align 2
|
|
.global phy_trans_rx_getting
|
|
.type phy_trans_rx_getting, %function
|
|
phy_trans_rx_getting:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 8
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #12
|
|
sub sp, sp, #12
|
|
mov r3, #0
|
|
str r3, [sp, #4]
|
|
mov r0, #312
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #4]
|
|
ldr r3, [sp, #4]
|
|
and r3, r3, #64
|
|
cmp r3, #0
|
|
bne .L48
|
|
mov r3, #0
|
|
b .L49
|
|
.L48:
|
|
mov r3, #1
|
|
.L49:
|
|
mov r0, r3
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.fnend
|
|
.size phy_trans_rx_getting, .-phy_trans_rx_getting
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC16:
|
|
.ascii "[%lu0ms][%s:%d] error input : gpon_m1_lmt. \012\000"
|
|
.align 2
|
|
.LC17:
|
|
.ascii "[%lu0ms][%s:%d] error input : gpon_m2_lmt. \012\000"
|
|
.align 2
|
|
.LC18:
|
|
.ascii "[%lu0ms][%s:%d] error input : presync_mismatch_lmt."
|
|
.ascii " \012\000"
|
|
.align 2
|
|
.LC19:
|
|
.ascii "[%lu0ms][%s:%d] error input : insync_mismatch_lmt. "
|
|
.ascii "\012\000"
|
|
.align 2
|
|
.LC20:
|
|
.ascii "[%lu0ms][%s:%d] error input : gpon_gsync_prot. \012"
|
|
.ascii "\000"
|
|
.text
|
|
.align 2
|
|
.global phy_gpon_psync_setting
|
|
.type phy_gpon_psync_setting, %function
|
|
phy_gpon_psync_setting:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 16
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #20
|
|
sub sp, sp, #20
|
|
str r0, [sp, #4]
|
|
mov r3, #0
|
|
str r3, [sp, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
mov r0, #524
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #8]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L51
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3] @ zero_extendqisi2
|
|
and r3, r3, #248
|
|
cmp r3, #0
|
|
beq .L52
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L53
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC16
|
|
movt r0, #:upper16:.LC16
|
|
mov r1, r3
|
|
ldr r2, .L67
|
|
movw r3, #311
|
|
bl printk
|
|
.L53:
|
|
mov r3, #1
|
|
b .L54
|
|
.L52:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #7
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2] @ zero_extendqisi2
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L51:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #8]
|
|
and r3, r3, #2
|
|
cmp r3, #0
|
|
beq .L55
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #1] @ zero_extendqisi2
|
|
and r3, r3, #248
|
|
cmp r3, #0
|
|
beq .L56
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L57
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC17
|
|
movt r0, #:upper16:.LC17
|
|
mov r1, r3
|
|
ldr r2, .L67
|
|
mov r3, #320
|
|
bl printk
|
|
.L57:
|
|
mov r3, #1
|
|
b .L54
|
|
.L56:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #56
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #1] @ zero_extendqisi2
|
|
mov r2, r2, asl #3
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L55:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #8]
|
|
and r3, r3, #4
|
|
cmp r3, #0
|
|
beq .L58
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #2] @ zero_extendqisi2
|
|
and r3, r3, #248
|
|
cmp r3, #0
|
|
beq .L59
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L60
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC18
|
|
movt r0, #:upper16:.LC18
|
|
mov r1, r3
|
|
ldr r2, .L67
|
|
movw r3, #329
|
|
bl printk
|
|
.L60:
|
|
mov r3, #1
|
|
b .L54
|
|
.L59:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #1792
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #2] @ zero_extendqisi2
|
|
mov r2, r2, asl #8
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L58:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #8]
|
|
and r3, r3, #8
|
|
cmp r3, #0
|
|
beq .L61
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #3] @ zero_extendqisi2
|
|
and r3, r3, #248
|
|
cmp r3, #0
|
|
beq .L62
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L63
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC19
|
|
movt r0, #:upper16:.LC19
|
|
mov r1, r3
|
|
ldr r2, .L67
|
|
movw r3, #338
|
|
bl printk
|
|
.L63:
|
|
mov r3, #1
|
|
b .L54
|
|
.L62:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #14336
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #3] @ zero_extendqisi2
|
|
mov r2, r2, asl #11
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L61:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #8]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L64
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #4] @ zero_extendqisi2
|
|
and r3, r3, #254
|
|
cmp r3, #0
|
|
beq .L65
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L66
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC20
|
|
movt r0, #:upper16:.LC20
|
|
mov r1, r3
|
|
ldr r2, .L67
|
|
movw r3, #347
|
|
bl printk
|
|
.L66:
|
|
mov r3, #1
|
|
b .L54
|
|
.L65:
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #4] @ zero_extendqisi2
|
|
mov r3, r3, asl #14
|
|
mov r2, r3
|
|
ldr r3, [sp, #12]
|
|
and r3, r3, r2
|
|
bic r3, r3, #16384
|
|
str r3, [sp, #12]
|
|
.L64:
|
|
ldr r3, [sp, #12]
|
|
str r3, [sp, #8]
|
|
mov r0, #524
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
.L54:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L68:
|
|
.align 2
|
|
.L67:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_gpon_psync_setting, .-phy_gpon_psync_setting
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC21:
|
|
.ascii "[%lu0ms][%s:%d] Phy Epon Frame Error Counter : %.8x"
|
|
.ascii "\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_epon_frame_err_cnt
|
|
.type phy_epon_frame_err_cnt, %function
|
|
phy_epon_frame_err_cnt:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 0
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
stmfd sp!, {r4, lr}
|
|
.save {r4, lr}
|
|
.pad #8
|
|
sub sp, sp, #8
|
|
mov r0, #664
|
|
movt r0, 49071
|
|
mov r1, #32
|
|
bl set_pon_phy_data
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L70
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r4, [r3]
|
|
mov r0, #552
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC21
|
|
movt r0, #:upper16:.LC21
|
|
mov r1, r4
|
|
ldr r2, .L72
|
|
movw r3, #378
|
|
bl printk
|
|
.L70:
|
|
mov r0, #552
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
mov r0, r3
|
|
add sp, sp, #8
|
|
@ sp needed
|
|
ldmfd sp!, {r4, pc}
|
|
.L73:
|
|
.align 2
|
|
.L72:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_epon_frame_err_cnt, .-phy_epon_frame_err_cnt
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC22:
|
|
.ascii "[%lu0ms][%s:%d] Rx power is below low alarm. \012\000"
|
|
.align 2
|
|
.LC23:
|
|
.ascii "[%lu0ms][%s:%d] Rx power exceeds high alarm. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_rx_power_alarm
|
|
.type phy_rx_power_alarm, %function
|
|
phy_rx_power_alarm:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 16
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #36
|
|
sub sp, sp, #36
|
|
mov r3, #0
|
|
str r3, [sp, #24]
|
|
mov r3, #0
|
|
str r3, [sp, #28]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r2, [r3, #96]
|
|
mov r3, #113
|
|
str r3, [sp]
|
|
add r3, sp, #23
|
|
str r3, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0
|
|
mov r1, r2
|
|
mov r2, #81
|
|
mov r3, #1
|
|
bl phy_I2C_read
|
|
ldrb r3, [sp, #23] @ zero_extendqisi2
|
|
str r3, [sp, #24]
|
|
ldr r3, [sp, #24]
|
|
and r3, r3, #64
|
|
cmp r3, #0
|
|
beq .L75
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L76
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC22
|
|
movt r0, #:upper16:.LC22
|
|
mov r1, r3
|
|
ldr r2, .L80
|
|
movw r3, #418
|
|
bl printk
|
|
.L76:
|
|
ldr r3, [sp, #28]
|
|
orr r3, r3, #32
|
|
str r3, [sp, #28]
|
|
.L75:
|
|
ldr r3, [sp, #24]
|
|
and r3, r3, #128
|
|
cmp r3, #0
|
|
beq .L77
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L78
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC23
|
|
movt r0, #:upper16:.LC23
|
|
mov r1, r3
|
|
ldr r2, .L80
|
|
mov r3, #424
|
|
bl printk
|
|
.L78:
|
|
ldr r3, [sp, #28]
|
|
orr r3, r3, #16
|
|
str r3, [sp, #28]
|
|
.L77:
|
|
ldr r3, [sp, #28]
|
|
mov r0, r3
|
|
add sp, sp, #36
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L81:
|
|
.align 2
|
|
.L80:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_rx_power_alarm, .-phy_rx_power_alarm
|
|
.ident "GCC: (Buildroot 2015.08.1-gd814875) 4.9.3"
|
|
.section .note.GNU-stack,"",%progbits
|