- compatible: Should be "smsc,usb3503".
 - reg: Specifies the i2c slave address, it should be 0x08.
 - connect-gpios: Should specify GPIO for connect.
+- disabled-ports: Should specify the ports unused.
+       '1' or '2' or '3' are availe for this property to describe the port
+       number. 1~3 property values are possible to be desribed.
+       Do not describe this property if all ports have to be enabled.
 - intn-gpios: Should specify GPIO for interrupt.
 - reset-gpios: Should specify GPIO for reset.
 - initial-mode: Should specify initial mode.
                compatible = "smsc,usb3503";
                reg = <0x08>;
                connect-gpios = <&gpx3 0 1>;
+               disabled-ports = <2 3>;
                intn-gpios = <&gpx3 4 1>;
                reset-gpios = <&gpx3 5 1>;
                initial-mode = <1>;
 
        struct usb3503 *hub;
        int err = -ENOMEM;
        u32 mode = USB3503_MODE_UNKNOWN;
+       const u32 *property;
+       int len;
 
        hub = kzalloc(sizeof(struct usb3503), GFP_KERNEL);
        if (!hub) {
                hub->gpio_reset         = pdata->gpio_reset;
                hub->mode               = pdata->initial_mode;
        } else if (np) {
+               hub->port_off_mask = 0;
+
+               property = of_get_property(np, "disabled-ports", &len);
+               if (property && (len / sizeof(u32)) > 0) {
+                       int i;
+                       for (i = 0; i < len / sizeof(u32); i++) {
+                               u32 port = be32_to_cpu(property[i]);
+                               if ((1 <= port) && (port <= 3))
+                                       hub->port_off_mask |= (1 << port);
+                       }
+               }
+
                hub->gpio_intn  = of_get_named_gpio(np, "connect-gpios", 0);
                if (hub->gpio_intn == -EPROBE_DEFER)
                        return -EPROBE_DEFER;