2618 lines
47 KiB
ArmAsm
Executable File
2618 lines
47 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_tx.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
|
|
|
|
.global g_tx_ctl
|
|
.bss
|
|
.align 2
|
|
.type g_tx_ctl, %object
|
|
.size g_tx_ctl, 4
|
|
g_tx_ctl:
|
|
.space 4
|
|
.section .rodata.str1.4,"aMS",%progbits,1
|
|
.align 2
|
|
.LC0:
|
|
.ascii "[%lu0ms][%s:%d] Phy_Gpon_Preamble write_data:0x%.8x"
|
|
.ascii "\012\000"
|
|
.align 2
|
|
.LC1:
|
|
.ascii "/home/work/XX530vUS1/sdk/en7529/modules/private/xpo"
|
|
.ascii "n_phy/src/phy_tx.c\000"
|
|
.text
|
|
.align 2
|
|
.global phy_gpon_preamble
|
|
.type phy_gpon_preamble, %function
|
|
phy_gpon_preamble:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 16
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #28
|
|
sub sp, sp, #28
|
|
str r0, [sp, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #16]
|
|
mov r3, #0
|
|
str r3, [sp, #20]
|
|
mov r0, #1024
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #20]
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L2
|
|
ldr r3, [sp, #20]
|
|
bic r3, r3, #255
|
|
ldr r2, [sp, #12]
|
|
ldrb r2, [r2] @ zero_extendqisi2
|
|
orr r3, r3, r2
|
|
str r3, [sp, #20]
|
|
.L2:
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #2
|
|
cmp r3, #0
|
|
beq .L3
|
|
ldr r3, [sp, #20]
|
|
bic r3, r3, #65280
|
|
ldr r2, [sp, #12]
|
|
ldrb r2, [r2, #1] @ zero_extendqisi2
|
|
mov r2, r2, asl #8
|
|
orr r3, r3, r2
|
|
str r3, [sp, #20]
|
|
.L3:
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #4
|
|
cmp r3, #0
|
|
beq .L4
|
|
ldr r3, [sp, #20]
|
|
bic r3, r3, #16711680
|
|
ldr r2, [sp, #12]
|
|
ldrb r2, [r2, #2] @ zero_extendqisi2
|
|
mov r2, r2, asl #16
|
|
orr r3, r3, r2
|
|
str r3, [sp, #20]
|
|
.L4:
|
|
ldr r3, [sp, #12]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #8
|
|
cmp r3, #0
|
|
beq .L5
|
|
ldr r3, [sp, #20]
|
|
bic r3, r3, #-16777216
|
|
ldr r2, [sp, #12]
|
|
ldrb r2, [r2, #3] @ zero_extendqisi2
|
|
mov r2, r2, asl #24
|
|
orr r3, r3, r2
|
|
str r3, [sp, #20]
|
|
.L5:
|
|
ldr r3, [sp, #20]
|
|
str r3, [sp, #16]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L6
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #16]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC0
|
|
movt r0, #:upper16:.LC0
|
|
mov r1, r2
|
|
ldr r2, .L8
|
|
mov r3, #74
|
|
bl printk
|
|
.L6:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldr r2, [sp, #16]
|
|
str r2, [r3, #168]
|
|
mov r0, #1024
|
|
movt r0, 49071
|
|
ldr r1, [sp, #16]
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
mov r0, r3
|
|
add sp, sp, #28
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L9:
|
|
.align 2
|
|
.L8:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_gpon_preamble, .-phy_gpon_preamble
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC2:
|
|
.ascii "[%lu0ms][%s:%d] TX FEC on. \012\000"
|
|
.align 2
|
|
.LC3:
|
|
.ascii "[%lu0ms][%s:%d] TX FEC off. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_fec_status
|
|
.type phy_tx_fec_status, %function
|
|
phy_tx_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]
|
|
movw r0, #1036
|
|
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 .L11
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L12
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC2
|
|
movt r0, #:upper16:.LC2
|
|
mov r1, r3
|
|
ldr r2, .L15
|
|
mov r3, #100
|
|
bl printk
|
|
.L12:
|
|
mov r3, #1
|
|
b .L13
|
|
.L11:
|
|
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 r3, [r3]
|
|
movw r0, #:lower16:.LC3
|
|
movt r0, #:upper16:.LC3
|
|
mov r1, r3
|
|
ldr r2, .L15
|
|
mov r3, #105
|
|
bl printk
|
|
.L14:
|
|
mov r3, #0
|
|
.L13:
|
|
mov r0, r3
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L16:
|
|
.align 2
|
|
.L15:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_fec_status, .-phy_tx_fec_status
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC4:
|
|
.ascii "[%lu0ms][%s:%d] error input : delimiter pattern. \012"
|
|
.ascii "\000"
|
|
.text
|
|
.align 2
|
|
.global phy_gpon_delimiter_guard
|
|
.type phy_gpon_delimiter_guard, %function
|
|
phy_gpon_delimiter_guard:
|
|
.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, r1
|
|
strb r3, [sp, #3]
|
|
mov r3, #0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #4]
|
|
and r3, r3, #-16777216
|
|
cmp r3, #0
|
|
beq .L18
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L19
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC4
|
|
movt r0, #:upper16:.LC4
|
|
mov r1, r3
|
|
ldr r2, .L21
|
|
mov r3, #128
|
|
bl printk
|
|
.L19:
|
|
mov r3, #1
|
|
b .L20
|
|
.L18:
|
|
ldrb r3, [sp, #3] @ zero_extendqisi2
|
|
mov r3, r3, asl #24
|
|
mov r2, r3
|
|
ldr r3, [sp, #4]
|
|
orr r3, r2, r3
|
|
str r3, [sp, #12]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldr r2, [sp, #12]
|
|
str r2, [r3, #164]
|
|
movw r0, #1028
|
|
movt r0, 49071
|
|
ldr r1, [sp, #12]
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
.L20:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L22:
|
|
.align 2
|
|
.L21:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_gpon_delimiter_guard, .-phy_gpon_delimiter_guard
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC5:
|
|
.ascii "[%lu0ms][%s:%d] error input : extend_burst_mode. \012"
|
|
.ascii "\000"
|
|
.align 2
|
|
.LC6:
|
|
.ascii "[%lu0ms][%s:%d] error input : oper_ranged_st. \012\000"
|
|
.align 2
|
|
.LC7:
|
|
.ascii "[%lu0ms][%s:%d] error input : dis_scramble. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_gpon_extend_preamble
|
|
.type phy_gpon_extend_preamble, %function
|
|
phy_gpon_extend_preamble:
|
|
.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]
|
|
movw r0, #1032
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L24
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #255
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #4] @ zero_extendqisi2
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L24:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #32
|
|
cmp r3, #0
|
|
beq .L25
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #65280
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #5] @ zero_extendqisi2
|
|
mov r2, r2, asl #8
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L25:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #64
|
|
cmp r3, #0
|
|
beq .L26
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #6] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
beq .L27
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #6] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
beq .L27
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L28
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC5
|
|
movt r0, #:upper16:.LC5
|
|
mov r1, r3
|
|
ldr r2, .L39
|
|
mov r3, #166
|
|
bl printk
|
|
.L28:
|
|
mov r3, #1
|
|
b .L29
|
|
.L27:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #65536
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #6] @ zero_extendqisi2
|
|
mov r2, r2, asl #16
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L26:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #128
|
|
cmp r3, #0
|
|
beq .L30
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #7] @ zero_extendqisi2
|
|
and r3, r3, #252
|
|
cmp r3, #0
|
|
beq .L31
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L32
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC6
|
|
movt r0, #:upper16:.LC6
|
|
mov r1, r3
|
|
ldr r2, .L39
|
|
mov r3, #175
|
|
bl printk
|
|
.L32:
|
|
mov r3, #1
|
|
b .L29
|
|
.L31:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #393216
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #7] @ zero_extendqisi2
|
|
mov r2, r2, asl #17
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L30:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #256
|
|
cmp r3, #0
|
|
beq .L33
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #9] @ zero_extendqisi2
|
|
and r3, r3, #254
|
|
cmp r3, #0
|
|
beq .L34
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L35
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC6
|
|
movt r0, #:upper16:.LC6
|
|
mov r1, r3
|
|
ldr r2, .L39
|
|
mov r3, #185
|
|
bl printk
|
|
.L35:
|
|
mov r3, #1
|
|
b .L29
|
|
.L34:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #524288
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #9] @ zero_extendqisi2
|
|
mov r2, r2, asl #19
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L33:
|
|
ldr r3, [sp, #4]
|
|
ldr r3, [r3, #12]
|
|
and r3, r3, #512
|
|
cmp r3, #0
|
|
beq .L36
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #8] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
beq .L37
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #8] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
beq .L37
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L38
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC7
|
|
movt r0, #:upper16:.LC7
|
|
mov r1, r3
|
|
ldr r2, .L39
|
|
mov r3, #195
|
|
bl printk
|
|
.L38:
|
|
mov r3, #1
|
|
b .L29
|
|
.L37:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #16777216
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #8] @ zero_extendqisi2
|
|
mov r2, r2, asl #24
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
.L36:
|
|
ldr r3, [sp, #12]
|
|
str r3, [sp, #8]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldr r2, [sp, #8]
|
|
str r2, [r3, #172]
|
|
movw r0, #1032
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
.L29:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L40:
|
|
.align 2
|
|
.L39:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_gpon_extend_preamble, .-phy_gpon_extend_preamble
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC8:
|
|
.ascii "[%lu0ms][%s:%d] error input : rogue mode. \012\000"
|
|
.align 2
|
|
.LC9:
|
|
.ascii "[%lu0ms][%s:%d] PON mode error. \012\000"
|
|
.align 2
|
|
.LC10:
|
|
.ascii "[%lu0ms][%s:%d] 7523 Rogue mode \012\000"
|
|
.align 2
|
|
.LC11:
|
|
.ascii "[%lu0ms][%s:%d] 7523 normal mode \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_rogue_prbs_config
|
|
.type phy_rogue_prbs_config, %function
|
|
phy_rogue_prbs_config:
|
|
.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, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
beq .L42
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
beq .L42
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L43
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC8
|
|
movt r0, #:upper16:.LC8
|
|
mov r1, r3
|
|
ldr r2, .L51
|
|
mov r3, #234
|
|
bl printk
|
|
.L43:
|
|
mov r3, #1
|
|
b .L44
|
|
.L42:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrb r3, [r3, #112] @ zero_extendqisi2
|
|
and r3, r3, #120
|
|
uxtb r3, r3
|
|
cmp r3, #8
|
|
beq .L45
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrb r3, [r3, #112] @ zero_extendqisi2
|
|
and r3, r3, #120
|
|
uxtb r3, r3
|
|
cmp r3, #0
|
|
beq .L45
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L46
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC9
|
|
movt r0, #:upper16:.LC9
|
|
mov r1, r3
|
|
ldr r2, .L51
|
|
mov r3, #241
|
|
bl printk
|
|
.L46:
|
|
mov r3, #1
|
|
b .L44
|
|
.L45:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
bne .L47
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r2, [r3]
|
|
ldrb r3, [r2, #112]
|
|
orr r3, r3, #128
|
|
strb r3, [r2, #112]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L48
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC10
|
|
movt r0, #:upper16:.LC10
|
|
mov r1, r3
|
|
ldr r2, .L51
|
|
mov r3, #250
|
|
bl printk
|
|
.L48:
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #8]
|
|
ldr r3, [sp, #8]
|
|
orr r3, r3, #805306368
|
|
str r3, [sp, #12]
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
ldr r1, [sp, #12]
|
|
bl set_pon_phy_data
|
|
b .L49
|
|
.L47:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r2, [r3]
|
|
ldrb r3, [r2, #112]
|
|
bfc r3, #7, #1
|
|
strb r3, [r2, #112]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L50
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC11
|
|
movt r0, #:upper16:.LC11
|
|
mov r1, r3
|
|
ldr r2, .L51
|
|
movw r3, #258
|
|
bl printk
|
|
.L50:
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #8]
|
|
ldr r3, [sp, #8]
|
|
bic r3, r3, #-268435456
|
|
orr r3, r3, #268435456
|
|
str r3, [sp, #12]
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
ldr r1, [sp, #12]
|
|
bl set_pon_phy_data
|
|
ldr r3, [sp, #8]
|
|
bic r3, r3, #-268435456
|
|
str r3, [sp, #12]
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
ldr r1, [sp, #12]
|
|
bl set_pon_phy_data
|
|
.L49:
|
|
mov r0, #1
|
|
bl phy_trans_power_switch
|
|
mov r3, #0
|
|
.L44:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L52:
|
|
.align 2
|
|
.L51:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_rogue_prbs_config, .-phy_rogue_prbs_config
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC12:
|
|
.ascii "[%lu0ms][%s:%d] error input : burst_mode. \012\000"
|
|
.align 2
|
|
.LC13:
|
|
.ascii "[%lu0ms][%s:%d] Phy_Tx_Burst_Config read_data:0x%.8"
|
|
.ascii "x\012\000"
|
|
.align 2
|
|
.LC14:
|
|
.ascii "[%lu0ms][%s:%d] Phy_Tx_Burst_Config write_data:0x%."
|
|
.ascii "8x\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_burst_config
|
|
.type phy_tx_burst_config, %function
|
|
phy_tx_burst_config:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 16
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #28
|
|
sub sp, sp, #28
|
|
mov r3, r0
|
|
strb r3, [sp, #15]
|
|
ldrb r3, [sp, #15] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
beq .L54
|
|
ldrb r3, [sp, #15] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
beq .L54
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L55
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC12
|
|
movt r0, #:upper16:.LC12
|
|
mov r1, r3
|
|
ldr r2, .L61
|
|
mov r3, #376
|
|
bl printk
|
|
.L55:
|
|
mov r3, #1
|
|
b .L56
|
|
.L54:
|
|
mov r3, #0
|
|
str r3, [sp, #20]
|
|
mov r3, #0
|
|
str r3, [sp, #16]
|
|
mov r0, #264
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #16]
|
|
ldr r3, [sp, #16]
|
|
bic r1, r3, #160
|
|
ldrb r2, [sp, #15] @ zero_extendqisi2
|
|
mov r3, r2
|
|
mov r3, r3, asl #2
|
|
add r3, r3, r2
|
|
mov r3, r3, asl #5
|
|
orr r3, r1, r3
|
|
str r3, [sp, #20]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L57
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #16]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC13
|
|
movt r0, #:upper16:.LC13
|
|
mov r1, r2
|
|
ldr r2, .L61
|
|
movw r3, #385
|
|
bl printk
|
|
.L57:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L58
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #20]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC14
|
|
movt r0, #:upper16:.LC14
|
|
mov r1, r2
|
|
ldr r2, .L61
|
|
movw r3, #386
|
|
bl printk
|
|
.L58:
|
|
mov r0, #264
|
|
movt r0, 49071
|
|
ldr r1, [sp, #20]
|
|
bl set_pon_phy_data
|
|
bl phy_los_status
|
|
mov r3, r0
|
|
cmp r3, #1
|
|
bne .L59
|
|
mov r0, #264
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #16]
|
|
ldr r3, [sp, #16]
|
|
orr r3, r3, #-2013265920
|
|
str r3, [sp, #20]
|
|
mov r0, #264
|
|
movt r0, 49071
|
|
ldr r1, [sp, #20]
|
|
bl set_pon_phy_data
|
|
movw r3, #:lower16:arm_delay_ops
|
|
movt r3, #:upper16:arm_delay_ops
|
|
ldr r3, [r3, #4]
|
|
movw r0, #26032
|
|
movt r0, 1638
|
|
blx r3
|
|
mov r0, #264
|
|
movt r0, 49071
|
|
ldr r1, [sp, #16]
|
|
bl set_pon_phy_data
|
|
.L59:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r2, [r3]
|
|
ldrb r3, [sp, #15] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
moveq r3, #1
|
|
movne r3, #0
|
|
uxtb r1, r3
|
|
ldrb r3, [r2, #112]
|
|
bfi r3, r1, #1, #1
|
|
strb r3, [r2, #112]
|
|
ldrb r3, [sp, #15] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L60
|
|
mov r0, #1
|
|
bl phy_tx_power_config
|
|
mov r0, #1
|
|
bl phy_trans_power_switch
|
|
.L60:
|
|
mov r3, #0
|
|
.L56:
|
|
mov r0, r3
|
|
add sp, sp, #28
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L62:
|
|
.align 2
|
|
.L61:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_burst_config, .-phy_tx_burst_config
|
|
.align 2
|
|
.global phy_tx_burst_getting
|
|
.type phy_tx_burst_getting, %function
|
|
phy_tx_burst_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, #264
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #4]
|
|
ldr r3, [sp, #4]
|
|
and r3, r3, #160
|
|
cmp r3, #0
|
|
bne .L64
|
|
mov r3, #0
|
|
b .L65
|
|
.L64:
|
|
mov r3, #1
|
|
.L65:
|
|
mov r0, r3
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.fnend
|
|
.size phy_tx_burst_getting, .-phy_tx_burst_getting
|
|
.align 2
|
|
.global phy_gpon_tx_power
|
|
.type phy_gpon_tx_power, %function
|
|
phy_gpon_tx_power:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 8
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
@ link register save eliminated.
|
|
.pad #8
|
|
sub sp, sp, #8
|
|
mov r3, r0
|
|
strh r3, [sp, #6] @ movhi
|
|
mov r3, #0
|
|
mov r0, r3
|
|
add sp, sp, #8
|
|
@ sp needed
|
|
bx lr
|
|
.fnend
|
|
.size phy_gpon_tx_power, .-phy_gpon_tx_power
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC15:
|
|
.ascii "[%lu0ms][%s:%d] error input : amp_level. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_amp_setting
|
|
.type phy_tx_amp_setting, %function
|
|
phy_tx_amp_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]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
and r3, r3, #240
|
|
cmp r3, #0
|
|
beq .L69
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L70
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC15
|
|
movt r0, #:upper16:.LC15
|
|
mov r1, r3
|
|
ldr r2, .L72
|
|
mov r3, #468
|
|
bl printk
|
|
.L70:
|
|
mov r3, #1
|
|
b .L71
|
|
.L69:
|
|
mov r3, #0
|
|
str r3, [sp, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
mov r0, #416
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #983040
|
|
ldrb r2, [sp, #7] @ zero_extendqisi2
|
|
mov r2, r2, asl #16
|
|
orr r3, r3, r2
|
|
str r3, [sp, #8]
|
|
mov r0, #416
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
.L71:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L73:
|
|
.align 2
|
|
.L72:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_amp_setting, .-phy_tx_amp_setting
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC16:
|
|
.ascii "[%lu0ms][%s:%d] error input : tx_sd_inv.\012\000"
|
|
.align 2
|
|
.LC17:
|
|
.ascii "[%lu0ms][%s:%d] error input : burst_en_inv.\012\000"
|
|
.align 2
|
|
.LC18:
|
|
.ascii "[%lu0ms][%s:%d] error input : tx_fault_inv.\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_trans_tx_setting
|
|
.type phy_trans_tx_setting, %function
|
|
phy_trans_tx_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, #312
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
beq .L75
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L76
|
|
.L75:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #16
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2] @ zero_extendqisi2
|
|
mov r2, r2, asl #4
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
b .L77
|
|
.L76:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L77
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC16
|
|
movt r0, #:upper16:.LC16
|
|
mov r1, r3
|
|
ldr r2, .L85
|
|
mov r3, #500
|
|
bl printk
|
|
.L77:
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #1] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
beq .L78
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #1] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L79
|
|
.L78:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #128
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #1] @ zero_extendqisi2
|
|
mov r2, r2, asl #7
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
b .L80
|
|
.L79:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L80
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC17
|
|
movt r0, #:upper16:.LC17
|
|
mov r1, r3
|
|
ldr r2, .L85
|
|
movw r3, #505
|
|
bl printk
|
|
.L80:
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #2] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
beq .L81
|
|
ldr r3, [sp, #4]
|
|
ldrb r3, [r3, #2] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L82
|
|
.L81:
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #32
|
|
ldr r2, [sp, #4]
|
|
ldrb r2, [r2, #2] @ zero_extendqisi2
|
|
mov r2, r2, asl #5
|
|
orr r3, r3, r2
|
|
str r3, [sp, #12]
|
|
b .L83
|
|
.L82:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L83
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC18
|
|
movt r0, #:upper16:.LC18
|
|
mov r1, r3
|
|
ldr r2, .L85
|
|
movw r3, #510
|
|
bl printk
|
|
.L83:
|
|
ldr r3, [sp, #12]
|
|
str r3, [sp, #8]
|
|
mov r0, #312
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
mov r3, #0
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L86:
|
|
.align 2
|
|
.L85:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_trans_tx_setting, .-phy_trans_tx_setting
|
|
.align 2
|
|
.global phy_trans_tx_getting
|
|
.type phy_trans_tx_getting, %function
|
|
phy_trans_tx_getting:
|
|
.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 r0, #312
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L88
|
|
ldr r3, [sp, #4]
|
|
mov r2, #1
|
|
strb r2, [r3]
|
|
b .L89
|
|
.L88:
|
|
ldr r3, [sp, #4]
|
|
mov r2, #0
|
|
strb r2, [r3]
|
|
.L89:
|
|
ldr r3, [sp, #12]
|
|
and r3, r3, #128
|
|
cmp r3, #0
|
|
beq .L90
|
|
ldr r3, [sp, #4]
|
|
mov r2, #1
|
|
strb r2, [r3, #1]
|
|
b .L91
|
|
.L90:
|
|
ldr r3, [sp, #4]
|
|
mov r2, #0
|
|
strb r2, [r3, #1]
|
|
.L91:
|
|
ldr r3, [sp, #12]
|
|
and r3, r3, #32
|
|
cmp r3, #0
|
|
beq .L92
|
|
ldr r3, [sp, #4]
|
|
mov r2, #1
|
|
strb r2, [r3, #2]
|
|
b .L87
|
|
.L92:
|
|
ldr r3, [sp, #4]
|
|
mov r2, #0
|
|
strb r2, [r3, #2]
|
|
.L87:
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.fnend
|
|
.size phy_trans_tx_getting, .-phy_trans_tx_getting
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC19:
|
|
.ascii "[%lu0ms][%s:%d] Tx power is below low alarm. \012\000"
|
|
.align 2
|
|
.LC20:
|
|
.ascii "[%lu0ms][%s:%d] Tx power exceeds high alarm. \012\000"
|
|
.align 2
|
|
.LC21:
|
|
.ascii "[%lu0ms][%s:%d] Bias Current is below low alarm. \012"
|
|
.ascii "\000"
|
|
.align 2
|
|
.LC22:
|
|
.ascii "[%lu0ms][%s:%d] Bias Current exceeds high alarm. \012"
|
|
.ascii "\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_alarm
|
|
.type phy_tx_alarm, %function
|
|
phy_tx_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, #112
|
|
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, #1
|
|
cmp r3, #0
|
|
beq .L95
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L96
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC19
|
|
movt r0, #:upper16:.LC19
|
|
mov r1, r3
|
|
ldr r2, .L104
|
|
movw r3, #577
|
|
bl printk
|
|
.L96:
|
|
ldr r3, [sp, #28]
|
|
orr r3, r3, #2
|
|
str r3, [sp, #28]
|
|
.L95:
|
|
ldr r3, [sp, #24]
|
|
and r3, r3, #2
|
|
cmp r3, #0
|
|
beq .L97
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L98
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC20
|
|
movt r0, #:upper16:.LC20
|
|
mov r1, r3
|
|
ldr r2, .L104
|
|
movw r3, #583
|
|
bl printk
|
|
.L98:
|
|
ldr r3, [sp, #28]
|
|
orr r3, r3, #1
|
|
str r3, [sp, #28]
|
|
.L97:
|
|
ldr r3, [sp, #24]
|
|
and r3, r3, #4
|
|
cmp r3, #0
|
|
beq .L99
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L100
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC21
|
|
movt r0, #:upper16:.LC21
|
|
mov r1, r3
|
|
ldr r2, .L104
|
|
movw r3, #589
|
|
bl printk
|
|
.L100:
|
|
ldr r3, [sp, #28]
|
|
orr r3, r3, #8
|
|
str r3, [sp, #28]
|
|
.L99:
|
|
ldr r3, [sp, #24]
|
|
and r3, r3, #8
|
|
cmp r3, #0
|
|
beq .L101
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L102
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC22
|
|
movt r0, #:upper16:.LC22
|
|
mov r1, r3
|
|
ldr r2, .L104
|
|
movw r3, #595
|
|
bl printk
|
|
.L102:
|
|
ldr r3, [sp, #28]
|
|
orr r3, r3, #4
|
|
str r3, [sp, #28]
|
|
.L101:
|
|
ldr r3, [sp, #28]
|
|
mov r0, r3
|
|
add sp, sp, #36
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L105:
|
|
.align 2
|
|
.L104:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_alarm, .-phy_tx_alarm
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC23:
|
|
.ascii "[%lu0ms][%s:%d] Phy Tx Frame Counter : %.8x\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_frame_counter
|
|
.type phy_tx_frame_counter, %function
|
|
phy_tx_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
|
|
mov r3, #0
|
|
str r3, [sp, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
movw r0, #1060
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
orr r3, r3, #8
|
|
str r3, [sp, #8]
|
|
movw r0, #1060
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
movw r0, #1076
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [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 .L107
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC23
|
|
movt r0, #:upper16:.LC23
|
|
mov r1, r2
|
|
ldr r2, .L109
|
|
movw r3, #622
|
|
bl printk
|
|
.L107:
|
|
ldr r3, [sp, #12]
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L110:
|
|
.align 2
|
|
.L109:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_frame_counter, .-phy_tx_frame_counter
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC24:
|
|
.ascii "[%lu0ms][%s:%d] Phy Tx Burst Counter : %.8x\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_burst_counter
|
|
.type phy_tx_burst_counter, %function
|
|
phy_tx_burst_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 r3, #0
|
|
str r3, [sp, #8]
|
|
movw r0, #1060
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
orr r3, r3, #8
|
|
str r3, [sp, #8]
|
|
movw r0, #1060
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
movw r0, #1080
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [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 .L112
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r2, [r3]
|
|
ldr r3, [sp, #12]
|
|
str r3, [sp]
|
|
movw r0, #:lower16:.LC24
|
|
movt r0, #:upper16:.LC24
|
|
mov r1, r2
|
|
ldr r2, .L114
|
|
mov r3, #648
|
|
bl printk
|
|
.L112:
|
|
mov r3, #0
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L115:
|
|
.align 2
|
|
.L114:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_burst_counter, .-phy_tx_burst_counter
|
|
.align 2
|
|
.global phy_tx_test_pattern
|
|
.type phy_tx_test_pattern, %function
|
|
phy_tx_test_pattern:
|
|
.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]
|
|
ldr r3, [sp, #4]
|
|
cmp r3, #12
|
|
ldrls pc, [pc, r3, asl #2]
|
|
b .L117
|
|
.L119:
|
|
.word .L118
|
|
.word .L120
|
|
.word .L120
|
|
.word .L120
|
|
.word .L120
|
|
.word .L121
|
|
.word .L121
|
|
.word .L121
|
|
.word .L117
|
|
.word .L120
|
|
.word .L120
|
|
.word .L122
|
|
.word .L123
|
|
.L118:
|
|
movw r0, #1188
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r0, #1184
|
|
movt r0, 49071
|
|
ldr r1, [sp, #4]
|
|
bl set_pon_phy_data
|
|
b .L116
|
|
.L120:
|
|
movw r0, #1188
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r0, #1184
|
|
movt r0, 49071
|
|
ldr r1, [sp, #4]
|
|
bl set_pon_phy_data
|
|
b .L116
|
|
.L121:
|
|
mov r0, #1184
|
|
movt r0, 49071
|
|
ldr r1, [sp, #4]
|
|
bl set_pon_phy_data
|
|
movw r0, #1188
|
|
movt r0, 49071
|
|
mov r1, #1
|
|
bl set_pon_phy_data
|
|
b .L116
|
|
.L122:
|
|
mov r0, #1312
|
|
movt r0, 49071
|
|
mov r1, #2
|
|
bl set_pon_phy_data
|
|
mov r0, #1296
|
|
movt r0, 49071
|
|
mov r1, #1
|
|
bl set_pon_phy_data
|
|
b .L116
|
|
.L123:
|
|
movw r0, #1188
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r0, #1184
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r0, #1312
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r0, #1296
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
movw r0, #1068
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
bic r3, r3, #2
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
orr r3, r3, #2
|
|
str r3, [sp, #8]
|
|
movw r0, #1068
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
movw r0, #1068
|
|
movt r0, 49071
|
|
ldr r1, [sp, #12]
|
|
bl set_pon_phy_data
|
|
b .L116
|
|
.L117:
|
|
movw r0, #1188
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r0, #1184
|
|
movt r0, 49071
|
|
mov r1, #0
|
|
bl set_pon_phy_data
|
|
mov r0, r0 @ nop
|
|
.L116:
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.fnend
|
|
.size phy_tx_test_pattern, .-phy_tx_test_pattern
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC25:
|
|
.ascii "NOT support!\015\012\000"
|
|
.align 2
|
|
.LC26:
|
|
.ascii "[%lu0ms][%s:%d] PRBS 7!\012\000"
|
|
.align 2
|
|
.LC27:
|
|
.ascii "[%lu0ms][%s:%d] PRBS 23!\012\000"
|
|
.align 2
|
|
.LC28:
|
|
.ascii "[%lu0ms][%s:%d] PRBS 31!\012\000"
|
|
.align 2
|
|
.LC29:
|
|
.ascii "[%lu0ms][%s:%d] NORMAL MODE!\012\000"
|
|
.align 2
|
|
.LC30:
|
|
.ascii "[%lu0ms][%s:%d] PRBS +DATA !\012\000"
|
|
.align 2
|
|
.LC31:
|
|
.ascii "[%lu0ms][%s:%d] TX OFF!\012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_Mode
|
|
.type phy_tx_Mode, %function
|
|
phy_tx_Mode:
|
|
.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]
|
|
ldr r3, [sp, #4]
|
|
cmp r3, #1
|
|
bne .L126
|
|
movw r0, #:lower16:.LC25
|
|
movt r0, #:upper16:.LC25
|
|
bl printk
|
|
mov r3, #1
|
|
b .L127
|
|
.L126:
|
|
ldr r3, [sp, #4]
|
|
cmp r3, #6
|
|
bhi .L128
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldr r2, [sp, #4]
|
|
str r2, [r3, #216]
|
|
ldr r3, [sp, #4]
|
|
cmp r3, #6
|
|
ldrls pc, [pc, r3, asl #2]
|
|
b .L130
|
|
.L132:
|
|
.word .L131
|
|
.word .L130
|
|
.word .L133
|
|
.word .L134
|
|
.word .L135
|
|
.word .L136
|
|
.word .L137
|
|
.L128:
|
|
mov r3, #1
|
|
b .L127
|
|
.L131:
|
|
mov r0, #1
|
|
bl phy_ben_switch
|
|
mov r0, #1
|
|
bl phy_trans_power_switch
|
|
mov r0, #5
|
|
bl phy_tx_test_pattern
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L138
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC26
|
|
movt r0, #:upper16:.LC26
|
|
mov r1, r3
|
|
ldr r2, .L145
|
|
movw r3, #738
|
|
bl printk
|
|
b .L130
|
|
.L138:
|
|
b .L130
|
|
.L133:
|
|
mov r0, #1
|
|
bl phy_ben_switch
|
|
mov r0, #1
|
|
bl phy_trans_power_switch
|
|
mov r0, #6
|
|
bl phy_tx_test_pattern
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L139
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC27
|
|
movt r0, #:upper16:.LC27
|
|
mov r1, r3
|
|
ldr r2, .L145
|
|
mov r3, #744
|
|
bl printk
|
|
b .L130
|
|
.L139:
|
|
b .L130
|
|
.L134:
|
|
mov r0, #1
|
|
bl phy_ben_switch
|
|
mov r0, #1
|
|
bl phy_trans_power_switch
|
|
mov r0, #7
|
|
bl phy_tx_test_pattern
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L140
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC28
|
|
movt r0, #:upper16:.LC28
|
|
mov r1, r3
|
|
ldr r2, .L145
|
|
movw r3, #750
|
|
bl printk
|
|
b .L130
|
|
.L140:
|
|
b .L130
|
|
.L135:
|
|
mov r0, #0
|
|
bl phy_ben_switch
|
|
mov r0, #1
|
|
bl phy_trans_power_switch
|
|
mov r0, #0
|
|
bl phy_tx_test_pattern
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L141
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC29
|
|
movt r0, #:upper16:.LC29
|
|
mov r1, r3
|
|
ldr r2, .L145
|
|
mov r3, #756
|
|
bl printk
|
|
b .L130
|
|
.L141:
|
|
b .L130
|
|
.L136:
|
|
mov r0, #1
|
|
bl phy_ben_switch
|
|
mov r0, #1
|
|
bl phy_trans_power_switch
|
|
mov r0, #0
|
|
bl phy_tx_test_pattern
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L142
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC30
|
|
movt r0, #:upper16:.LC30
|
|
mov r1, r3
|
|
ldr r2, .L145
|
|
movw r3, #762
|
|
bl printk
|
|
b .L130
|
|
.L142:
|
|
b .L130
|
|
.L137:
|
|
mov r0, #0
|
|
bl phy_ben_switch
|
|
mov r0, #0
|
|
bl phy_trans_power_switch
|
|
mov r0, #0
|
|
bl phy_tx_test_pattern
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L143
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC31
|
|
movt r0, #:upper16:.LC31
|
|
mov r1, r3
|
|
ldr r2, .L145
|
|
mov r3, #768
|
|
bl printk
|
|
b .L144
|
|
.L143:
|
|
.L144:
|
|
mov r0, r0 @ nop
|
|
.L130:
|
|
mov r3, #0
|
|
.L127:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L146:
|
|
.align 2
|
|
.L145:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_Mode, .-phy_tx_Mode
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC32:
|
|
.ascii "[%lu0ms][%s:%d] error input : byte dly. \012\000"
|
|
.align 2
|
|
.LC33:
|
|
.ascii "[%lu0ms][%s:%d] Byte delay manual enable setting su"
|
|
.ascii "ccess. \012\000"
|
|
.align 2
|
|
.LC34:
|
|
.ascii "[%lu0ms][%s:%d] Byte delay manual disable setting s"
|
|
.ascii "uccess. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_byte_delay_manual
|
|
.type phy_byte_delay_manual, %function
|
|
phy_byte_delay_manual:
|
|
.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
|
|
mov r2, r1
|
|
strb r3, [sp, #7]
|
|
mov r3, r2
|
|
strb r3, [sp, #6]
|
|
mov r3, #0
|
|
str r3, [sp, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
bne .L148
|
|
ldrb r3, [sp, #6] @ zero_extendqisi2
|
|
and r3, r3, #252
|
|
cmp r3, #0
|
|
beq .L149
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L150
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC32
|
|
movt r0, #:upper16:.LC32
|
|
mov r1, r3
|
|
ldr r2, .L155
|
|
movw r3, #847
|
|
bl printk
|
|
.L150:
|
|
mov r3, #1
|
|
b .L151
|
|
.L149:
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #112
|
|
ldrb r2, [sp, #6] @ zero_extendqisi2
|
|
mov r2, r2, asl #5
|
|
orr r3, r3, r2
|
|
orr r3, r3, #16
|
|
str r3, [sp, #8]
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
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 .L152
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC33
|
|
movt r0, #:upper16:.LC33
|
|
mov r1, r3
|
|
ldr r2, .L155
|
|
movw r3, #853
|
|
bl printk
|
|
.L152:
|
|
mov r3, #0
|
|
b .L151
|
|
.L148:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L153
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #112
|
|
str r3, [sp, #8]
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
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 .L154
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC34
|
|
movt r0, #:upper16:.LC34
|
|
mov r1, r3
|
|
ldr r2, .L155
|
|
movw r3, #861
|
|
bl printk
|
|
.L154:
|
|
mov r3, #0
|
|
b .L151
|
|
.L153:
|
|
mov r3, #1
|
|
.L151:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L156:
|
|
.align 2
|
|
.L155:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_byte_delay_manual, .-phy_byte_delay_manual
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC35:
|
|
.ascii "[%lu0ms][%s:%d] Tx FEC manual enable setting succes"
|
|
.ascii "s. \012\000"
|
|
.align 2
|
|
.LC36:
|
|
.ascii "[%lu0ms][%s:%d] Tx FEC manual disable setting succe"
|
|
.ascii "ss. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_fec_manual
|
|
.type phy_tx_fec_manual, %function
|
|
phy_tx_fec_manual:
|
|
.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, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
bne .L158
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
orr r3, r3, #12
|
|
str r3, [sp, #8]
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
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 .L159
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC35
|
|
movt r0, #:upper16:.LC35
|
|
mov r1, r3
|
|
ldr r2, .L163
|
|
movw r3, #887
|
|
bl printk
|
|
.L159:
|
|
mov r3, #0
|
|
b .L160
|
|
.L158:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L161
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #12
|
|
str r3, [sp, #8]
|
|
mov r0, #1072
|
|
movt r0, 49071
|
|
ldr r1, [sp, #8]
|
|
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 .L162
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC36
|
|
movt r0, #:upper16:.LC36
|
|
mov r1, r3
|
|
ldr r2, .L163
|
|
movw r3, #895
|
|
bl printk
|
|
.L162:
|
|
mov r3, #0
|
|
b .L160
|
|
.L161:
|
|
mov r3, #1
|
|
.L160:
|
|
mov r0, r3
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L164:
|
|
.align 2
|
|
.L163:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_fec_manual, .-phy_tx_fec_manual
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC37:
|
|
.ascii "[%lu0ms][%s:%d] PHY Tx ctl type error. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_tx_ctl
|
|
.type phy_tx_ctl, %function
|
|
phy_tx_ctl:
|
|
.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 .L166
|
|
mov r0, #42
|
|
bl ledTurnOff
|
|
b .L165
|
|
.L166:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L168
|
|
mov r0, #42
|
|
bl ledTurnOn
|
|
b .L165
|
|
.L168:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #1
|
|
cmp r3, #0
|
|
beq .L165
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC37
|
|
movt r0, #:upper16:.LC37
|
|
mov r1, r3
|
|
ldr r2, .L169
|
|
movw r3, #909
|
|
bl printk
|
|
.L165:
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L170:
|
|
.align 2
|
|
.L169:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_tx_ctl, .-phy_tx_ctl
|
|
.align 2
|
|
.global mt7570_safe_circuit_reset_for_work_queue
|
|
.type mt7570_safe_circuit_reset_for_work_queue, %function
|
|
mt7570_safe_circuit_reset_for_work_queue:
|
|
.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
|
|
str r0, [sp, #4]
|
|
bl mt7570_safe_circuit_reset
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.fnend
|
|
.size mt7570_safe_circuit_reset_for_work_queue, .-mt7570_safe_circuit_reset_for_work_queue
|
|
.align 2
|
|
.global en7571_safe_circuit_reset_for_work_queue
|
|
.type en7571_safe_circuit_reset_for_work_queue, %function
|
|
en7571_safe_circuit_reset_for_work_queue:
|
|
.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
|
|
str r0, [sp, #4]
|
|
bl en7571_safe_circuit_reset
|
|
add sp, sp, #12
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.fnend
|
|
.size en7571_safe_circuit_reset_for_work_queue, .-en7571_safe_circuit_reset_for_work_queue
|
|
.global work_mt7570_safe_circuit_reset
|
|
.data
|
|
.align 2
|
|
.type work_mt7570_safe_circuit_reset, %object
|
|
.size work_mt7570_safe_circuit_reset, 16
|
|
work_mt7570_safe_circuit_reset:
|
|
.word -32
|
|
.word work_mt7570_safe_circuit_reset+4
|
|
.word work_mt7570_safe_circuit_reset+4
|
|
.word mt7570_safe_circuit_reset_for_work_queue
|
|
.global work_mt7571_safe_circuit_reset
|
|
.align 2
|
|
.type work_mt7571_safe_circuit_reset, %object
|
|
.size work_mt7571_safe_circuit_reset, 16
|
|
work_mt7571_safe_circuit_reset:
|
|
.word -32
|
|
.word work_mt7571_safe_circuit_reset+4
|
|
.word work_mt7571_safe_circuit_reset+4
|
|
.word en7571_safe_circuit_reset_for_work_queue
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC38:
|
|
.ascii "[%lu0ms][%s:%d] 7523 TX OFF BEN Normal \012\000"
|
|
.align 2
|
|
.LC39:
|
|
.ascii "[%lu0ms][%s:%d] 7523 TX ON BEN ON\012\000"
|
|
.align 2
|
|
.LC40:
|
|
.ascii "[%lu0ms][%s:%d] setting BEN fail. \012\000"
|
|
.text
|
|
.align 2
|
|
.global phy_ben_switch
|
|
.type phy_ben_switch, %function
|
|
phy_ben_switch:
|
|
.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, #12]
|
|
mov r3, #0
|
|
str r3, [sp, #8]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L174
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L175
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC38
|
|
movt r0, #:upper16:.LC38
|
|
mov r1, r3
|
|
ldr r2, .L179
|
|
movw r3, #935
|
|
bl printk
|
|
.L175:
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #-268435456
|
|
orr r3, r3, #268435456
|
|
str r3, [sp, #8]
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
ldr r3, [sp, #12]
|
|
bic r3, r3, #-268435456
|
|
str r3, [sp, #8]
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
b .L173
|
|
.L174:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
bne .L177
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L178
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC39
|
|
movt r0, #:upper16:.LC39
|
|
mov r1, r3
|
|
ldr r2, .L179
|
|
movw r3, #947
|
|
bl printk
|
|
.L178:
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
bl get_pon_phy_data
|
|
mov r3, r0
|
|
str r3, [sp, #12]
|
|
ldr r3, [sp, #12]
|
|
orr r3, r3, #805306368
|
|
str r3, [sp, #8]
|
|
movw r0, #16964
|
|
movt r0, 8111
|
|
ldr r1, [sp, #8]
|
|
bl set_pon_phy_data
|
|
b .L173
|
|
.L177:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L173
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC40
|
|
movt r0, #:upper16:.LC40
|
|
mov r1, r3
|
|
ldr r2, .L179
|
|
mov r3, #956
|
|
bl printk
|
|
.L173:
|
|
add sp, sp, #20
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L180:
|
|
.align 2
|
|
.L179:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_ben_switch, .-phy_ben_switch
|
|
.section .rodata.str1.4
|
|
.align 2
|
|
.LC41:
|
|
.ascii "[%lu0ms][%s:%d] turn off transceiver power success!"
|
|
.ascii " \012\000"
|
|
.align 2
|
|
.LC42:
|
|
.ascii "[%lu0ms][%s:%d] turn on transceiver power success! "
|
|
.ascii "\012\000"
|
|
.align 2
|
|
.LC43:
|
|
.ascii "[%lu0ms][%s:%d] setting transceiver power fail. \012"
|
|
.ascii "\000"
|
|
.text
|
|
.align 2
|
|
.global phy_trans_power_switch
|
|
.type phy_trans_power_switch, %function
|
|
phy_trans_power_switch:
|
|
.fnstart
|
|
@ args = 0, pretend = 0, frame = 32
|
|
@ frame_needed = 0, uses_anonymous_args = 0
|
|
str lr, [sp, #-4]!
|
|
.save {lr}
|
|
.pad #36
|
|
sub sp, sp, #36
|
|
mov r3, r0
|
|
strb r3, [sp, #7]
|
|
mov r3, #0
|
|
str r3, [sp, #28]
|
|
mov r3, #0
|
|
str r3, [sp, #24]
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrb r2, [sp, #7] @ zero_extendqisi2
|
|
str r2, [r3, #212]
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #0
|
|
bne .L182
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldr r3, [r3, #220]
|
|
cmp r3, #0
|
|
beq .L183
|
|
mov r0, #0
|
|
bl pon_phy_rogueonu_int_en
|
|
.L183:
|
|
mov r0, #0
|
|
bl phy_tx_ctl
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L184
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC41
|
|
movt r0, #:upper16:.LC41
|
|
mov r1, r3
|
|
ldr r2, .L195
|
|
movw r3, #995
|
|
bl printk
|
|
.L184:
|
|
mov r3, #0
|
|
b .L185
|
|
.L182:
|
|
ldrb r3, [sp, #7] @ zero_extendqisi2
|
|
cmp r3, #1
|
|
bne .L186
|
|
movw r3, #:lower16:g_tx_ctl
|
|
movt r3, #:upper16:g_tx_ctl
|
|
ldr r3, [r3]
|
|
cmp r3, #0
|
|
bne .L187
|
|
mov r3, #0
|
|
b .L185
|
|
.L187:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldr r3, [r3, #220]
|
|
cmp r3, #0
|
|
beq .L188
|
|
mov r0, #1
|
|
bl pon_phy_rogueonu_int_en
|
|
.L188:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrb r3, [r3, #112] @ zero_extendqisi2
|
|
and r3, r3, #1
|
|
uxtb r3, r3
|
|
cmp r3, #0
|
|
beq .L189
|
|
mov r0, #1
|
|
bl phy_tx_ctl
|
|
movw r3, #:lower16:mt7570_select
|
|
movt r3, #:upper16:mt7570_select
|
|
ldr r3, [r3]
|
|
cmp r3, #1
|
|
bne .L190
|
|
movw r3, #:lower16:i2c_access_queue
|
|
movt r3, #:upper16:i2c_access_queue
|
|
ldr r3, [r3]
|
|
cmp r3, #0
|
|
beq .L190
|
|
movw r3, #:lower16:i2c_access_queue
|
|
movt r3, #:upper16:i2c_access_queue
|
|
ldr r3, [r3]
|
|
str r3, [sp, #20]
|
|
movw r3, #:lower16:work_mt7570_safe_circuit_reset
|
|
movt r3, #:upper16:work_mt7570_safe_circuit_reset
|
|
str r3, [sp, #16]
|
|
mov r0, #2
|
|
ldr r1, [sp, #20]
|
|
ldr r2, [sp, #16]
|
|
bl queue_work_on
|
|
.L190:
|
|
movw r3, #:lower16:en7571_select
|
|
movt r3, #:upper16:en7571_select
|
|
ldr r3, [r3]
|
|
cmp r3, #1
|
|
bne .L192
|
|
movw r3, #:lower16:i2c_access_queue
|
|
movt r3, #:upper16:i2c_access_queue
|
|
ldr r3, [r3]
|
|
cmp r3, #0
|
|
beq .L192
|
|
movw r3, #:lower16:i2c_access_queue
|
|
movt r3, #:upper16:i2c_access_queue
|
|
ldr r3, [r3]
|
|
str r3, [sp, #12]
|
|
movw r3, #:lower16:work_mt7571_safe_circuit_reset
|
|
movt r3, #:upper16:work_mt7571_safe_circuit_reset
|
|
str r3, [sp, #8]
|
|
mov r0, #2
|
|
ldr r1, [sp, #12]
|
|
ldr r2, [sp, #8]
|
|
bl queue_work_on
|
|
.L192:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L189
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC42
|
|
movt r0, #:upper16:.LC42
|
|
mov r1, r3
|
|
ldr r2, .L195
|
|
movw r3, #1023
|
|
bl printk
|
|
.L189:
|
|
mov r3, #0
|
|
b .L185
|
|
.L186:
|
|
movw r3, #:lower16:gpPhyPriv
|
|
movt r3, #:upper16:gpPhyPriv
|
|
ldr r3, [r3]
|
|
ldrh r3, [r3, #116]
|
|
and r3, r3, #16
|
|
cmp r3, #0
|
|
beq .L194
|
|
movw r3, #:lower16:jiffies
|
|
movt r3, #:upper16:jiffies
|
|
ldr r3, [r3]
|
|
movw r0, #:lower16:.LC43
|
|
movt r0, #:upper16:.LC43
|
|
mov r1, r3
|
|
ldr r2, .L195
|
|
movw r3, #1029
|
|
bl printk
|
|
.L194:
|
|
mov r3, #1
|
|
.L185:
|
|
mov r0, r3
|
|
add sp, sp, #36
|
|
@ sp needed
|
|
ldr pc, [sp], #4
|
|
.L196:
|
|
.align 2
|
|
.L195:
|
|
.word .LC1+61
|
|
.fnend
|
|
.size phy_trans_power_switch, .-phy_trans_power_switch
|
|
.ident "GCC: (Buildroot 2015.08.1-gd814875) 4.9.3"
|
|
.section .note.GNU-stack,"",%progbits
|