Hardware-I2C verwendet die Pins 25 und 26 und der uC übernimmt das Takten und die Datenausgabe. Software-I2C emuliert per Software ein I2C-Interface und es kann fast jeder PortPin verwendet werden.
Ich weiss nicht wie dein Treiber arbeitet, aber evtl. mußt du DDR vom SCL manuell setzen?
Schon mal direkt am Controller getestet?