hi,
my suggestion is to use your callmanager to change the firmware of your IP Phone. for call manager 4.x, copy the sip firmware into c:\program files\cisco\tftppath. for callmanager 5 and up, upload it using the tftp upload function.
once uploaded, register the 7940 to the callmanager. then, go to the phone configuration and paste sip version name in the "phone loads" text field. then click update and reset. do not power cycle the ip phone while in the progress of uploading of the firmware.
to revert to sccp, perform factory reset. be sure that u configured your dhcp pointing the tftp to callmager.