Tried ping and telnet sample codes on both board and both worked.
Minor difference where the RCM3315 sends Gratuitous ARP on init making sure PC registers.
Back to custom code where I stripped everything and last thing stripped was IO init with WrPortI function and clock doubler for some reason.
The whole section breaks the ARP requests and responses.
Please see below. I will try to isolate the ports tomorrow. Any ideas?
WrPortI (GCDR, &GCDRShadow, 0x07); // set clock doubler
WrPortI (GOCR, &GOCRShadow, 0x2A); // disable PCLK out
WrPortI(IB0CR, NULL, 0x08); //allow external WR~ signal
//WrPortI(GOCR,NULL,0x00); //enable bufen
WrPortI (PFFR, &PFFRShadow, 0x80); //set PF7 to PWM output
WrPortI (PFDDR, &PFDDRShadow, 0xFF); // parallel Port F = Outputs
WrPortI (PFDR, &PFDRShadow, 0xFF); // parallel Port F = Outputs
//set up port I/O
//port A is bi-directional and can be read or written to
WrPortI (SPCR, &SPCRShadow, 0x8C); //port A is aux data bus
//port B is part of aux address bus;
WrPortI (PBDDR, &PBDRShadow, 0x3F); //all outputs
WrPortI (PBDR, &PBDRShadow, 0x00);
//port C are the 4 UARTs
WrPortI (PCFR, &PCFRShadow, 0x55); //drive all duart TX outputs
//port D is bi-directional and can be read or written to
WrPortI (PDDCR, &PDDCRShadow, 0x00);
WrPortI (PDDDR, &PDDDRShadow, 0xEF); //PD4 input
WrPortI (PDDR, &PDDRShadow, 0x03); //set PD7 - PD2 low
//PWM setup
WrPortI (PWM3R, &PWM3RShadow, 0x88); //8 MSB's of 10-bit PWM word
WrPortI (PWL3R, &PWL3RShadow, 0x01); //bits 7 & 6 are LSBs of 10-bit, bit 0 is spread bit
//port E is bi-directional and can be read or written to
WrPortI (PEDDR, &PEDDRShadow, 0xC1); //0b11000001
WrPortI (PEDR, &PEDRShadow, 0x01);
//port G is bi-directional and can be read or written to
WrPortI (PGFR, &PGDRShadow, 0x00);
WrPortI (PGDDR, &PGDDRShadow, 0x07); //0b00000111
WrPortI (PGDR, &PGDRShadow, 0x00);