The TetraHub is a fixed function part. It is not a programmable part. It does not require any code to be loaded in it as it is a fixed function hub device. The part can be configured (VID/PID/DID, number of ports available, number of removable versus non-removable ports, etc) using an external SPI EEPROM. Please refer to Configuration Options section of the TetraHub datasheet for further information on using an EEPROM to configure the part. As far as the host end is concerned, the driver to support the hub functionality is included in the OS. Hence you do not need to develop your own driver as it uses the hub class driver included with the OS.